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。

相关推荐
星幻元宇VR5 分钟前
VR爱国教育学习机|让红色精神在沉浸体验中代代传承
科技·学习·vr·虚拟现实
逆小舟11 分钟前
【SWM320】学习使用UART
单片机·学习·嵌入式软件
果果燕40 分钟前
网络编程-TCP 协议学习笔记
网络·学习·tcp/ip
蒸蒸yyyyzwd42 分钟前
设计模式之美学习笔记
笔记·学习·设计模式
非凡ghost43 分钟前
Smart Launcher安卓版(安卓桌面启动器)
android·windows·学习·音视频·软件需求
智慧化智能化数字化方案1 小时前
向华为学习——解读华为工业与AI融合应用指南【】
人工智能·学习·华为工业与ai融合应用指南
盐水冰1 小时前
【烘焙坊项目】后端搭建(11)- 用户&商家订单板块
java·后端·学习
头疼的程序员1 小时前
计算机网络:自顶向下方法(第七版)第五章 学习分享(一)
学习·计算机网络
EasyDSS1 小时前
EasyDSS以视频点播VOD/高清直播/WebRTC视频会议/语音转写STT技术创新,解决校园数字化核心难题
音视频·webrtc·语音识别·点播技术·流媒体直播
zyb11475824331 小时前
集合的学习
开发语言·python·学习