从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打造音视频直播系统
登录|注册

14 | 如何打开/关闭音视频?

李超 2019-08-15
在实时互动直播系统中,打开 / 关闭音视频流是很常见的需求。作为一个直播用户,你至少会有下面几种需求:
将远端的声音静音。比如来了一个电话,此时,应该先将直播中远端的声音关掉,等接完电话再将远端的声音打开,否则电话的声音与直播远端的声音会同时播放出来。
将自己的声音静音。比如老板要找你谈话,这时你应该将直播中自己的声音静音,否则你与老板的一些私密谈话会被远端听到。比如被老板骂了,要是被远端听到可就尴尬了。
关闭远端的视频。这个与远端声音静音差不多,只不过将声音改为视频了。比如当机子性能比较差的时候,为了节省资源,你可能会选择将远端的视频关闭掉。不过这种情况不是很多。
关闭自己的视频。当你不想让对方看到自己的视频时,就可以选择关闭自己的视频。比如今天你的状态特别不好,你又特别在乎你的形象,此时你就可以选择关闭自己的视频。
这几个功能是实时互动直播中的必备功能。因此,在开发实时互动直播系统时一定要将这些功能添加到你的系统中,那该如何实现它们呢?

基本逻辑

针对上面的问题,本节我们就讨论一下如何才能实现这几个功能。下面我们就按需求分别对这几个功能做详细的分析。

1. 将远端的声音静音

要实现这个功能,你可以通过在播放端控制发送端控制两种方式实现。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0打造音视频直播系统》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(7)

  • 焦亠乂
    实际应用中, 关闭自己的视频时,如果不关闭摄像头,本地加显一直存在,自己怎么确定关掉了自己的视频?

    作者回复: sorry! 没太理解你的意思!

    2019-11-26
  • Winter
    请问webrtc的声音来源可以是电脑应用自身的声音,比如播放的音乐,而不是采集外界的声音么?

    作者回复: 通过电脑的mic 采集的。如果你是一台笔记记本的话,它本身就自带mic;如果你是PC 的话,要外接mic。

    2019-11-16
  • frank
    SFU服务临时静音,都是服务器端停止转发该rtp实现

    作者回复: 是的

    2019-08-17
  • hao11111205
    将自己的声音静音的其它方法:将本地的麦克风静音;将远端的声音静音的其它方法:将本地的喇叭静音。主要是通过控制音频设备来实现。

    作者回复: 将本地的麦克静音后,是对方听不到了,不是你的喇叭不响哈,你再仔细想想!

    2019-08-16
    1
  • 老师,请问下是什么原因导致我的ice回调方法didChangeIceGatheringState这么慢呢,从Gathering到Complete的过程需要5秒至10秒

    作者回复: 其实这个状态你不必特别关心的,它是由底层自己完成的,不是说只有 complete之后才进行连接。你只要每次收到回调,就将它发送给对方,这样双方是在 gathering的状态下就开始偿试连接的建立的。对于本地收集 candidate 来说是特别快的,你的收集之所以慢,应该是你使用了 stun 服务导致的,主要还是你的 stun服务器的与你的主机之间的网络问题

    2019-08-15
    2
  • 许童童
    你还能想到其他可以打开 / 关闭音视频的方法吗?
    我能想到通过物理的方式,比如拔掉开关,关闭电源。或者通过硬件控制器。

    作者回复: 关闭电源...,兄弟你够猛,哈哈!

    2019-08-15
  • Jason
    其他可以打开 / 关闭音视频的方法:通过更新sdp的视频、音频信息,是不是也可以呢?

    作者回复: 是的,具体的做法呢?

    2019-08-15
收起评论
7
返回
顶部