ffmpeg可以设置输出帧的pts值吗

And*_*ick 5 ffmpeg

是否可以让 ffmpeg 设置帧的输出 pts 值?我想要做的是重新编码源但保留原始的 pts 值。

我尝试了各种过滤器,但结果始终是输出上的新 pts 值。

ffmpeg -i source_sample.ts -filter_complex "[0:v] setpts=PTS" -c:v libx264 -b:v 1000k -preset fast -crf 22  -f mpegts /tmp/sample.ts
Run Code Online (Sandbox Code Playgroud)

上面的命令只影响输入流,不影响输出。

有任何建议欢迎...

谢谢

小智 4

setpts 仅在您还指示 ffmpeg 复制或转换输入时间戳以输出时间戳时才有效。尝试添加 -copyts -start_at_zero 或 -vsync passthrough