在x264中每隔几个输入帧刷新延迟帧

时间:2014-04-03 09:07:21

标签: h.264 x264

您好我是x264的新手并且了解一些基础知识。 x264 cli(x264.c)中使用的编码API例程总结为:

  1. 致电x264_encoder_open并设置参数。
  2. 从输入视频中获取一个帧并使用x264_encoder_encode对其进行编码。
  3. 迭代2.直到输入EOF或达到给定的帧限制。
  4. 刷新延迟帧。
  5. 我的问题是:除了在编码过程结束时只刷新一次x264编码器,是否可以在步骤2中刷新延迟帧?例如,我想每20帧(或GOP帧)手动刷新编码器,并在所有延迟帧编码时恢复正常进程。因此,视频将有几个刷新程序。

    此致

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。当您将第一个NULL帧发送到x264_encoder_encode以刷新帧时,它将停止所有工作线程进行编码,因此您需要调用x264_encoder_close / x264_encoder_open来启动新的编码实例。顺便说一下为什么你需要每20帧刷一次帧?因为我无法理解这种用例。