首页 > 其他分享 >SDP协议

SDP协议

时间:2023-06-09 11:00:28浏览次数:40  
标签:协议 SDP 媒体 eg 信息 会话 必选

SDP在webrtc或voip通话中有重要的作用,它通过文本对媒体信息进行描述。其本身并不传递媒体数据,而是用于参与媒体会话的双方进行媒体协商。
通过SDP,通信双方可以知道对方的:支持的音视频编码器、网络信息以及其他重要信息。在webrtc中没有规定统一的信令,通常信令使用使用者自己实现。
下图是webrtc中sdp的作用:

 

三、格式规范

多个媒体级描述
(1) 媒体格式
(2) 传输协议
(3) 纯属IP和端口
(4) 媒体负载类型

一个会话级描述
(1) 会话的名称和目的
(2) 会话存活时间
(3) 会话中包括多个媒体信息

格式:type=value组成

(1) 会话层
v=(协议版本)
o=(所有者/创建者和会话标识符)
s=(会话名称)
c= * (连接信息 ― 如果包含在所有媒体中,则不需要该字段)
t=会话存活时间
a = * (0 个或多个会话属性行)

(2) 媒体层
m=(媒体名称和传输地址)
c=*(连接信息 ― 如果包含在所有媒体中,则不需要该字段)
b=*(带宽信息)
a = * (0 个或多个会话属性行)

ps:(带星号的是可选字段,不带的是必选)
字段含义详解:
1、version 必选

2、session name 必选
s= [sission name] 会话名;s=- 表示忽略会话

3、origion/owner 必选
o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>
eg. o=- 6474257184349789314 2 IN IP4 127.0.0.1

4、connection 可选
c=<network type><address type><connection address>
eg. c=IN IP4 0.0.0.0

5、media 必选
m=<media><port><transport><fmt/payload type list>
eg. m=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 0 8 106 105 13 110 112 113 126

6、attributes 可选
a=<TYPE> 或a=<TYPE>:<VALUE>
eg. a=frameate:<帧速率>

7、rtpmap 可选
a=rtpmap:<fmt/payload type><encoding name>/<clock rate>[/<encodingparameters>]
eg. a=rtpmap:111 opus/48000/2

8、fmtp 可选
a=fmtp:<format/payload type> paramerters
例子:a=fmtp:101 apt=100

标签:协议,SDP,媒体,eg,信息,会话,必选
From: https://www.cnblogs.com/lyfily-p-7439305/p/17468567.html

相关文章

  • webSocket-全双工通信协议
    1、springboot2.0集成webSocket项目结构maven依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.6.RELEASE</version>&......
  • quickfix协议当有中文时校验位错误问题解决
    quickfix校验位计算都是根据ISO-8859-1编码计算,知道这个规则后续我们处理中文就很好处理了。但是如果用ISO-8859-1编码有中文会出现乱码,如果将CharsetSupport.setCharset设置为UTF-8或者GBK时,在发送数据时会报java.nio.bufferoverflowexception:null,或者校验位失败。1、往step网......
  • 一文读懂大厂面试的计算机网络面试题目(超详细整理)(TCP/IP,OSI,HTTP协议)
    对于大厂的面试来说,掌握基本的计算机网络知识十分必要,但是说实话就单单是博主觉得,看书去复习,是最好的“安眠药”,哈哈哈,所以具有针对性的去学习更加的有效果,所以直接看大厂的高频面试题,快速建立知识结构体系。以下的一些是博主通过博览众多平台的博客推文进行的汇总:1.计算机网络OS......
  • 网络层 :IP协议详解
        网络层的目的就是实现终端节点之间的通信,即点对点通信。具体功能包括路由选择与地址管理等。    这一层主要有IP和ICMP两个协议组成,在这里就先重点讲解IP协议,后面会单独将IP协议相关的如ICMP,DNS,NAT,NAPT,DHCP等协议单独写一篇博客汇总。    IP层协议......
  • freeswitch透传带SDP的180
     概述freeswitch是一款简单好用的VOIP开源软交换平台。freeswitch对于180/183的消息处理有默认的规则,但是在3GPP的标准中,消息流程会更加复杂,场景更多变。这样就需要我们根据实际环境中的场景定制消息流程。本文只讨论带SDP的183/180消息。环境centos:CentOS release7.0......
  • m基于自适应修复算法的AODV-SAR路由协议matlab性能仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要AODV-SAR,Self-AdaptiveRepair定义1自修复节点:任意选取路径S→A→B→C→D为MANET中一条业务传输路径,其中节点S为该传输路径的源节点,节点D为该传输路径的目的节点。如果在某一时间,节点B和节点C之间的路径发生......
  • m基于自适应修复算法的AODV-SAR路由协议matlab性能仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要AODV-SAR,Self-AdaptiveRepair          定义1自修复节点:任意选取路径S→A→B→C→D为MANET中一条业务传输路径,其中节点S为该传输路径的源节点,节点D为该传输路径的目的节点。如果在某......
  • 车载测试三大通信协议
    CAN、LIN和FlexRay是常见汽车通信的协议。它们被广泛应用于现代汽车中,实现内部通信和控制系统。1.CAN(ControllerAreaNetwork)协议CAN协议是一种广泛使用的实时通信协议,旨在汽车电子系统中实现高可靠性通信。它最早是由德国的Bosch公司开发的,现已成为汽车行业的标准协议之一......
  • MQTT协议及其在Golang中的实现
    引言:在物联网(IoT)领域中,设备之间的通信是至关重要的。为了实现设备之间的高效、轻量级通信,MQTT(MessageQueuingTelemetryTransport)协议被广泛采用。MQTT是一种基于发布/订阅模式的消息传输协议,被设计为简单、轻量级且易于实现。本文将介绍MQTT协议的核心概念,并演示如何使用Gola......
  • 通信三要素:协议-TCP
          ......