如何使用webtc或来自视频标签的媒体流录制远程视频
How to record remote video using webrtc or media stream from video tag
你好,我正在使用webrtc设置one21视频通话。我可以录制本地视频,但不能录制远程视频。我想录制远程视频。请帮助! ! .
您可以使用RecordRTC或MediaStreamRecorder或MediaRecorder API来录制本地和/或远程视频。
对于远程视频,有两个选项:
- 记录
peer.onaddstream
事件视频 - 使用
captureStream
API从<video>
标签录制视频
第一个是非常简单的,但是如果你必须访问javascript代码。
第二个选项也很容易通过这个chrome扩展:
- https://chrome.google.com/webstore/detail/recordrtc/ndcljioonkecdnaaihodjgiliohngojp(此处开源)
captureStream
API同时支持Chrome >=53
和Firefox
Chrome仍然需要这个标志:chrome://flags/#enable-experimental-web-platform-features
如果您启用以上标志,重新启动chrome,并右键单击任何视频(在任何网页上),您将能够录制该视频。(无论是webbrtc视频、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();
};
可以在两个地方录制视频
- 本地:我个人认为这是一个坏主意,因为浏览器的存储容量有限。如果这是好的,然后我们可以继续使用RecordRtc或MediaStreamRecorder
- 远程服务器:这是一个更好的选择。它可以在服务器上录制与会者的视频。有很多方法可以做到这一点。我尝试过的一种方法是Kurento。它有Java和node.js实现的示例。示例
相关文章:
- 视频HTML没有'无法在Internet Explorer 11上工作
- 播放当前视频时如何停止其他视频?JavaScript
- 使用Facebook live API创建实时视频对象时的隐私设置
- Brightcove获取/显示HTML中的当前视频标题和描述
- 如何创建包含多个视频的视频横幅
- html5视频交互式视频播放器
- Javascript/HTML 5 视频 - 检测视频是否未加载
- 带有YouTube视频的视频库 - 无法嵌入
- 如何在HTML5中使用YouTube视频作为“视频”标签的来源
- 如何在没有控件的情况下暂停视频.js视频
- 如何建立具有youtube视频的视频播放列表
- 我想用js更改一个html5视频的视频源
- 使用JQuery或Javascript在IFrame中用另一个视频替换视频
- Chrome中阻止的视频-运行视频提供商的不安全内容
- 如何使用servlet和jsp在浏览器上播放视频,视频存储在本地系统中,如D:/video/sample.mp4
- 获取下一个播放视频的视频id
- 在js变量中获取brightcove视频的视频静态URL
- 用JavaScript改变HTML 5.0视频的视频分辨率
- 从Youtube V3 API频道获取已发布视频的视频
- 是否可以在单独的线程中运行 HTML 5 视频