基於live555開源流媒體服務器開發的EasyRTSPServer實現的是視頻和音頻的數據傳輸,而隨着智能分析的應用越來越多,如何將分析結果傳給客戶端也勢在必行了。
分析問題
EasyRTSPServer基於live555改造而來,通過分析代碼可以知道,其實它已經自帶了metadata的傳輸. 我們要做的就是怎樣將這個metadata用起來.
解決方案
- 內部實現:
首先要在SDP中增加Metadata類型,以及Playload Type;
再創建Metadata對應的SimpleRTPSink;
後面的流程和音視頻的處理一樣,從數據隊列中讀取自定義數據進行發送。
- 外部接口實現:
在回調的媒體信息結構體中, 需設置metadataCodec爲1,即表示啓用Metadata數據傳輸;
調用EasyRtspServer_PushFrame將自定義數據傳進去,類型爲EASY_SDK_EVENT_FRAME_FLAG,就完美實現需求了。