8

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?

4

3 回答 3

7

您可以使用指定的帧速率重新编码:

ffmpeg -i B.avi -codec:v mpeg4 -r 30 -qscale:v 2 -codec:a copy C.avi

这些选项的含义:

  • -codec:v mpeg4- 使用编码器调用mpeg4MPEG-4 Part 2 视频。
  • -r 30- 将输出帧速率设置为 30。
  • -qscale:v 2- 使用恒定量化参数设置视频输出质量。推荐范围为 2-5 mpeg4
  • -codec:a copy- 将音频从输入复制到输出以避免重新编码。

请注意,这ffmpeg将简单地复制帧以实现您想要的输出帧速率。相反,如果您降低帧速率ffmpeg,则会丢帧。

于 2013-04-10T19:51:49.800 回答
7

您可以更改时基或tbn tbc-video_track_timescale,例如将tbnand更改tbc为 30:

ffmpeg -i 1.avi -c:v copy -video_track_timescale 30 1.avi
于 2018-10-09T05:03:34.963 回答
3

如果您想要更多的精度控制,不仅要控制 fps。还有 tbr、tbn、tbc。假设您了解它的含义。 待定,待定,待定

查看

ffmpeg -x264opts timebase=???

或者

ffmpeg -time_base

或使用格式工厂,默认为您提供相同的 tbr、tbn、tbc。

于 2014-08-29T04:25:56.730 回答