2017-05-17 9 views
0

비디오에 여는/닫는 크레딧을 추가하는 복잡한 필터가있는 간단한 ffmpeg 명령을 만들었습니다. 동일한 프로세스에서 비디오의 크기가 조정되고 다시 인코딩됩니다. 이것은 내가 테스트 한 모든 플레이어에서 잘 작동합니다.FFmpeg : -filter_complex를 생략하면 일부 플레이어에서 비디오가 누락됩니다.

-filter_complex arg 및 image 입력을 생략하면 결과 파일이 VLC에서 예상대로 재생되지만 Windows Media Player에서는 오디오 만 (비디오 없음) 있습니다.

표준 Windows 배치 파일을 사용하여 Windows 10에서 모두 수행됩니다.

여기에 어떤 일이 벌어지고 있는지 알 수 있습니다. 내 ffmpeg foo는 매우 제한적입니다.

ffmpeg.exe^
-i "..\videos\film.mov"^
-y^
-codec:a aac^
-s:v 1280x720^
-codec:v libx264 -preset slower -tune animation -crf 22 ..\videos\film.mov.m4v" 

ffmpeg.exe^
-i "..\videos\film.mov"^
-i OpeningCredits.de.png -i ClosingCredits.de.png^
-filter_complex "[0:v][1:v] overlay=0:0:enable='between(t,0,3.5)',drawtext=enable='between(t,0,3.5)':fontfile=fonts/Roboto-Bold.ttf:text=Test:fontcolor=white:fontsize=104:x=(w-text_w)/2:y=(h-text_h)/2+45,drawtext=enable='between(t,0,3.5)':fontfile=fonts/Roboto-Bold.ttf:text=:fontcolor=white:fontsize=104:x=(w-text_w)/2:y=(h-text_h)/2+45+text_h+20 [tmp]; [tmp][2:v] overlay=0:0:enable='between(t,39-5.2,39)'"^
-y^
-codec:a aac^
-s:v 1280x720^
-codec:v libx264 -preset slower -tune animation -crf 22 "..\videos\film.mov.m4v" 

답변

1

오버레이 필터는 기본적으로 모든 플레이어가 지원하는 YUV420P로 출력합니다. 따라서이 형식 변환은 암시 적 부작용으로 사용됩니다.

이 경우 입력 한 내용이 YUV420P가 아닌 것 같습니다. 따라서 filter_complex를 생략하면 4 : 2 : 0으로 변환되지 않으며 WMP에는 4 : 2 : 0 YUV 형식을 디코딩 할 필터가없는 것 같습니다.

변환을 수행하려면 -pix_fmt yuv420p을 추가하십시오.

+0

사실, 그건 내 문제였습니다. 해결 됐어. 고마워. – pintxo