FFmpeg 视频剪切/猫黑帧

FFmpeg 视频剪切/猫黑帧

好的,我的任务是这样的:

  1. 将视频剪辑成 N 个部分。
    • ffmpeg -i in.mpg -ss 10 -t 10 -codec copy part1.mpg
    • ffmpeg -i in.mpg -ss 30 -t 10 -codec copy part2.mpg
    • ...
  2. 将这些部分放在一起
    • cat 部分1.mpg 部分2.mpg ... > temp.mpg
    • 该文件运行良好,但由于 PTS 值错误,持续时间等变得混乱。
  3. 通过 FFmpeg 运行
    • ffmpeg -i temp.mpg -codec 复制出.mpg
    • 该文件也运行良好,但对于剪辑的确切持续时间,现在有黑色空间。PTS 是固定的,但它也考虑了删除的帧。

我该如何修正 PTS 值?

编辑:我被迫使用旧版本的 FFmpeg(因此不能使用诸如 trim 或 concat 解复用器之类的过滤器)。

答案1

每次运行分割视频的命令时,都应该使用setpts过滤器,例如:

ffmpeg -i input.mpg -ss 10 -t 10 -vf "setpts=PTS-STARTPTS" -c copy part1.mpg

那么它可能会起作用,但用于cat视频并不是一个好主意。

相关内容