基于live555开源流媒体服务器开发的EasyRTSPServer实现自定义数据与音视频数据的同步实时传输解决方案
基于live555开源流媒体服务器开发的EasyRTSPServer实现的是视频和音频的数据传输,而随着智能分析的应用越来越多,如何将分析结果传给客户端也势在必行了。
分析问题
EasyRTSPServer基于live555改造而来,通过分析代码可以知道,其实它已经自带了metadata的传输. 我们要做的就是怎样将这个metadata用起来.
解决方案
- 内部实现:
首先要在SDP中增加Metadata类型,以及Playload Type;
再创建Metadata对应的SimpleRTPSink;
后面的流程和音视频的处理一样,从数据队列中读取自定义数据进行发送。
- 外部接口实现:
在回调的媒体信息结构体中, 需设置metadataCodec为1,即表示启用Metadata数据传输;
调用EasyRtspServer_PushFrame将自定义数据传进去,类型为EASY_SDK_EVENT_FRAME_FLAG,就完美实现需求了。