A.avi: fps 30 tbr 30 tbn 30 tbc 30.
B.avi: fps 2 tbr 2 tbn 2 tbc 2.
问题是如何在B.avi上设置相同的值30?
答案 0 :(得分:2)
您可以使用指定的帧速率重新编码:
ffmpeg -i B.avi -codec:v mpeg4 -r 30 -qscale:v 2 -codec:a copy C.avi
这些选项意味着什么:
-codec:v mpeg4
- 将名为mpeg4
的编码器用于MPEG-4第2部分
视频。-r 30
- 将输出帧速率设置为30。-qscale:v 2
- 使用恒定量化参数设置视频输出质量。 mpeg4
的推荐范围是2-5。-codec:a copy
- 将音频从输入复制到输出以避免重新编码。请注意,ffmpeg
只会复制帧以达到所需的输出帧速率。相反,如果您降低了帧速率ffmpeg
会丢帧。
答案 1 :(得分:1)
您可以通过-video_track_timescale更改时基或tbn tbc
例如将tbn和tbc更改为30:ffmpeg -i 1.avi -c:v复制-video_track_timescale 30 1.avi
答案 2 :(得分:0)
如果你想要更多的presice控制,不仅控制fps。还有tbr,tbn,tbc。 假设你明白它的意思。 tbc,tbn,tbr
检查
ffmpeg -x264opts timebase=???
或
ffmpeg -time_base
或使用格式工厂,默认它给你相同的tbr,tbn,tbc。