EasyDarwin开源社区流媒体视频课程:流媒体传输控制协议(RTSP RTP SDP)详解之sdp
来源:互联网 发布:没买会计软件 编辑:程序博客网 时间:2024/05/06 22:58
视频课程及相关文档代码地址:https://github.com/EasyDarwin/Course#course-3
SDP协议
一、SDP协议介绍
SDP 完全是一种会话描述格式(对应的RFC2327 ,
RFC4566, )
― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。SDP协议是也是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围。SDP 不支持会话内容或媒体编码的协商,所以在流媒体中只用来描述媒体信息。媒体协商这一块要用RTSP来实现.
流媒体协议sdp信息,附带在describe报文中有rtsp服务端发出,主要目的,告之会话的存在和给出参与该会话所必须的信息,sdp会话完全是文本形式,采用UTF-8编码的ISO 10646字符集
sdp描叙符包括:
- 会话名和目的
- 会话激活的时间区段
- 构成会话的媒体
- 接收这些媒体所需要的信息(地址,端口,格式)
- 会话所用的带宽信息
- 会话负责人的联系信息
媒体信息包括:
- 媒体类型(视频,音频等)
- 传送协议(RTP/UDP/IP H.320等)
- 媒体格式(H,264视频,MPEG视频等)
- 媒体地址和端口
二、SDP协议格式
SDP描述由许多文本行组成,文本行的格式为<类型>=<值>,<类型>是一个字母,<值>是结构化的文本串,其格式依<类型>而定。
<type> = < value > [CRLF]
type: 该字节为单字节(如: v,o, m等)区分大小写,=号俩侧部允许有空格
value: 为结构化文本串
会话描叙格式介绍
时间描述
- t = (会话活动时间)
- r = * (0或多次重复次数)
媒体描述
- m = (媒体名称和传输地址)
- i = * (媒体标题)
- c = * (连接信息 — 如果包含在会话层则该字段可选)
- b = * (带宽信息)
- k = * (加密密钥)
- a = * (0 个或多个会话属性行)
m描叙行:
格式: m=(媒体)(端口)(传送层)(格式列表)
媒体类型:音频(audio),视频(video),应用,数据和控制
端口:媒体传送层端口
传送层:ip4上大多基于rtp/udp上传送(RTP/AVP)IETF RTP协议,在udp上传输
格式列表: 对应对应的音频负载类型(PT)m=video 0 RTP/AVP 96
a描叙行:
格式:a=rtpmap:(净荷类型)(编码名)/(时钟速率)【/(编码参数)】
a=control:(音/视频连接信息)
a=control:rtsp://192.168.1.197/h264stream0/trackID=0a=rtpmap:96 H264/90000
三、SDP协议例子
v=0o=StreamingServer 3677033027 1437537780000 IN IP4 192.168.1.44s=\demo.mp4u=http:///e=admin@c=IN IP4 0.0.0.0b=AS:1398t=0 0a=control:*a=x-copyright: MP4/3GP File hinted with GPAC 0.5.0-rev4065 (C)2000-2005 - http://gpac.sourceforge.neta=range:npt=0- 216.52167m=video 0 RTP/AVP 96b=AS:1242a=3GPP-Adaptation-Support:1a=rtpmap:96 H264/90000a=control:trackID=65536a=fmtp:96 profile-level-id=42000A; packetization-mode=1; sprop-parameter-sets=Z0IACpZUBQHogA==,aM44gA==a=framesize:96 640-480m=audio 0 RTP/AVP 97b=AS:156a=3GPP-Adaptation-Support:1a=rtpmap:97 mpeg4-generic/48000/1a=control:trackID=65537a=fmtp:97 profile-level-id=41; config=1188; streamType=5; mode=AAC-hbr; objectType=64; constantDuration=1024; sizeLength=13; indexLength=3; indexDeltaLength=3
获取更多信息
邮件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2016
- EasyDarwin开源社区流媒体视频课程:流媒体传输控制协议(RTSP RTP SDP)详解之sdp
- EasyDarwin开源社区流媒体视频课程:流媒体传输控制协议(RTSP RTP SDP)详解之RTSP
- EasyDarwin开源社区流媒体视频课程:流媒体传输控制协议(RTSP RTP SDP)详解之RTP
- 流媒体传输控制协议(RTSP RTP SDP)详解之——sdp
- 流媒体传输控制协议(RTSP RTP SDP)详解之——RTSP
- 流媒体传输控制协议(RTSP RTP SDP)详解之——RTP
- 流媒体服务器之rtp协议,rtcp协议,rtsp协议,sdp协议,sip协议简析
- 【RTSP/RTP流媒体】8、SDP协议简单分析
- 流媒体协议RTSP,HTTP,HTTPS, SDP
- 流媒体传输协议详解之---RTSP认证
- 网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系
- 流媒体传输协议系列之--RTSP协议详解
- 流媒体传输协议系列之--RTSP协议详解
- SDP、RTSP、RTP、RTCP协议介绍
- 流媒体专题—传输协议:rtp rtcp rtsp
- 流媒体传输协议综述(RTP-RTCP RTSP RTMP HTTP)
- 流媒体传输协议(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体传输协议综述(RTP-RTCP RTSP RTMP HTTP)
- BeanUtils之个人理解
- Unity3d UnityEditor编辑器定制和开发插件
- codeforces 350B Resort 链表
- iOS-AVFoundation二维码扫描,二维码扫描,图片的无损放大
- ReactJS笔记03--状态
- EasyDarwin开源社区流媒体视频课程:流媒体传输控制协议(RTSP RTP SDP)详解之sdp
- JSON小探
- 设计模式(1)-创建模式、结构模式、行为模式的区别
- Intersection of Two Linked Lists
- forEach 和 forEachOrdered在Java 8 Stream的区别
- kali信息收集工具之DNSRecon
- mybatis+oracle generator 配置和异常处理
- Java中的编码问题
- JavaScript学习笔记——慕课网(JavaScript入门篇)