改变 png 编码视频的帧速率而不改变帧数?

改变 png 编码视频的帧速率而不改变帧数?

我有以下视频

Input #0, avi, from 'input.avi':
  Duration: 00:00:12.50, start: 0.000000, bitrate: 335548 kb/s
  Stream #0:0: Video: rawvideo, pal8, 2048x2048, 338250 kb/s, 10 fps, 10 tbr, 10 tbn, 10 tbc
    Metadata:
      title           : FileAVI write

它有 125 帧,10 fps。现在我使用

ffmpeg -i input.avi -vcodec png  -compression_level 4  -vtag 'PNG ' output.avi

制作的视频效果如下:

Input #0, avi, from 'output.avi':
  Metadata:
    software        : Lavf58.76.100
  Duration: 00:00:12.50, start: 0.000000, bitrate: 36894 kb/s
  Stream #0:0: Video: png (PNG  / 0x20474E50), pal8(pc), 2048x2048, 37185 kb/s, 10 fps, 10 tbr, 10 tbn, 10 tbc
    Metadata:
      title           : FileAVI write

但是原始文件(一个.cxd文件)是 25fps,所以我希望最终的 avi 是 25 fps,不会丢失或添加帧。

我没办法。我看过一些建议,但都行不通,或者我无法遵循。

我怎样才能改变 ffmpeg 命令,以便 output.avi 再次无损 125 帧 @ 25fps?

答案1

使用 setpts 过滤器重新定时帧。

ffmpeg -i input.avi -vcodec png  -vf "setpts=N/25/TB" -r 25 -compression_level 4  -vtag 'PNG ' output.avi

相关内容