如何更改libav解码帧率?

时间:2011-09-28 14:06:38

标签: c++ decoding frame-rate libav

有没有办法改变libav解码帧率? libav结构中有几个变量负责获取帧速率,但我知道这些变量仅用于读取目的(在解码模式下)。其中包括:

AVStream.duration
AVStream.nb_frames
AVStream.r_frame_rate
AVStream.time_base

前两个告诉我帧数,后两个告诉我帧速率。但似乎我不能只设置它们,否则它不会产生适当的效果。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要的解码视频帧速率低于编码时的帧速率。最好的解决方案是在解码之前跳过帧数据包,以你需要的速率(在调用avcodec_decode_video2()之前)。从来没有尝试过,但它应该工作。这将节省用于解码您不需要的帧的不必要的CPU花费。