我有以下视频
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