![如何为视频添加字幕并保持宽高比?](https://linux22.com/image/1536431/%E5%A6%82%E4%BD%95%E4%B8%BA%E8%A7%86%E9%A2%91%E6%B7%BB%E5%8A%A0%E5%AD%97%E5%B9%95%E5%B9%B6%E4%BF%9D%E6%8C%81%E5%AE%BD%E9%AB%98%E6%AF%94%EF%BC%9F.png)
我尝试转换宽高比为 16:9 的视频并想添加字幕。最终的视频有黑条(对于便携式媒体播放器,我需要这样)。但最终的视频中没有显示字幕。是否有其他参数可以实现此目的?在 mencoder 中可以做到这一点,但播放时会出现问题:它会跳过一些帧。我会发布该行,希望有人能帮助我。
$ ffmpeg -i 'TOS.mp4' -vcodec libxvid -vtag XVID -aspect 4:3 -r 20 -b:v 300k -s 320x240 -vf "subtitles='TOS.srt':force_style='Fontsize=24'" -vf "scale=w=320:h=240:force_original_aspect_ratio=decrease,pad=320:240:(ow-iw)/2:(oh-ih)/2" -acodec mp2 -ab 128k -ar 44100 -ac 2 -ss 00:00:40 -t 00:01:30 TOS-test17.avi
答案1
所有视频过滤器都应在单个链中定义。
ffmpeg -i 'TOS.mp4'
-vf "subtitles='TOS.srt':force_style='Fontsize=24',
scale=w=320:h=240:force_original_aspect_ratio=decrease,
pad=320:240:(ow-iw)/2:(oh-ih)/2"
-r 20 -aspect 4:3 -vcodec libxvid -b:v 300k -vtag XVID
-acodec mp2 -ab 128k -ar 44100 -ac 2 TOS.avi