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?
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?
您可以使用指定的帧速率重新编码:
ffmpeg -i B.avi -codec:v mpeg4 -r 30 -qscale:v 2 -codec:a copy C.avi
这些选项的含义:
-codec:v mpeg4
- 使用编码器调用mpeg4
MPEG-4 Part 2 视频。-r 30
- 将输出帧速率设置为 30。-qscale:v 2
- 使用恒定量化参数设置视频输出质量。推荐范围为 2-5 mpeg4
。-codec:a copy
- 将音频从输入复制到输出以避免重新编码。请注意,这ffmpeg
将简单地复制帧以实现您想要的输出帧速率。相反,如果您降低帧速率ffmpeg
,则会丢帧。
您可以更改时基或tbn
tbc
按-video_track_timescale
,例如将tbn
and更改tbc
为 30:
ffmpeg -i 1.avi -c:v copy -video_track_timescale 30 1.avi
如果您想要更多的精度控制,不仅要控制 fps。还有 tbr、tbn、tbc。假设您了解它的含义。 待定,待定,待定
查看
ffmpeg -x264opts timebase=???
或者
ffmpeg -time_base
或使用格式工厂,默认为您提供相同的 tbr、tbn、tbc。