通过 SAR (FFmpeg) 拉伸的刻录字幕

通过 SAR (FFmpeg) 拉伸的刻录字幕

我有一个视频,FFmpeg 将其识别为720x480 [SAR 8:9 DAR 4:3]。在播放器中观看时,正确显示的视频占用 720x540 像素,这是有道理的,因为 480/8*9=540。

但是,在将字幕刻录到视频中时,字幕会被垂直拉伸,拉伸倍数可能为 9/8。我假设发生的情况是字幕被应用于垂直压缩的 720x480 视频数据,然后视频播放器将视频拉伸到 720x540,这样视频显示正确,但不幸的是字幕被拉伸了。

如何将字幕刻录到视频中并保持视频和字幕的正确性?例如,在转换过程中,有没有什么方法可以“摆脱”SAR?

我的基本命令行,使用 FFmpeg 4.1:

ffmpeg -i in.mp4 -vf in.srt out.mp4

答案1

通常,播放器会水平拉伸视频,但您可能正在使用mpv或类似的垂直拉伸视频。最安全的选择是使视频成为方形像素。

ffmpeg -i in.mp4 -vf scale=iw*sar:ih,setsar=1,subtitles=in.srt -c:a copy out.mp4

相关内容