一、SDP协议概述

SDP(Session Description Protocol)是一个用来描述多媒体会话的应用层控制协议,
它是一个基于文本的协议,用于会话建立过程中的媒体类型和编码方案的协商等.

它不属于传输协议,它只使用不同的适当的传输协议,
包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、
MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。
SDP协议是也是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围。
SDP 不支持会话内容或媒体编码的协商,所以在流媒体中只用来描述媒体信息。
媒体协商这一块要用RTSP来实现。

SDP至少需要包含:
 . 会话名称及意图
 . 会话有效时间
 . 媒体流信息(类型、地址、端口、格式等)

SDP在SIP协议栈中的位置如图所示:

二、SDP协议消息格式

SDP描述由许多文本行组成,文本行的格式为:

<类型>=<值>,

<类型>是一个字母,<值>是结构化的文本串,其格式依<类型>而定。
   <type>=[CRLF]

在描述一个会话时SIP消息正

WebRTC源码-信令之六:SDP协议与协商流程相关推荐

  1. WebRTC源码研究(4)web服务器工作原理和常用协议基础

    文章目录 WebRTC源码研究(4)web服务器工作原理和常用协议基础 前言 做WebRTC 开发为啥要懂服务器开发知识 1. Web 服务器简介 2. Web 服务器的类型 3. Web 服务器的工 ...

  2. WebRTC源码研究(4)web服务器工作原理和常用协议基础(转载)

    前言 前面3篇博客分别对WebRTC框架的介绍,WebRTC源码目录,WebRTC的运行机制进行了介绍,接下来讲解一点关于服务器原理的知识.后面博客会写关于WebRTC服务器相关的开发,目前git上面 ...

  3. WebRTC源码研究(1)WebRTC架构

    文章目录 WebRTC源码研究(1)WebRTC架构 1. WebRTC简介 2. WebRTC的能力 2.1 抓住属于WebRTC的5G时代风口 2.1.1 浏览器的支持情况 2.1.2 大厂的加入 ...

  4. 最新 WebRTC 源码目录结构分析

    前言 最近一直在研究 WebRTC源码,发现目前网上分析WebRTC源码的资料非常少.随着Google不断推进WebRTC标准,WebRTC 代码的变化非常大,很多以前的分析文章目前都与最新的代码无法 ...

  5. webrtc源码学习 - 点对点(P2P)链接过程(peer connection)

    创建PC pc 是 peer connection 的简写,以下文章中pc 都特指 peer connection PeerConnection 是webrtc 中链接过程非常重要的接口,提供了包括, ...

  6. WebRTC源码分析-呼叫建立过程之五(创建Offer,CreateOffer,上篇)

    目录 1. 引言 2 CreateOffer声明 && 两个参数 2.1 CreateOffer声明 2.2 参数CreateSessionDescriptionObserver 2. ...

  7. WebRTC源码分析-呼叫建立过程之四(上)(创建并添加本地音频轨到PeerConnection)

    目录 1. 引言 2. 音频轨创建和添加 2.1 音频源AudioSource的创建 2.1.1 音频源继承树 2.1.2 近端音频源LocalAudioSource 2.1.3 远端音频源Remot ...

  8. WebRTC源码研究(7)创建简单的HTTPS服务

    文章目录 WebRTC源码研究(7)创建简单的HTTPS服务 1. HTTPS简介 2. HTTPS 协议 3. HTTPS 证书 4. 创建简单的HTTPS服务 4.1 生成HTTPS证书 4.2 ...

  9. webrtc学习--webrtc源码获取

    文章目录 前言 webrtc下载编译 正常编译webrtc 获取对应的版本 获取对应的版本,下面以获取m98版本为例 webrtc对应的版本的地址,需要翻墙才能查看 编译记录 peerconnecti ...

最新文章

  1. AnjularJS笔记5--ng-repeat跟据ID判断重复性
  2. C语言的成绩查询系统,c语言 成绩查询系统
  3. 【Qt】undefined reference to `vtable for xxx’
  4. 关于JavaScript的变量和函数提升
  5. vue 监听路由变化
  6. WebApp 开发中常用的代码片段
  7. java 匿名接口实现_Java通过接口实现匿名类的实例代码
  8. C语言学习及项目开发所遇问题总集(一)---Mr.Zhang
  9. mysql查询和缓存原理
  10. alin39048错误原因_支付宝支付ALIN10146错误
  11. SpringMVC-@RequestMapping的参数和用法
  12. 论文阅读:Uncertainty-aware Joint Salient Object and Camouflaged Object Detection
  13. Django模板过滤
  14. bluem2.com引擎mysql,蓝色bluem2引擎登录器配置教程详细,bluem2列表格式
  15. TOGAF9-certification简介
  16. linux下编译ffmpeg很多报错,linux下ffmpeg库 ARM交叉编译
  17. 一文看懂DSP的DMA传输(burst、transfer、wrap)
  18. 一、OpenAI ChatGPT 注册使用
  19. 【高德地图进阶】--- 带图片的点(3)
  20. 软件测试工作流程规范

热门文章

  1. vue 微信分享带图片,带title,带简介
  2. java对配_[Java教程]对局匹配
  3. 将Kali2安装到U盘的实践----图文并茂,详细的让你哭
  4. 【C语言】按要求输出矩阵。
  5. fopen函数的各种参数 r+ w+ a+ ab+
  6. 陆奇新东家落定,YC入华将开创另类创投
  7. 关于高考志愿填报那些事(个人经验,仅供参考)
  8. 基于python与scipy拟合椭圆
  9. 我的世界-0----计算机简史(2):从穿孔制表机到计算机
  10. Go语言实现原理——锁实现原理