2

有什么办法可以改变 libav 解码帧率?libav 结构中有几个变量负责获取帧速率,但据我所知,这些变量仅用于阅读目的(在解码模式下)。其中有:

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

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

有什么建议么?

4

1 回答 1

0

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

于 2011-09-29T10:03:56.417 回答