ffmpeg av_seek_frame解释

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangpengzp/article/details/88929913

原型

int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp,
                  int flags);

 参数解释:

AVFormatContext *s,  解码的格式上下文
int stream_index,  默认-1 指按照视频时间来移动
int64_t timestamp,时间戳,计算是根据我们拖到的进度条占总视频长度比,来计算应该跳转到的时间。时间基数:AVStream.time_base
int flags 移动的时间,可能不是B帧或者说 计算的时间在2帧之间,取向前还是向后的一帧。

flag

向前,向后指的是 相对于当前时间来定的,如下图

AVSEEK_FLAG_BACKWARD = 1 往后找

AVSEEK_FLAG_BYTE = 2  按照字节来挑战移动位置

AVSEEK_FLAG_ANY =4针对frame来说的,就跳转那一帧,不找关键帧

AVSEEK_FLAG_FRAME = 8 表示往后找,找到关键帧

flag是二进制表示的可以同时取2个,用或来操作。‘|’,

猜你喜欢

转载自blog.csdn.net/zhangpengzp/article/details/88929913