在 .ts 文件大小调整上保持 PTS



假设我有一个来自现有HLS的.ts文件,我只想调整它的大小。 例如,创建第二个低分辨率流,当带宽较差时可以切换。

ffmpeg -i video1080_1.ts -vf "scale=1280:720" video720_1.ts

如何确保 video720_1.ts 的起始时间与 video1080_1.ts 完全相同? 我没有改变速率,所以只要它以完全相同的 PTS 开始,它就会播放得很好。

我尝试了很多东西(vsync,copyts等(,但没有一个给我完全相同的数字。

另外,我尝试添加-copyts -vsync 2 -muxdelay 0 -muxpreload 0,这使它更接近,但仍然偏离了 1100(4422778 vs 4423680(。

好的,经过大量测试,我发现以下内容实际上给了我与原始完全相同的 PTS:

ffmpeg -i 00091.ts -vf "scale=640:360" -copyts -vsync -1 -muxdelay 0 -muxpreload 0 -y 00091_360.ts

所有 4 个参数都需要一起使用。

编辑:-vsync -1是默认值,是可选的。

最新更新