使用javascript对浏览器窗口进行屏幕录制

Jit*_* Ks 5 javascript webrtc screen-recording recordrtc

我正在开发一个应用程序,它基本上是一个可以嵌入交互式模拟的绘图应用程序。

我正在尝试添加用于在网站本身中录制屏幕和音频的选项,以便教师可以在线创建课程。实现这一目标的最佳方法是什么?我在互联网上搜索了很多,发现Muaz Khan 的 recordRTC是一个非常好的选择。但我是个菜鸟,我觉得里面有太多的选择,我不确定哪个对我来说是最好的选择。

我还阅读了有关 webRTC 的内容。是否可以使用它进行屏幕录制?我不介意使用 chrome 扩展,前提是我应该可以选择用它记录页面的特定部分。请帮忙....

Sae*_*hed 2

自 2018 年 5 月起,您可以使用以下方式在Firefox中获取屏幕视频流:

let constraints = {
  video: {
    mediaSource: "screen"
  }
};

navigator.mediaDevices.getUserMedia(constraints)
  .then(mediaStream => {
    // do something with mediaStream now
  });
Run Code Online (Sandbox Code Playgroud)

然而,这实际上并没有记录屏幕。您需要自己建立一种方法来做到这一点。一种方法是使用 WebRTC 将您获得的视频发送到后端并在那里录制。

就其他浏览器而言:

  • Chrome本身不支持获取屏幕媒体。您必须构建一个扩展并要求您的用户安装它。这并不难做到。
  • Edge & safari 据说支持它,但我还没有尝试过。