如何使用来自视频标签的webrtc或媒体流录制远程视频

时间:2016-11-18 12:46:11

标签: javascript video webrtc

您好我正在使用webrtc设置one2one视频通话。我可以录制本地视频但不能录制远程视频。我想录制远程视频。请帮忙!!。

2 个答案:

答案 0 :(得分:1)

您可以使用RecordRTCMediaStreamRecorder或MediaRecorder API录制本地和/或远程视频。

对于远程视频,有两种选择:

  1. 录制来自peer.onaddstream活动
  2. 的视频
  3. 使用<video> API
  4. captureStream代码录制视频

    第一个是VERY_Easy但是你必须能够访问javascript代码。

    通过此Chrome扩展程序,第二个选项也很简单:

    Chrome captureStream和Firefox上都支持

    >=53 API。

    但是,Chrome仍需要此标记:chrome://flags/#enable-experimental-web-platform-features

    如果您启用了以上标记,请重新启动Chrome,然后右键单击任何视频(在任何网页上),您就可以录制该视频。 (无论是WebRTC视频,mp4还是webm文件还是HLS / DASH直播流)

    以上是上述扩展的基本概念:

    var streamFromVideoTag = videoTag.captureStream(15); // 15 is frame-rates
    var recorder = RecordRTC(streamFromVideoTag, {type: 'video'});
    

    对于onaddstream事件选项:

    var recorder;
    peer.onaddstream = function(event) {
       var streamToBeRecorded = event.stream;
       recorder = RecordRTC(streamToBeRecorded, {type: 'video'});
       recorder.startRecording();
    };
    

答案 1 :(得分:0)

录制视频有两个可能的地方

  1. 本地:由于浏览器的存储容量有限,我个人认为这是一个坏主意。如果没问题,我们可以继续RecordRtcMediaStreamRecorder
  2. 远程服务器:这是一个更好的选择。它可以在服务器上记录参与者的视频。有办法做到这一点。我试过的一种方法是Kurento。它有Java和node.js实现以及示例。 Example