ffmpeg - 在 .ts 文件调整大小时维护 PTS

标签 ffmpeg

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

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

如何确保 video720_1.ts 以与 video1080_1.ts 完全相同的 PTS 开始?我没有改变速率,所以只要它以完全相同的 PTS 开始,它就可以正常播放。

我尝试了很多东西(vsync、copyts 等),但它们都没有给我完全相同的数字。

另外,我尝试添加 -copyts -vsync 2 -muxdelay 0 -muxpreload 0这让它更接近了,但仍然相差 1100(4422778 与 4423680)。

最佳答案

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

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

所有 4 个参数都需要。

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

关于ffmpeg - 在 .ts 文件调整大小时维护 PTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60062986/

相关文章:

php - 带有 FFMPEG 的 Laravel Process() 对任何甚至很大的视频都会超时

c++ - 如何在基于 ffmpeg 的程序中以编程方式传递 VP8 编码器选项

php - 在 Windows 服务器上为 php 安装 ffmpeg 模块

c++ - 在 GOP(图片组)结束处剪切 MPEG 2 视频的 C 代码

audio - 检测视频音量

python - python中子进程命令行中没有反斜杠的引号

python - FFmpeg 在 Path 中,但在 CMD 中运行导致 "FFmpeg not recognized as internal or external command"

ffmpeg - 为输出流打开编码器时出错 #0 :1 - maybe incorrect parameters such as bit_rate, 速率、宽度或高度

ffmpeg - 用于 ffmpeg 和多 GPU 卡的 CLI

video - 通过 ffmpeg 更快地将视频转换为 mp4