TSINGSEE青犀视频开发webrtc中SDP信息解析

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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信息。

以上是关于TSINGSEE青犀视频开发webrtc中SDP信息解析的主要内容,如果未能解决你的问题,请参考以下文章

TSINGSEE青犀视频开发webrtc项目如何实现Windows视频采集?

TSINGSEE青犀视频开发WebRTC时通过哪些技术来创建WebRTC链接?

TSINGSEE青犀视频构建pion webrtc运行broadcast示例步骤

TSINGSEE青犀视频开发Webrtc建立P2P的流程分享

TSINGSEE青犀视频编译webrtc协议为什么需要turn服务器?

TSINGSEE青犀视频中关于WebRTC的stun/turn服务说明