#青训营笔记创作活动#
1月20日 Day7

WebRTC-----一项新技术

1.WebRTC的概念
WebRTC 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点的连接,实现视频流和音频流或者其他任意数据的传输。WebRTC 包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点的数据分享和电话会议成为可能

2.应用场景
直播、游戏、视频会议、屏幕共享、远程控制等等,都可以使用。

3.媒体流
要想了解 WebRTC,首先要了解媒体流,媒体流可以是来自本地设备的,也可以是来自远程设备的。媒体流可以是实时的,也可以是非实时的。上述的应用场景中,我们都需要使用到媒体流,我们可以通过摄像头,麦克风,屏幕共享等方式获取到媒体流,然后通过 WebRTC 技术将媒体流传输到远端实现实时通讯。

4.通过摄像头获取媒体流
要实现音视频通话,我们肯定要先获取到摄像头的媒体流,然后通过 WebRTC 技术将媒体流传输到远端实现实时通讯。如何通过摄像头获取媒体流。先设置好用于播放媒体流的 video 标签,获取通过摄像头获取媒体流后,将媒体流赋值给 video 标签的 srcObject 属性,让其播放。如果想实现拍照功能,使用canvas 标签可以将媒体流绘制到 canvas 上,也可以通过 toDataURL 方法将 canvas 转换为 base64 图片后做一些其他操作。

5.通过共享获取媒体流
在 WebRTC 中,我们可以通过 getDisplayMedia 来获取屏幕共享的媒体流,这个 API 与 getUserMedia 类似,但是它只能获取屏幕共享的媒体流。执行 shareScreen 函数后,会弹出一个权限询问框,询问是否允许获取屏幕共享的媒体流。然后你就可以分享你的整个屏幕,如果你又多个屏幕的话,你可以选择其中一个进行分享。
展开
评论