gpt4 book ai didi

ffmpeg - 如何使用 ffmpeg 编写显式控制关键帧位置的视频编码器?

转载 作者:行者123 更新时间:2023-12-03 01:28:52 24 4
gpt4 key购买 nike

我想用 ffmpeg 编写一个编码器,它可以将 iFrame(关键帧)放在我想要的位置。在哪里可以找到它的教程或引用资料?

附注
是否可以使用 mencoder 或任何开源编码器来做到这一点。我想对 H263 文件进行编码。我是在 Linux 下编写的。

最佳答案

您需要查看 libavcodec 文档 - 特别是 avcodec_encode_video()。我发现最好的可用文档位于 ffmpeg 头文件和随 ffmpeg 源提供的 API 示例源代码。具体来说,请查看 libavcodec/api-example.c 甚至 ffmpeg.c。

要强制使用 I 帧,您需要将要编码的图片的 pict_type 成员设置为 1:1 是 I 帧,2 是 P 帧,我不记得代码是什么我的头顶上有一个 B 帧...此外,key_frame 成员需要设置为 1。

提供了一些介绍性 Material herehere ,但我真的不知道它有多好。

您需要小心如何分配 API 调用所需的框架对象。我认为 api-example.c 是您最好的选择。查找函数 video_encode_example() - 它很简洁,说明了您需要担心的所有重要事情 - 特别注意第二次调用 avcodec_encode_video() ,它传递了 NULL 图片参数 - 它需要获取视频的最后一帧,因为MPEG 视频编码不按顺序进行,最终可能会出现几帧的延迟。

关于ffmpeg - 如何使用 ffmpeg 编写显式控制关键帧位置的视频编码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289319/

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