ffmpeg如何控制fps tbr tbn tbc参数

时间:2013-04-10 16:30:09

标签: ffmpeg

RT,我有两个avi文件,

A.avi: fps 30 tbr 30 tbn 30 tbc 30.
B.avi: fps 2 tbr 2 tbn 2 tbc 2.

问题是如何在B.avi上设置相同的值30?

3 个答案:

答案 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。