webrtc学习(七)-媒体协商

一.概述

媒体协商嘴主要的作用就是看通信双方都支持那些编解码器,这些编解码器又包含那些参数,比如音频的参数包括采样率,采样大小,通道数,对于视频的参数包括分辨率帧率等一系列参数,此外传输中用的payloadtype也是协商中确定的,这些信息都是在sdp中进行的描述。

二.媒体协商步骤

从上图中可以看到,一共分成8步,对于呼叫端A来说,第一步是创建一个类型为offer的sdp,创建好之后执行第二步将创建好的offer设置到他内部的缓冲区中,第三部将offer通过信令服务器传给对端,第四步被呼叫端将收到的offer保存在自己的缓冲区中,之后创建answer,第六步将自己创建的answer设置在自己的缓冲区中,然后将answer通过信令服务器返回给呼叫端,第8不,呼叫端将远端的answer也设置在自己的缓冲区中。

三.媒体协商时序图

四.完美协商

传统协商内部维护了一个状态机,存在几个问题:1.老的协商容易产生错误,比如同时创建了offer。2.业务逻辑中混杂了协商代码

完美协商双方可以同时收到offer,收到offer之后,需要给双方设定角色,polite和impolite,一个有礼貌一个是没礼貌的,对于没礼貌的那个会退化,创建一个answer,当他收到offer之后,他就会把这个offer抛弃掉。对于完美协商没有creater offer和answer,用不带参数的setlocaldescription自动生产offer和answer。

相关推荐
臭东西的学习笔记8 小时前
论文学习——机器学习引导的蛋白质工程
人工智能·学习·机器学习
ghgxm5209 小时前
Fastapi_00_学习方向 ——无编程基础如何用AI实现APP生成
人工智能·学习·fastapi
求真求知的糖葫芦10 小时前
巴伦学习(一)一种新型补偿传输线巴伦论文学习笔记(自用)
笔记·学习·射频工程
沉默-_-10 小时前
力扣hot100滑动窗口(C++)
数据结构·c++·学习·算法·滑动窗口
freepopo10 小时前
书房设计|3㎡书桌角,治愈学习时光 [特殊字符]
学习
鑫—萍10 小时前
嵌入式开发学习——STM32单片机入门教程
c语言·驱动开发·stm32·单片机·嵌入式硬件·学习·硬件工程
S火星人S10 小时前
LVGL[display]
单片机·学习
zzcufo12 小时前
多邻国学习笔记第五阶段第10-11部分
笔记·学习·c#
航Hang*13 小时前
计算机等级考试(二级WPS)---第1章:综合应用基础---第2节:PDF文件应用
笔记·学习·pdf·wps·计算机二级·计算机等级考试
zhangrelay13 小时前
Linux(ubuntu)如何锁定cpu频率工作在最低能耗模式下
linux·笔记·学习