繁体   English   中英

WebRTC:Chrome无法录制视频/音频

[英]WebRTC : Chrome not recording video/audio

我正在尝试从网络摄像头录制音频和视频。 我偶然发现了HTML5 getUserMedia ,进一步的搜索使我转向了WebRTC [哦! 顺便说一句,这真的很酷。

我在firefox上实现了它,并且可以正常工作,可以完美地录制音频和视频,但是在chrome上,音频或视频会根据通过的配置进行录制。 进一步的谷歌搜索使我进入了这篇文章 ,它清楚地表明一个线程阻塞了另一个线程。 现在,我看到了chrome演示,它们同时演示了两个音频视频捕获。

这是我的代码如下所示:

// Start recording
captureUserMedia(function(stream) {
                    localStream = stream;
                    window.audioVideoRecorder = window.RecordRTC(stream, {
                        type : 'video/webm'
                    });
                    window.audioVideoRecorder.startRecording();
                });

// Stop recording
window.audioVideoRecorder.stopRecording(function(url) {
                    videoElement.src = url;

                    videoElement.onended = function() {
                        videoElement.pause();
                        videoElement.src = URL.createObjectURL(audioVideoRecorder.getBlob());
                    };
                });

上面的代码用于在单击按钮时启动和记录媒体。 控制台登录后,录制后我返回的Blob显示了针对firefox的video/webm和针对Chrome的audio/wav

这清楚地表明一个正在阻止另一个。 是否有用于记录这两个或任何其他我所缺少的javascript的解决方案,应添加使其生效。

更新:如下面@ mido22所示,这是解决方法。 链接可以在这里找到。

我已经对该主题进行了一些研究,目前还无法获得包含音频和视频的单个录制文件。 原因是可以在firefox中完成的是MediaRecorder API

我没有使用RecordRTC,但是怀疑在内部,他们使用whammy.js进行webm录制,而使用recorderjs进行wav录制。

因此,最简单的铬解决方案是:

  1. 使用RecordRTC第一个实例将视频录制为webm
  2. 使用RecordRTC第二个实例将RecordRTC记录为wav
  3. 将两者都上传到服务器,并使用ffmpeg合并它们。
  4. 提供一个链接,使用户可以访问合并的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM