Safari 浏览器的视频录制

Sra*_*tty 5 html javascript safari getusermedia

在我的示例 ReactJs 应用程序中,我使用react-multimedia-capture - 它使用navigator.mediaDevices.getUserMediaMediaRecorder API 来录制视频。

我可以从 Chrome 录制视频,但在 Safari 中我无法捕捉视频。错误是这样的

MediaRecorder 未定义。

有人可以帮助我,例如:
Safari 是否支持基本的视频捕获?

小智 10

Safari 目前默认不支持 MediaRecorder API,但您可以从 Develop > Experimental Features > MediaRecorder 启用它们。

从 safari 录制视频的方式是使用点对点连接并在另一端捕获视频。提供此功能的开源应用程序和第三方服务很少,而且非常稳定。

如果您只打算支持从移动设备录制,您可以使用 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' });


Oct*_*icu 2

MediaStream Recorder API 的基本实现刚刚在 macOS 上的 Safari 技术预览版 73 中引入(2019 年 1 月)。

我在本文中介绍了支持/不支持的功能。

希望 macOS 和 iOS 上的 Safari 12.x 能够尽快实现更完整的实现。