如何使用 webrtc 或视频标签中的媒体流录制远程视频
How to record remote video using webrtc or media stream from video tag
你好我正在使用 webrtc 设置 one2one 视频call.I 可以录制本地视频但不能远程 video.I 想录制远程 video.Please 求助!!.
您可以使用 RecordRTC or MediaStreamRecorder 或 MediaRecorder API 录制本地 and/or 远程视频。
远程视频有两种选择:
- 录制
peer.onaddstream
事件的视频
- 使用
captureStream
API 从 <video>
标签录制视频
第一个是 VERY_Easy,但是您必须能够访问 javascript 代码。
第二个选项也很容易通过这个 chrome 扩展:
- https://chrome.google.com/webstore/detail/recordrtc/ndcljioonkecdnaaihodjgiliohngojp ( Open Sourced here)
captureStream
API 在 Chrome >=53
和 Firefox 上均受支持。
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();
};
有两个地方可以录制视频
- Locally:我个人认为这是个坏主意,因为浏览器的存储容量有限。如果没问题,那么我们可以继续 RecordRtc OR MediaStreamRecorder
- 远程服务器:这是一个更好的选择。它可以在服务器上录制与会者的视频。有办法做到这一点。我尝试过的一种方法是 Kurento。它同时具有 Java 和 node.js 实现示例。 Example
你好我正在使用 webrtc 设置 one2one 视频call.I 可以录制本地视频但不能远程 video.I 想录制远程 video.Please 求助!!.
您可以使用 RecordRTC or MediaStreamRecorder 或 MediaRecorder API 录制本地 and/or 远程视频。
远程视频有两种选择:
- 录制
peer.onaddstream
事件的视频 - 使用
captureStream
API 从
<video>
标签录制视频
第一个是 VERY_Easy,但是您必须能够访问 javascript 代码。
第二个选项也很容易通过这个 chrome 扩展:
- https://chrome.google.com/webstore/detail/recordrtc/ndcljioonkecdnaaihodjgiliohngojp ( Open Sourced here)
captureStream
API 在 Chrome >=53
和 Firefox 上均受支持。
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();
};
有两个地方可以录制视频
- Locally:我个人认为这是个坏主意,因为浏览器的存储容量有限。如果没问题,那么我们可以继续 RecordRtc OR MediaStreamRecorder
- 远程服务器:这是一个更好的选择。它可以在服务器上录制与会者的视频。有办法做到这一点。我尝试过的一种方法是 Kurento。它同时具有 Java 和 node.js 实现示例。 Example