ffmpeg 오류: -vf/-af/-filter와 -filter_complex를 함께 사용할 수 없습니다.

ffmpeg 오류: -vf/-af/-filter와 -filter_complex를 함께 사용할 수 없습니다.

비디오에 워터마크를 추가하고 확대해야 하는 다음 cmd를 실행하려고 합니다.

ffmpeg -i "in.avi" -i "\logo.png" -vf scale=854:-1  -preset 
veryfast -crf 20 -filter_complex overlay=5:5 "ou.mkv"

다음 오류가 발생합니다.

Filtergraph 'scale=854:-1' was specified through the 
-vf/-af/-filter option for output stream 0:0, which is fed from 
a complex filtergraph. -vf/-af/-filter and -filter_complex 
cannot be used together for the same stream.

-vf scale=854:-1 없이 확장을 시도하기 전에 cmd가 워터마크를 적용했습니다.

어떻게 하면 두 가지를 모두 달성할 수 있나요?

내가 시도한 것은 무엇입니까?

  • -vf 매개변수를 입력 전, 입력 후 등으로 이동합니다.

답변1

당신은 하나를 사용할 수 있습니다필터그래프모든 필터링을 수행하려면 다음을 수행하십시오.

ffmpeg -i input.avi -i logo.png -filter_complex \
"[0:v]scale=854:-2[scaled]; \
 [scaled][1:v]overlay=5:5[out]" \
-map "[out]" -map 0:a -c:v libx264 -c:a copy output.mkv
  • [0:v]input.avi첫 번째 입력( 이 예에서는) 의 비디오 스트림을 나타냅니다 . [1:v]는 두 번째 입력의 비디오입니다( logo.png이 예에서는).

  • 오디오는스팀 복사됨이 예에서는 다시 인코딩되는 대신; 첫 번째 입력에 오디오가 있다고 가정합니다.

  • 모범 사례는 부적절한 스트림 선택이 발생할 수 있는 기본값에 의존하는 대신 이 예와 같이 필터 입력 및 출력의 이름을 수동으로 지정하는 것입니다.

  • -2에서스케일 비디오 필터-1x264에서는 4:2:0 크로마 서브샘플링으로 출력할 때 출력을 2로 나눌 수 있어야 하기 때문에 대신 사용됩니다 .

값 중 하나가 -n이고 n > 1인 경우 스케일 필터는 지정된 다른 차원에서 계산된 입력 이미지의 종횡비를 유지하는 값도 사용합니다. 그러나 그 후에는 계산된 차원이 n으로 나누어지는지 확인하고 필요한 경우 값을 조정합니다.

관련 정보