前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TSINGSEE青犀视频开发webrtc中SDP信息解析

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

原创
作者头像
TSINGSEE青犀视频
修改2021-08-10 18:14:46
3170
修改2021-08-10 18:14:46
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

目前我们的EasyGBS、EasyRTC、EasyDSS等平台都已经实现了webrtc协议的视频播放,在开发webrtc时,信息交互需要使用SDP数据格式,同时使用ffplay播放rtp数据流时需要首先获取SDP文件信息。

SDP会话描述协议:描述SAP、SIP和RTSR会话的协议,是一种文件描述协议,是由服务器生成的描述媒体文件编码信息以及所在服务器的链接等信息。在多媒体会话中SDP传送有关媒体流的信息,使会话描述的参人方加人会话。SDP主要用于Intemet网中,但也可以在其它网络环境下使用。

SDP十分通用,可描述其它网络环境中的会话,但主要用于Intemet中。

sdp的格式:

代码语言:javascript
复制
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>

解释:

代码语言:javascript
复制
v = (协议版本)
o = (所有者/创建者和会话标识符)
s = (会话名称)
i = * (会话信息)
u = * (URI 描述)
e = * (Email 地址)
p = * (电话号码)
c = * (连接信息)
b = * (带宽信息)
z = * (时间区域调整)
k = * (加密密钥)
a = * (0 个或多个会话属性行)

时间描述:

代码语言:javascript
复制
t = (会话活动时间)
r = * (0或多次重复次数)

媒体描述:

代码语言:javascript
复制
m = (媒体名称和传输地址)
i = * (媒体标题)
c = * (连接信息 — 如果包含在会话层则该字段可选)
b = * (带宽信息)
k = * (加密密钥)
a = * (0 个或多个媒体属性行)

在RTSP交互过程中,只在客户端发出Describe请求,服务端回应的时候会有SDP消息发出。

下面是EasyRTSPClient打印的一个SDP信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档