Ffmpeg 使用H264编码帧发送每帧元数据

Ffmpeg 使用H264编码帧发送每帧元数据,ffmpeg,streaming,metadata,h.264,live555,Ffmpeg,Streaming,Metadata,H.264,Live555,我们正在寻找一种方法,用H264编码的帧将每帧元数据(例如ID)从服务器发送到客户端 我们目前正在开发一个远程渲染应用程序,客户端和服务器端都积极参与其中。 服务器渲染具有所有效果、灯光等的高质量图像。 客户端还具有模型信息并渲染漫射图像,当带宽太低或图像必须扭曲以避免口吃时使用该图像 到目前为止,我们正在使用ffmpeg对服务器端的帧进行编码,并使用live555将其流式传输到客户端,客户端接收rtsp流并再次使用ffmpeg对帧进行解码 对于我们的应用程序,我们现在需要发送每帧元数据。 我们

我们正在寻找一种方法,用H264编码的帧将每帧元数据(例如ID)从服务器发送到客户端

我们目前正在开发一个远程渲染应用程序,客户端和服务器端都积极参与其中。 服务器渲染具有所有效果、灯光等的高质量图像。 客户端还具有模型信息并渲染漫射图像,当带宽太低或图像必须扭曲以避免口吃时使用该图像

到目前为止,我们正在使用ffmpeg对服务器端的帧进行编码,并使用live555将其流式传输到客户端,客户端接收rtsp流并再次使用ffmpeg对帧进行解码

对于我们的应用程序,我们现在需要发送每帧元数据。 我们希望客户端告诉服务器摄像机现在在哪里。 理想情况下,我们能够将客户端的视图矩阵发送到服务器,渲染相应的帧,并将其与视图矩阵一起发送回客户端。因此,当客户端接收到一帧时,我们需要确切地知道该帧在哪个摄影机位置被渲染

或者,我们也可以用ID标记每个视图矩阵,将其发送到服务器,渲染帧,用相同的ID标记并发送回。在这种情况下,我们必须在客户端再次为帧分配正确的矩阵

在多次尝试使用ffmpeg实现上述目的后,我们得出结论,ffmpeg没有提供所需的功能。ffmpeg只为元数据提供了一组固定的预定义字段,这些字段要么不能存储矩阵,要么只能为每个关键帧设置,这对于我们的目的来说还不够频繁

现在我们正在考虑使用live555。到目前为止,我们有一个按需服务器,witch获得一个带有H264VideoStreamDiscreteFramer的VideoSubsession来包含我们自己的FramedSource类。在这个类中,我们加载编码的AV数据包(来自ffmpeg)并通过网络发送其数据缓冲区。现在我们需要一种方法,在每个帧向客户端发送某种元数据

您对如何使用live555或其他库解决此元数据问题有何想法


谢谢你的帮助

你找到解决这个问题的方法了吗?通过一个自定义工具将ffmpeg的输出通过SEI嵌入264基本流中。