小编Mal*_*dri的帖子

JavaScript MediaRecorder 不同浏览器之间的视频格式兼容性

介绍

在浏览器上使用MediaRecorder录制视频流时,根据浏览器(Chrome、Safari 或 Firefox),MediaRecorder 可以以特定格式录制视频。

下表显示了 MediaRecorder 可以在每个浏览器中录制的视频格式/容器(我通过使用 isTypeSupported静态方法获得此信息)。本文还使用 isTypeSupported 方法显示了不同浏览器上所有支持的 MediaRecorder 格式的表格。

浏览器 录音格式
铬合金 .WEBM、.MKV
歌剧 .WEBM、.MKV
边缘 .WEBM、.MKV
火狐浏览器 .WEBM
苹果浏览器 .MP4

当您想播放视频时,并非所有浏览器都支持相同的格式。下表显示了每个浏览器可以播放的视频格式(可能不准确)。

浏览器 可以播放视频格式
铬合金 .MP4、.WEBM、.MKV
歌剧 .MP4、.WEBM、.MKV
边缘 .MP4、.WEBM、.MKV
火狐浏览器 .MP4、.WEBM
苹果浏览器 .MP4

问题

我有一个网络应用程序,用户可以在他/她的浏览器上录制视频,然后将该视频上传到数据库。

之后,其他用户可以访问该网站并在其浏览器上观看该视频。如果用户在Safari浏览器上录制视频,则录制的视频格式为所有浏览器支持(MP4),但如果用户使用Chrome或Firefox,则录制的视频格式为除Safari之外的所有浏览器支持(WEBM)。

有没有办法以可以在所有浏览器上播放的格式录制视频(例如 MP4)?

  1. 我尝试使用video.js npm 包但没有成功。
  2. 我还尝试使用 FFMPEG 在客户端转换视频,但与网站相比,处理量巨大,并且需要很长时间。

我正在寻找一种只能在浏览器上完成而无需转换视频格式的解决方案。

javascript cross-browser video-recording web web-mediarecorder

6
推荐指数
1
解决办法
889
查看次数