【问题标题】:MediaSource API appendBuffer() appendArrayBuffer() append() which one to use in Chrome?MediaSource API appendBuffer() appendArrayBuffer() append() 在 Chrome 中使用哪一个?
【发布时间】:2013-04-16 21:04:20
【问题描述】:

我阅读了 MediaSource API 的规范: http://www.w3.org/TR/media-source/(工作草案) 和 https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html(编辑草稿)

第一个引用SourceBuffer方法:appendArrayBuffer() 第二个:appendBuffer()

在 chrome 中,SourceBuffer 上唯一可用的方法似乎是 append(),但我没有找到关于该方法的任何文档。

如果他有更多关于 chrome 中 append() 方法的信息,以及是否有任何浏览器实现了 appendBuffer() 或 appendArrayBuffer(),可以告诉我吗?

谢谢

【问题讨论】:

    标签: html video


    【解决方案1】:

    Chrome 的当前版本(即 25-stable、26-beta 和 27-dev)基本上支持媒体源扩展规范的 October 8th version。我们正在更新实施以反映当前的编辑草案。规范中发生了很多变化,需要一些时间才能使其全部正常工作。

    现在您应该只使用旧版本的规范来实现您的应用程序。

    【讨论】:

    • 嗨亚伦。我已经能够将媒体源 API 与拆分的 WebM 文件一起使用。是否有可能以某种方式对 MP4/H264 做同样的事情。我需要以某种特殊方式创建块吗?
    • 感谢您指出具体实施的规范版本。有没有一种简单的方法来匹配 chrome 版本和 spec 版本?
    • @WooDzu,是的,支持 MP4,但您必须确保它们是碎片化的 MP4 文件。您可以像this comment 建议的那样使用 MP4Box 来确保文件格式正确。
    • @FlintMakal 没有简单的方法将规范版本映射到 Chrome 版本。至少对于我提到的版本,您可以指望 10 月 8 日的规范行为。一旦 appendBuffer() 在以后的版本中可用,在旧的 append() 方法被移除之前,您可以指望至少 1 个完整的 Chrome 版本。
    【解决方案2】:

    在搜索了规范修订历史后,似乎 chrome 没有实现更改后的当前规范:

    Version Comment
    04 January 2013 
    Renamed append() to appendArrayBuffer() and made appending asynchronous.
    Added SourceBuffer.appendStream().
    Added SourceBuffer.setTrackInfo() methods.
    Added issue boxes to relevant sections for outstanding bugs.
    

    所以 append() 是旧的方法名

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-24
      • 2015-12-18
      • 1970-01-01
      • 2012-07-17
      • 2012-03-08
      相关资源
      最近更新 更多