从0打造音视频直播系统
李超
前新东方音视频直播技术专家,前沪江音视频架构师
立即订阅
2827 人已学习
课程目录
已完结 40 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 5G的到来将会为音视频插上飞翔的翅膀
免费
WebRTC 1对1通话 (23讲)
01 | 原来通过浏览器访问摄像头这么容易
02 | 如何通过WebRTC进行音视频设备检测呢?
03 | 如何使用浏览器给自己拍照呢?
04 | 可以把采集到的音视频数据录制下来吗?
05 | 原来浏览器还能抓取桌面?
06 | WebRTC中的RTP及RTCP详解
07 | 你竟然不知道SDP?它可是WebRTC的驱动核心!
08 | 有话好商量,论媒体协商
09 | 让我们揭开WebRTC建立连接的神秘面纱
10 | WebRTC NAT穿越原理
11 | 如何通过Node.js实现一套最简单的信令系统?
12 | RTCPeerConnection:音视频实时通讯的核心
13 | 在WebRTC中如何控制传输速率呢?
14 | 如何打开/关闭音视频?
15 | WebRTC中的数据统计原来这么强大(上)
16 | WebRTC中的数据统计原来这么强大(下)
17 | 如何使用Canvas绘制统计图表(上)?
18 | 如何使用Canvas绘制统计图表(下)?
19 | WebRTC能不能进行文本聊天呢?
20 | 原来WebRTC还可以实时传输文件?
21 | 如何保证数据传输的安全(上)?
22 | 如何保证数据传输的安全(下)?
23 | 实战演练:通过WebRTC实现一个1对1音视频实时直播系统
WebRTC多人音视频实时通话 (7讲)
24 | 多人音视频实时通讯是怎样的架构?
25 | 那些常见的流媒体服务器,你该选择谁?
26 | 为什么编译Medooze Server这么难?
27 | 让我们一起探索Medooze的具体实现吧(上)
28 | 让我们一起探索Medooze的具体实现吧(下)
29 | 如何使用Medooze 实现多方视频会议?
30 | 实战演练:通过WebRTC实现多人音视频实时互动直播系统
支持上万人同时在线的直播系统 (8讲)
31 | 一对多直播系统RTMP/HLS,你该选哪个?
32 | HLS:实现一对多直播系统的必备协议
33 | FLV:适合录制的多媒体格式
34 | 如何使用Nginx搭建最简单的直播服务器?
35 | 如何构建云端一对多直播系统?
36 | 如何使用 flv.js 播放 FLV 多媒体文件呢?
37 | 如何使用 video.js 播放多媒体文件?
38 | 实战推演:带你实现一个支持万人同时在线的直播系统
结束语 (1讲)
结束语 | 路漫漫其修远兮,吾将上下而求索
从0打造音视频直播系统
登录|注册

12 | RTCPeerConnection:音视频实时通讯的核心

李超 2019-08-10
RTCPeerConnection 类是在浏览器下使用 WebRTC 实现 1 对 1 实时互动音视频系统最核心的类。你可以认为它是一个总的接口类或者称它为聚合类,而该类中实现的很多功能都是由其他类具体实现的。
像我前面讲的很多文章,都是 RTCPeerConnection 类的一部分功能,如 :
《06 | WebRTC 中的 RTP 及 RTCP 详解》讲的是底层网络数据传输协议与其控制协议。
《09 | 让我们揭开 WebRTC 建立连接的神秘面纱》讲的是 WebRTC 底层是如何建立连接的。
《10 | WebRTC NAT 穿越原理》介绍了在 WebRTC 底层进行 NAT 穿越的过程。
以上这些内容都是 RTCPeerConnection 类的功能。除了上述讲的这些内容之外,RTCPeerConnection 类还有许多其他的功能,我在后面的文章中还会向你逐一介绍。
RTPPeerConnection 这个知识点是你掌握 WebRTC 开发的重中之重,抓住它你就抓住了学习 WebRTC 的钥匙(这里你一定要清楚,SDP 是掌握 WebRTC 运行机制的钥匙,而 RTCPeerConnection 是使用 WebRTC 的钥匙),这样可以让你很快学会 WebRTC 的使用。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0打造音视频直播系统》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(8)

  • 许童童
    读完这一讲,记住一句话就可以了。
    RTCPeerConnection就是一个功能超强的 socket!
    2019-08-11
    3
  • forever
    老师您好,我想请教一下如何解决webrtc 兼容性的问题,特别是在ios端使用腾讯x5内核的时候

    作者回复: iOS端只能用 safari,其它的浏览器都不能用 webrtc,之所以这样是因为苹果不允许其它浏览器访问底层 API,只能通过 webview实现浏览器。因此你会发现在iOS上只有 safari才能访问专栏中讲解的那些API

    2019-08-10
    1
  • LittleJi
    因为这是在同一个页面,所以不涉及到两个端之间怎么连接吗?比如不在同一内网的话,怎么进行连接,NAT穿越?因为是同一个端,所以ip相同、端口也相同,是吗?

    作者回复: 这里只讲了在同一个浏览器两个不同页而的情况。对于两台不同的机子之间的通信过程与在同一台机子同一个浏览器中的两个不同页面之间的通信过程基本是一样的,后面都有讲到,继续往下看哈!

    2019-11-11
  • 编译缺陷
    这里的RTCPeerConnection是实现了socket,但是如果要跨端的话. new RTCPeerConnection(server).这里server的配置可以支持跨端吗?对这里server的细节不是很清楚.怎么做到把steam通过RTCPeerConnection传给server服务端

    作者回复: 当然,RTCPeerConnection就是传输数据的,无论是哪个端都可以通过 RTCPeerConnection 进行数据的接收与发送,这应该上与它的参数 server没啥关系。

    2019-09-14
  • Geek_leo长沙
    老师能不能增加移动端的案例讲解

    作者回复: 这这专栏架不了了,移动端也有一打块知识,等后面的专栏再规划哈

    2019-09-04
    1
  • xilie
    前面看不懂,到这才有感觉,又得回头去看前面的协议,建议凡事先上能跑起来的代码,再逐步解剖协议,好一点

    作者回复: 😄,协议的内容相对来说稍难了一些,而知识的理解也需要一个时间过程

    2019-08-14
  • Ray-J
    老师,Candidate的作用是用来做什么的呢?翻译过来 是候选人, 很难理解这个词,希望能得到老师的帮助加深理解

    作者回复: 就是 <IP,端口>对, 假设你的主机有两上网卡,都使用5678这个端口,那你就有两个候选者,它们分别是<网卡1的IP,5679>,<网卡2IP, 5678>

    2019-08-12
  • Keep-Moving
    老师,本节完整的代码github有吗?

    作者回复: 有,今天晚上会上传上去

    2019-08-10
收起评论
8
返回
顶部