我正在尝试使用mediaRecorder API并使其在大多数浏览器上运行。
video/webm;codecs=vp8,opus:在Chrome和Firefox上运行良好...但在Safari上无法正常工作。
video/mp4;codecs:h264:在Safari和Chrome上工作...但在Firefox上不起作用。
看起来Safari现在可以播放webm格式。
要使其在这三个浏览器上运行,应该使用什么mime类型?
我正在尝试使用mediaRecorder API并使其在大多数浏览器上运行。
video/webm;codecs=vp8,opus:在Chrome和Firefox上运行良好...但在Safari上无法正常工作。
video/mp4;codecs:h264:在Safari和Chrome上工作...但在Firefox上不起作用。
看起来Safari现在可以播放webm格式。
要使其在这三个浏览器上运行,应该使用什么mime类型?
我一直在尝试做同样的事情,但最痛苦的是结果无法在所有浏览器上播放。
我能够使用MediaRecorder在Chrome、Firefox、Edge和Safari中录制视频。但是,所得到的视频并不能在所有浏览器上播放。
Safari - 录制为mp4格式,可以在所有浏览器上播放mp4格式的视频。
Chrome 和 Edge - 我使用 mimeType: "video/webm;codecs=vp9"
进行录制,可以在Chrome、Firefox和Edge上播放,但在Safari上无法播放。
Firefox - 我使用默认设置,可以在Chrome、Firefox和Edge上播放,但在Safari上无法播放。
据说Safari通过macOS Big Sur 11.3已支持webm视频,我需要升级才能测试这个功能。
不幸的是,iOS仍然不支持webm,因此我正在考虑使用Cloudconvert API将webm视频转换为mp4格式,然后存储在S3中。
欢迎提出其他建议。
您需要使用MediaRecorder.isMediaTypeSupported API来了解您正在使用的浏览器支持什么。有关详细信息,请参见此开放PR。
但这对播放没有帮助。
你陷入了一场电子政治食品争斗。
不幸的是,浏览器之间没有编解码器的共性。你将无法找到一个通用的编解码器。苹果(Safari)坚定地处于H.264 / AAC世界,也就是MP4的世界。
Chrome支持H.264(带有专利负担),但开源的Chromium却不支持。Firefox通过从OpenH264.org自动安装的插件支持,但它只支持H.264的受限基线版本,而不支持更高级的版本。使用MIME类型video/webm; codecs="avc1.42E01F"
,在Firefox和Chrome中都可以正常播放。
微软新版Edge支持与Chrome相同的内容。
WebRTC被设计成允许端点彼此协商编解码器。在我看来,这是一种笨拙的方式来修补这场电子政治争吵。
这不是一个好的情况。但这是Q1CY2021的现实。