如何改变libav解码帧率

How to change libav decoding framerate?

本文关键字:libav 解码 帧率 改变 何改变      更新时间:2023-10-16

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

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

前两个告诉我帧数,后两个告诉我帧率。但是我似乎不能直接设置,否则可能会产生不好的效果。

有什么建议吗?

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