十九、媒体能力协商过程

注:以下图片来自慕课网,侵权可删

RTCPeerConnection是WebRTC的核心类

  • 基本格式
    pc = new RTCPeerConnection([configuration])
RTCPeerConnection方法分类
  • 媒体协商
  • Stream/Track
  • 传输相关方法
  • 统计相关方法
媒体协商过程

A创建offer形成一个SDP,通过云端信令channel传给B,在传之前要调一个setLocalDescription方法,触发一个非常重要的作用就是收集候选者;B端收到offer时,调用setRemoteDescription,将offer形成的SDP数据,放到自己远端的描述信息的槽里,然后回复一个Answer,Answer回复的是B本机的所有的媒体信息,网络信息,也会调用setLocalDescription方法,触发收集候选者;A收到Answer后存到自己的槽中;每个人都拿到两个SDP信息,在内部进行协商,取出交集,协商过程建立完成,进行下一步工作

媒体协商方法
  • createOffer
    基本格式
    promise = myPeerConnection.createOffer([options])
  • createAnswer
    基本格式
    promise = myPeerConnection.createAnswer([options])
  • setLocalDescription
    基本格式
    promise = myPc.setLocalDescription(sessionDescription)
    sessionDescription是createOffer或createAnswer创建成功的结果
  • setRemoteDescription
    基本格式
    promise = myPc.setRemoteDescription(sessionDescription)
    sessionDescription是createOffer或createAnswer创建成功的结果
Track方法
  • addTrack
    基本格式
    rtpSender = myPc.addTrack(track, stream...)
    track:添加到RTCPeerConnection中的媒体轨(音频track/视频track)
    stream:getUserMedia中拿到的流,指定track所在的stream
  • removeTrack
    基本格式
    myPc.remoteTrack(rtpSender)
重要事件
  • onnegotiationneeded 协商事件
  • onicecandidate 收到候选者时触发的事件
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇翻译不完整。请帮忙从英语翻译这篇文章。 这是一个实验中的功能 此功能某些浏览器尚在开发中,请参考浏览器兼容性表...
    小杰的简书阅读 5,031评论 0 0
  • 本文实现一个简易的单向webrtc网关,使用chrome浏览器浏览服务器上的h264视频文件。代码地址 https...
    little_wang阅读 17,251评论 6 20
  • 摘要: 深入JS系列18。 原文:JavaScript 是如何工作的:WebRTC 和对等网络的机制! 作者:前端...
    Fundebug阅读 11,295评论 0 16
  • SDP协议 概述 SDP(会话描述协议),用于两个会话实体之间的媒体协商,并达成一致,属信令语言族,采用文本(字符...
    耦耦阅读 11,949评论 0 6
  • 1、寄收明信片 2、拍照片,洗出来贴在墙上 3、走在路上听歌 4、帮助别人假装自己是救世主 5、边一个人吃饭边看小...
    wendy静儿阅读 3,276评论 0 0