我正在使用WebRtc和javascript库RecordRtc进行视频录制。目前两者都适用于Chrom和Mozilla。使用另一个javascript库adaper.js我能够在Internet Explorer和Safari中完成工作 navigator.getUserMedia()。所以下面的代码正在检测输入设备,例如:所有浏览器中的内置摄像头。
<video id="video" autoplay="" loop="" controls="" muted=""></video>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://www.webrtc-experiment.com/RecordRTC.js"> </script>
<script type="text/javascript" src="https://cdn.temasys.com.sg/adapterjs/0.13.3/adapter.min.js"></script>
<script type="text/javascript">
var recorder;
var video = document.getElementById('video');
AdapterJS.webRTCReady(function(isUsingPlugin) {
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
navigator.getUserMedia({ audio: true, video: true }, function(stream) {
//console.log("hai");
video.src = URL.createObjectURL(stream);
video.width = 320;
video.height = 240;
var options = {
type: 'video',
video: {
width: 320,
height: 240
},
canvas: {
width: 320,
height: 240
}
};
recorder = window.RecordRTC(stream, options);
//console.log(recorder);
recorder.startRecording();
}});
});
</script>
这在Chrome和Mozilla中运行良好,能够获得录制的blob。但在IE和Safari中,检测到相机后显示一个错误
排队
video.src = URL.createObjectURL(stream);
显示
"No such interface supported"
任何人都可以建议任何解决方案或替代方案,我们将非常感谢帮助,因为基本上我被卡住了。
答案 0 :(得分:1)
这是因为IE和Safari在他们最新的稳定公开发布中还没有实现WebRTC。
查看WebRTC browser support页面了解详情。
答案 1 :(得分:1)
您可以使用Temasys WebRTC插件和Adapter.js来支持所有四种主要浏览器。我们也对ORTC和Edge进行了调整,尽管正如Edge所说,此时不支持WebRTC视频流。
Skylink.io,Temasys的PaaS还可以根据要求提供私人测试版的录制和存档。 GA发布将于2016年第二季度晚些时候发布。
披露:我是Temasys的首席运营官和首席营销官。