音视频SDP协议简介
音视频SDP协议简介
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](CRLF表示换行)
- type: 该字节为单字节(如: v,o, m等)区分大小写,=号两侧不允许有空格。
- value: 为结构化文本串。
SDP会话描述
协议版: v=0, 给出sdp的版本号,目前为0版本,无子版本号本。
会话源 : o=(用户名) (会话标识) (版本) (网络类型) (地址类型) (地址)
如果不存在用户登录名,该字段标志位“-”会话标识为一随机数字串,版本为该会话公告的版本 \r\n网络类型为文本串,\n “IN’表示internet地址类型为文本串,目前定义为”IP4”和“IP6”两种地址。
会话名: s=(会话名) 每个会话描述必须只有一个会话名。
会话信息: i=(会话信息) 此字段并非必须,建议包括进来用于描叙相应会话文字性说明,每个会话描叙最多只能有一个。
URL:u=(URL) 此字段并非必须提供ur的描叙信息。
连接数据: c=(网络类型) (地址类型) (连接地址。
SDP时间描述
t = (会话活动时间)r = * (0或多次重复次数)
SDP媒体描述
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协议简介相关推荐
- AVB音视频传输协议简介
一.音视频传输面临的主要问题 二.如何解决这些问题 1. 网络传输问题 2. 媒体时钟同步问题 三.AVB体系 1.协议框架 2. 网络拓扑 3. 典型应用场景 a. 车载娱乐系统 b. 大型演唱会现 ...
- 音视频SDP协议详解(描述会话的协议)
前言 ①SDP协议是会话描述协议(Session Description Protocol)的缩写,是一种会话描述格式,一种描述流媒体初始化参数的格式,为描述多媒体数据而设计. 文末卡片领取音视频免费 ...
- Linux音视频学习--常见的音视频传输协议及基本概念介绍
一.引言 二.流媒体格式与介绍 ------> 1.相关格式 ------------> 1.1.视频流编码格式 ------------> 1.2.音频流编码格式 ------&g ...
- 实时音视频数据传输协议介绍
概述 随着移动互联网的快速发展以及智能终端性能的逐步提高,智能终端间进行实时音视频通讯成为移动互联网发展的一个重要方向.那么如何保证智能终端之间实时音视频数据通讯成为一个很现实的问题. 实际上,实时音 ...
- 音视频 SDP 添加码率
音视频 SDP 添加码率 最终目标 音频设置码率 a=rtcp-muxa=rtpmap:111 opus/48000/2a=rtcp-fb:111 transport-cc - a=fmtp:111 ...
- 音视频传输协议众多, 5G时代不同业务应该如何选择?
摘要:音视频传输协议众多, 不同业务应该如何选择? RTSP.RTMP.RTP/RTC.HLS.MSS.DASH.WEBRTC.RIST.SRT:在此我们就从业务发展的视角来理解各种流媒体协议,帮助大 ...
- 即时通讯音视频开发(十四):实时音视频数据传输协议介绍
概述 随着移动互联网的快速发展以及智能终端性能的逐步提高,智能终端间进行实时音视频通讯成为移动互联网发展的一个重要方向.那么如何保证智能终端之间实时音视频数据通讯成为一个很现实的问题. 实际上,实时音 ...
- 简单了解音视频传输协议SDP、RTP、RTMP、SIP等
SDP 会话描述协议(SDP)为会话通知.会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述.参考RFC2327(Request For Comments(RFC),是一系列以编号排定的文 ...
- FFmpeg入门详解之19:音视频封装原理简介
什么是数据封装和解封装? 数据封装(baiData Encapsulation),笼统地讲,就是把业务数据映射到du某个封装协议zhi的净dao荷中,然后填充对应协议的包头,形成封装协议的数据包,并完 ...
最新文章
- 批量修改在索引中增加字段
- 石头剪刀布 手势识别
- 【Android 事件分发】事件分发源码分析 ( ViewGroup 事件传递机制 五 )
- Linux操作系统Ubuntu部署Mysql篇
- winform打开cad图纸_为什么CAD图纸打开后会显示很多问号“???”,该怎么解决...
- 世界排名前20的大学毕业生去做银行柜员,柜员工资是不是很高?
- PLSQL中INDEX BY TABLE 的 prior 和 next 操作学习
- 移远EC20 4G模块LTE开发板三网通模块 MQTT阿里云物联网
- Ubuntu|ython3 :ImportError: cannot import name 'main'
- GitBucket管理员添加人员
- 直播P2P技术2-低延迟模型
- Oracle里面的用户user无法登录 LOCKED(TIMED)
- Python花式编程:考试成绩分类统计(3种方法)
- 微课|玩转Python轻松过二级:第3章课后习题解答2
- python服务器运维书_python自动化运维书
- linux磁盘加密bitlocker,Azure Disk Encryption(Azure磁盘加密)能用在Linux和Windows下
- 酷派5890详细获取ROOT、以及刷机教程
- 小技巧2:Python 实现阿拉伯数字转化为中文数字
- 移动硬盘装Ubuntu系统小记
- visca协议c语言,VISCA协议控制键盘 SONY VISCA协议会议摄像机控制键盘NK-EVI603K
热门文章
- 计算机职称考试知识点,职称计算机考试复习知识点
- POSIX线程专有数据的空间释放问题,pthread_key_create
- 我的世界java村民繁殖_我的世界:1.14版本刷新几率小的五种村庄,没有村民咋回事?...
- 【高校宿舍管理系统】第十章 缺勤管理、报修管理、来访人员管理以及公告管理
- 阻塞和非阻塞、同步和异步 、五种IO模型
- HDFS-HA-federation的机制和功能组件
- 【C#】三种结构:顺序、分支(if、switch、条件运算符)、循环
- WCF添加服务失败一则
- Linux 下搭建jsp服务器(配置jsp开发环境)
- 在Python中写入文件时,权限被拒绝错误