原型

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个,用或来操作。‘|’,

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐