gpt4 book ai didi

c - ffmpeg av_seek_frame

转载 作者:太空狗 更新时间:2023-10-29 16:30:50 26 4
gpt4 key购买 nike

我正在尝试使用 ffmpeg 的 av_seek_frame 方法在电影中搜索,但是我在确定如何生成要搜索的时间戳时遇到了最大的麻烦。假设我想向前或向后寻找 x 个帧,并且我知道电影当前在哪个帧上,我将如何去做?

最佳答案

这是我的做法:

// Duration of one frame in AV_TIME_BASE units
int64_t timeBase;

void open(const char* fpath){
...
timeBase = (int64_t(pCodecCtx->time_base.num) * AV_TIME_BASE) / int64_t(pCodecCtx->time_base.den);
...
}

bool seek(int frameIndex){

if(!pFormatCtx)
return false;

int64_t seekTarget = int64_t(frameIndex) * timeBase;

if(av_seek_frame(pFormatCtx, -1, seekTarget, AVSEEK_FLAG_ANY) < 0)
mexErrMsgTxt("av_seek_frame failed.");

}

AVSEEK_FLAG_ANY 可以搜索到每一帧,而不仅仅是关键帧。

关于c - ffmpeg av_seek_frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/504792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com