可变帧率到恒定 Avconv

Variable Framerate into Constant Avconv

我想将可变帧率的视频更改为恒定帧率。除了保持帧率不变外,我不想弄乱视频的任何其他部分。

我正在使用:

avconv -i input.mp4 -codec copy -codec:a mp3 -r 30 output.mp4

最后,它给了我这个命令行响应:

Non-monotonous DTS in output stream 0:1; previous: 1794, current: 1794; changing to 1795. This may result in incorrect timestamps in the output file.
frame= 1272 fps=196 q=-1.0 Lsize=  378144kB time=42.77 bitrate=72423.5kbits/s    
video:287196kB audio:670kB global headers:0kB muxing overhead 31.361036%

我可以很好地播放 output.mp4(音视频同步很好)。但是,当我检查 output.mp4 的媒体信息时,它说帧率是

Frame rate : 90 000.000 fps

发生什么事了?如何强制输出为 30 或 25 fps?

好的,我通过以下方式修复了它:

avconv -i input.mp4 -c:v h264 -crf 25 -c:a mp3 -r 30 output.mp4

-crf number 部分完成了工作。选择一个适合您的数字,因为它越低,使用的比特率就越多。

我尝试了“5”并获得了 250k 比特率。