在我的示例ReactJs应用程序中,我正在使用react-multimedia-capture-使用navigator.mediaDevices.getUserMedia
和MediaRecorder API来录制视频。
我可以从Chrome录制视频,但是在Safari中无法捕获视频。错误类似于
MediaRecorder未定义。
有人可以帮帮我吗,
Safari是否支持基本视频捕获?
答案 0 :(得分:3)
Safari当前默认情况下不支持MediaRecorder API,但是您可以从“开发”>“实验性功能”>“ MediaRecorder”启用它们。
从野生动物园录制视频的方法是使用对等连接并在另一端捕获视频。 很少有提供此功能的开源应用程序和第三方服务,并且它们非常稳定。
如果仅支持通过移动设备进行录制,则可以使用HTML5文件API,只需单击一下即可弹出相机。您可以使用ffmpeg或azure媒体服务将其修剪特定的时间。
<input id="videoFile" type="file" class="hidden" accept="video/*" capture="">
只需确保使用JavaScript将此文件另存为.mp4,即可在每个设备或<video>
标签上播放。
var file = $('#videoFile')[0];
var blob = file.files[0].slice(0, file.files[0].size, 'video/mp4');
var newFile = new File([blob], 'video.mp4', { type: 'video/mp4' });
答案 1 :(得分:1)
在最新的Safari中,您可以从“开发”菜单启用MediaRecorder。
尝试使用此Cam Recorder HTML5 demo,它也提供了有关Safari的详细说明。
答案 2 :(得分:0)
MediaStream Recorder API的基本实现刚刚在macOS上的Safari Technology Preview 73中引入(2019年1月)。
我已经介绍了this article中受支持/不受支持的功能。
希望,更完整的实现将使其很快进入macOS和iOS上的Safari 12.x。
答案 3 :(得分:0)
Octavian Naicu
MediaStream Recorder API的基本实现刚刚在macOS上的Safari Technology Preview 73中引入(2019年1月)。
您是否尝试过在Safari IOS 12.2上进行视频录制?
Why does upload image via camera work on mobile-safari but not as iOS PWA?