web端录屏实现思路

288 阅读1分钟
## web端录屏实现方案

---

##### 需产出视频文件,无论那种方案都至少要拿到媒体流,媒体流主要分两个来源:

1.当前网页上的媒体,包括通过canvas(画板)元素导出视频流 但无音频;

2.申请用户的录像录音权限,通过navigator.mediaDevices.getUserMedia() (获取桌面录制的权限申请) 可以取得用户的桌面录像权限,录制桌面可以同时申请录音权限,拿到媒体流有音频;

---

但都有各自的优点和局限性,总结如下:


### 1.通过canvas导出媒体流的方式

##### 性能比调用录像权限的性能好很多,但需要实现音频和视频的二次合成,因为canvas导出流无法录音;

==!需要java配合实现音视频合成,浏览器无法实现==

### 2.通过调用用户录像权限录屏幕即老版本实现方案,
但是存在两个严重问题

==1.兼容性很差==

==2.性能问题很严重,但是还不能确定是底层api的问题还是我们实现业务时候的代码问题== 


### 3.调用第三方外挂的录屏程序