TSINGSEE青犀視訊開發webrtc中SDP資訊解析
目前我們的EasyGBS、EasyRTC、EasyDSS等平臺都已經實現了webrtc協議的視訊播放,在開發webrtc時,資訊互動需要使用SDP資料格式,同時使用ffplay播放rtp資料流時需要首先獲取SDP檔案資訊。
SDP會話描述協議:描述SAP、SIP和RTSR會話的協議,是一種檔案描述協議,是由伺服器生成的描述媒體檔案編碼資訊以及所在伺服器的連結等資訊。在多媒體會話中SDP傳送有關媒體流的資訊,使會話描述的參人方加人會話。SDP主要用於Intemet網中,但也可以在其它網路環境下使用。
SDP十分通用,可描述其它網路環境中的會話,但主要用於Intemet中。
sdp的格式:
v=<version>
o=<username> <session id> <version> <network type> <address type> <address>
s=<session name>
i=<session description>
u=<URI>
e=<email address>
p=<phone number>
c=<network type> <address type> <connection address>
b=<modifier>:<bandwidth-value>
t=<start time> <stop time>
r=<repeat interval> <active duration> <list of offsets from start-time>
z=<adjustment time> <offset> <adjustment time> <offset> ....
k=<method>
k=<method>:<encryption key>
a=<attribute>
a=<attribute>:<value>
m=<media> <port> <transport> <fmt list>
解釋:
v = (協議版本)
o = (所有者/建立者和會話識別符號)
s = (會話名稱)
i = * (會話資訊)
u = * (URI 描述)
e = * (Email 地址)
p = * (電話號碼)
c = * (連線資訊)
b = * (頻寬資訊)
z = * (時間區域調整)
k = * (加密金鑰)
a = * (0 個或多個會話屬性行)
時間描述:
t = (會話活動時間)
r = * (0或多次重複次數)
媒體描述:
m = (媒體名稱和傳輸地址)
i = * (媒體標題)
c = * (連線資訊 — 如果包含在會話層則該欄位可選)
b = * (頻寬資訊)
k = * (加密金鑰)
a = * (0 個或多個媒體屬性行)
在RTSP互動過程中,只在客戶端發出Describe請求,服務端迴應的時候會有SDP訊息發出。
下面是EasyRTSPClient列印的一個SDP資訊。