小编P A*_*tar的帖子

如何使用ffmpeg av_seek_frame()在具有帧编号的同时读取任何帧

int64_t timeBase;
timeBase = (int64_t(pavStrm-> time_base.num) * AV_TIME_BASE) / int64_t(pavStrm->time_base.den);
int64_t seekTarget = int64_t(iFrameNumber) * timeBase;
av_seek_frame(fmt_ctx, -1, seekTarget, AVSEEK_FLAG_FRAME);
Run Code Online (Sandbox Code Playgroud)

在这里,我想在iFrameNumebr之后阅读下一个5帧

for(int iCnt = 0; iCnt <= 4; iCnt++)
{
    iRet = av_read_frame(fmt_ctx, &pkt);
        do 
        {
            ret = decode_packet(&got_frame, 0);
            if (ret < 0)
                break;
            pkt.data += ret;
            pkt.size -= ret;

        }while (pkt.size > 0);
    av_free_packet(&pkt);
}

static int decode_packet(int *got_frame, int cached)
{
int ret = 0;
int decoded = pkt.size;
*got_frame = 0;

if (pkt.stream_index == video_stream_idx)
{ …
Run Code Online (Sandbox Code Playgroud)

ffmpeg fluent-ffmpeg

3
推荐指数
2
解决办法
6170
查看次数

标签 统计

ffmpeg ×1

fluent-ffmpeg ×1