4

我目前正在开发一个应用程序,它会针对来自相机的预览帧生成某些元数据。我可以看到这个元数据正在正确生成,我在这里没有问题。

但是,我必须将此元数据嵌入到这些感兴趣的帧中(帧由本机算法处理以生成此元数据)。我正在使用带有 x264 的 ffmpeg 将帧编码为 H.264。我检查了 x264.h 和一些文档,但没有找到我想要的。

我的问题是;是否有任何未使用的 H.264 语法部分可以将我的元数据嵌入到编码帧中?

我希望我足够清楚。提前致谢。

4

1 回答 1

5

大多数视频基本流都有“用户数据”的规定。在 h.264 中,这是 SEI 最终单元的一部分。您可以在要关联的每一帧之前添加一个。我认为 x264 不支持从外部添加用户数据。

两种选择:

  1. 修改 x264 / ffmpeg 以将 SEI 消息添加到您希望它以您喜欢的某种形式输入的任何位置。
  2. 创建您的流,创建您的元数据。现在单独编写一个小程序来读取您的元数据并解析文件并在您想要的帧之前推送一个 SEI NAL。

对于 SEI 语法,您应该能够 google 并获得它。不过,最好的地方是 H.264 标准。更简单的方法是只查看 x264 中的代码。它确实在开头插入了一个用户数据(编码参数)。

于 2012-09-07T17:56:11.850 回答