avconv를 사용하여 비디오에 자막을 오버레이하는 방법은 무엇입니까?

avconv를 사용하여 비디오에 자막을 오버레이하는 방법은 무엇입니까?

나는 dvdsub 스트림과 비디오 스트림을 오버레이하기 위해 다음 스크립트를 사용하고 있습니다.

avconv -i input.mkv \
       -i subtitles.sub -filter_complex "[0:v:0][1:s:0]overlay[vid]" -map "[vid]" \
       -s hd720 -sws_flags lanczos \
       -vcodec libx264 -crf 20 -preset medium \
       ~/Desktop/test.mkv

다음과 같은 오류가 발생합니다.

Stream specifier ':s:0' in filtergraph description [0:v:0][1:s:0]overlay[vid] matches no streams.

내가 무엇을 하든 나는 이것을 작동시킬 수 없습니다. avconv(또는 ffmpeg)를 사용하여 자막을 '번인'하는 방법을 알려주실 수 있나요?

답변1

관심 있는 분들을 위해 알아냈습니다. ..... avconv는 할 수 없고 ffmpeg는 할 수 있습니다. 이제 ffmpeg로 전환했으며 avconv를 삭제하겠습니다.

최신 버전의 ffmpeg(v 2.3.3)를 컴파일했습니다. 내 'sup' 형식 자막을 'sub/idx' 형식으로 변환한 다음 '.idx' 파일을 자막 파일로 지정했고 오버레이 프로세스가 훌륭하게 작동했습니다.

마지막 명령은 다음과 같습니다.

ffmpeg -i input.mkv -i subtitles.idx -filter_complex '[0:v][1:s]overlay[vid]' -map '[vid]' -s hd720 -sws_flags lanczos -vcodec libx264 -crf 20 -preset medium ~/Desktop/test.mkv

물론 x264 설정은 원하는 대로 구성할 수 있습니다.

관련 정보