2011-10-25 39 views
1

我有簡單的Rtsp源過濾器連接Rtsp服務器並獲取Rtp數據包。問題是,我必須設置媒體子在我的RTSP源過濾器引腳... [現在我給substype硬編碼]從Rtp數據包或其他方法獲取流類型

pMediaType->SetSubtype(&MyHardCodedSubTypeGUID); 

我想是根據未來的數據流與亞型動態創建我的腳。我從服務器獲得h264和mpeg-4流。它們的rtp數據包有效負載格式爲動態:96 ...無法識別流是mpeg4還是h264 ...

FFmpeg能夠獲取流類型[ h264,mpeg4]從編解碼器信息...但我怎麼能自己做?

最良好的祝願

回答

2

RTP有效載荷不僅是動態的(96,97等),它也提供了有效載荷類型屬性,你需要從獲得格式轉換成DirectShow的媒體類型(見「H264 * 「):

m=video 0 RTP/AVP 96 
a=rtpmap:96 H264/90000 
a=control:trackID=1 
a=fmtp:96 packetization-mode=1