我目前正在开发一个应用程序,该应用程序针对来自相机的预览帧生成某些元数据.我可以看到此元数据已正确生成,并且在这里没有问题.
但是,我必须将此元数据嵌入到这些感兴趣的帧中(这些帧由本机算法处理以生成此元数据).我将ffmpeg与x264一起使用,将帧编码为H.264.我检查了x264.h和一些文档,但是找不到我想要的.
我的问题是;我可以将我的元数据嵌入编码帧中的H.264语法的未使用部分吗?
我希望我足够清楚.提前致谢.
解决方法:
大多数视频基本流都有“用户数据”的规定.在h.264中,这是SEI最终单元的一部分.您可以在每个要关联的框架之前添加一个.我认为x264不支持从外部添加用户数据.
两种选择:
>修改x264 / ffmpeg以将SEI消息添加到所需的任何位置,并以您喜欢的某种形式输入.
>创建您的流,创建您的元数据.现在,分别编写一个小程序以读取您的元数据并解析文件,并在需要的帧之前推送SEI NAL.
对于SEI语法,您应该可以搜索并获取它.最好看的地方是H.264标准.一种更简单的方法是仅查看x264中的代码.它确实在开头插入了一个用户数据(编码参数).