Html 适用于所有主要浏览器的视频编解码器
我正在使用 视频/mp4 格式化并用于“视频js”,这在chrome中运行良好,但在Firefox中存在问题。在控制台中获取以下错误: 不支持指定的“视频/mp4”的“类型”属性。加载媒体资源失败。 是否有任何单一的视频编解码器支持所有主要浏览器,如Chrome、Firefix、IE和SafariHtml 适用于所有主要浏览器的视频编解码器,html,video,cross-browser,video.js,video-codecs,Html,Video,Cross Browser,Video.js,Video Codecs,我正在使用 视频/mp4 格式化并用于“视频js”,这在chrome中运行良好,但在Firefox中存在问题。在控制台中获取以下错误: 不支持指定的“视频/mp4”的“类型”属性。加载媒体资源失败。 是否有任何单一的视频编解码器支持所有主要浏览器,如Chrome、Firefix、IE和Safari 提前感谢。MP4是一种容器格式,因此在其中放入什么编解码器也很重要 Firefox支持MP4和H.264播放视频,支持AAC或MP3播放音频,并且仅当您有第三方解码器可用时。如果你正在寻找一种单一的格
提前感谢。
MP4
是一种容器格式,因此在其中放入什么编解码器也很重要
Firefox支持MP4
和H.264
播放视频,支持AAC
或MP3
播放音频,并且仅当您有第三方解码器可用时。如果你正在寻找一种单一的格式来管理它们,那你就太倒霉了,因为目前还没有
处理方法是将同一内容文件转换为多种格式,并在播放器中使用回退机制
请参阅Mozilla上的页面,了解支持的内容和位置。例如,使用VP9
/VP8
的WebM
,Vorbis
/Opus
可以在Firefox上运行
通常,回退通过指定同一文件的所有不同版本作为
标记的源来工作。浏览器将选择它可以播放的第一个
示例来自:
如果浏览器无法播放
WebM
,它将返回到MP4
在我的非详尽测试中,我发现MP4容器中带有aac音频的h264视频(用ffmpeg转码)至少适用于以下浏览器:
- Android和Windows 10上的Chrome 80
- iPadOS和iOS 13.4以及MacOS 10.15上的Safari
- Windows 10上的Internet Explorer 11
- Android和Windows 10上的Firefox 74
- Windows 10上的Edge 80
ffmpeg -i before.mov -y -loglevel 31 -filter:v fps=fps=30 -movflags +faststart \
-f mp4 -vcodec libx264 -vf scale=1280:-1 -acodec aac -b:a 128k \
-b :v 1000k -preset faster 'after.mp4'
编辑
我发现,奇怪的是,一个mp3音频文件在Safari/MacOS的音频标签中播放。但是带有mp3音轨的视频不会播放音频。如果我处理/存储多种格式,如果用户编辑视频,如果他正在更改一种格式,我将不得不对其他格式的相同文件执行相同的操作。关于这方面的任何建议,文件都存储在S3上。更改将在主控上完成,您需要重新编码。Amazon有弹性转码器,但你可以用FFmpeg多媒体框架自己做。它很好地总结了覆盖大多数用户代理所需的最少格式。我知道可以使用什么格式以及在哪里使用。我需要的是一种只为firefox播放ogg的方式,因为我的mp4是高清的,干净的,只有1mb,我的ogg是丑陋的,是4mb。。。
ffmpeg -i before.mov -y -loglevel 31 -filter:v fps=fps=30 -movflags +faststart \
-f mp4 -vcodec libx264 -vf scale=1280:-1 -acodec aac -b:a 128k \
-b :v 1000k -preset faster 'after.mp4'