Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 适用于所有主要浏览器的视频编解码器_Html_Video_Cross Browser_Video.js_Video Codecs - Fatal编程技术网

Html 适用于所有主要浏览器的视频编解码器

Html 适用于所有主要浏览器的视频编解码器,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

格式化并用于“视频js”,这在chrome中运行良好,但在Firefox中存在问题。在控制台中获取以下错误:

不支持指定的“视频/mp4”的“类型”属性。加载媒体资源失败。

是否有任何单一的视频编解码器支持所有主要浏览器,如Chrome、Firefix、IE和Safari


提前感谢。

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
我在Ubuntu 18.04上使用以下ffmpeg参数对数字摄像机中的视频文件进行了编码:

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'