【问题标题】:How obtain codec info of an HTML5 video from JavaScript?如何从 JavaScript 获取 HTML5 视频的编解码器信息?
【发布时间】:2015-07-25 23:29:38
【问题描述】:

我想知道视频编解码器,主要是用于编码 HTML5 视频的音频编解码器,因为例如 Firefox 支持 MP4 视频,但在其 Windows 版本中,如果音频是用“sowt”编码的声音不管用。在这种情况下我可以提供一个WEBM源,但我必须先知道MP4源是否有问题。

我找到了this,但它是一个尚未在其他浏览器中实现的 IE11 属性。

你怎么看?这可能吗?

提前谢谢你。

【问题讨论】:

标签: javascript html video codec


【解决方案1】:

详细的低级编解码器信息不通过媒体元素提供。您可以测试浏览器是否可以使用canPlayType() method 以 mime-type/codec 作为参数来播放某个文件,但这是一个一般查询,不会提供有关特定文件的细节,只是(潜在)功能浏览器。

您引用的audioTracks 属性(也是supported in Safari)列出了浏览器已经解码的文件中的可用音轨,即。能够阅读和处理。轨道数据是更“语义”的描述类型(轨道类型(主要、翻译、..)、语言等),与用于原始数据的编码无关。

检测这种低级信息的唯一方法是使用 XMLHttpRequest(带有 CORS 要求)或 FileReader 加载视频文件(或其中的一部分),作为字节缓冲区 (ArrayBuffer) 并手动解析它。可行,但它提供了许多陷阱。

一般来说,当浏览器跳过第一个选项并使用第二个、第三个等选项时,这意味着浏览器无法播放该特定文件,这意味着它确实存在文件问题,但对于这个浏览器。

最好的方法是选择与大多数浏览器一起使用的一种或多种组合的编解码器,并始终确保将视频直接呈现为其中一种格式,或者至少转换为这种格式。

【讨论】:

  • 感谢您提供的信息。我的问题是有时我的公司不对视频进行编码,客户会这样做;我们总是可以告诉客户他们做错了,但选择其他来源(如 webm)更容易。我希望我们可以自动化这个过程。
猜你喜欢
  • 2011-04-10
  • 1970-01-01
  • 2021-03-17
  • 2019-07-07
  • 2011-12-23
  • 2019-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多