HTML5 视频“buffered”属性在 Firefox 4 中可用

这是来自 Chris Pearce 的博客 的转载。

最近,我在 Firefox 中实现了对 HTML5 视频“buffered”属性 的支持。这很酷,因为我们现在可以准确地确定视频的哪些时间段可以播放和跳转,而无需暂停播放来下载更多数据。以前,您只能获取下载已达到的字节位置,这通常与可播放的时间范围映射得不好,尤其是在可变比特率视频中。这也无法告诉您在下载的字节位置之前我们跳过了哪些数据块的下载。一旦视频控件 UI 更新,用户将能够准确地知道其视频的哪些片段已下载并可播放,并且可以在不暂停播放以下载更多数据的情况下跳转到这些片段。

要查看其运行情况,请下载当前的 Firefox nightly 版本,并将浏览器指向我的 视频“buffered”属性演示。您将看到如下所示的屏幕截图,其中包括一个额外的进度条(使用画布实现),显示已缓冲的时间范围。

我已经为 Ogg 和 WAV 后端实现了“buffered”属性。 对 WebM 的“buffered”属性的支持 正在由 Matthew Gregan 处理,并且进展顺利。目前,对于播放 WebM 和原始视频的视频元素,我们返回“buffered”属性的空范围。

我的提交错过了 Firefox 4 Beta 3 的截止日期,因此视频“buffered”属性将首次出现在 Firefox 4 Beta 4 中。

关于 Chris Pearce

更多 Chris Pearce 的文章…


19 条评论

  1. Richard Stallman

    我只是想插句话。您所指的 Linux 实际上是 GNU/Linux,或者正如我最近开始称它的那样,GNU 加 Linux。Linux 本身并不是一个操作系统,而是功能齐全的 GNU 系统的另一个免费组件,该系统得益于 GNU 核心库、Shell 工具和构成完整操作系统的基本系统组件(如 POSIX 所定义)。

    许多计算机用户每天都在运行 GNU 系统的修改版本,而没有意识到这一点。由于一系列特殊事件,如今广泛使用的 GNU 版本通常被称为“Linux”,并且许多用户没有意识到它基本上是由 GNU 项目开发的 GNU 系统。

    确实存在 Linux,并且这些人正在使用它,但它只是他们使用的系统的一部分。Linux 是内核:系统中为运行的其他程序分配机器资源的程序。内核是操作系统的重要组成部分,但本身毫无用处;它只能在完整操作系统的上下文中发挥作用。Linux 通常与 GNU 操作系统结合使用:整个系统基本上是添加了 Linux 的 GNU,或者称为 GNU/Linux。所有所谓的“Linux”发行版实际上都是 GNU/Linux 的发行版。

    2010 年 8 月 20 日 01:07

    1. Cleroth

      而且,为了简化定义,我们称之为 Linux。

      2010 年 9 月 5 日 13:31

      1. Peter

        虽然我认为我们应该给予 Linux 开发人员应有的赞誉,但如果我们希望缩短名称,那么准确的缩写应该是“GNU”。

        2010 年 10 月 24 日 07:25

    2. Guido

      真是个傻瓜。这就像有人因为有人称呼 Windows 而不是“Microsoft Windows”而生气一样。
      每个人都知道它是 GNU/Linux,但谁在乎呢。
      此外,我们不能将其简称为 GNU,BSD 也使用 GNU,无法分辨我们指的是什么。
      接受现实吧。

      2010 年 10 月 23 日 16:23

      1. Chris

        Guido:“这就像有人因为有人称呼 Windows 而不是‘Microsoft Windows’而生气一样。”

        好吧,这个论点毫无意义,因为实际上您谈论的是同一公司生产的产品,GNU+Linux 实际上是 GNU 加 Linux,它是两个完全不同的项目生产的两个非常不同的东西,它们恰好能很好地协同工作。让我们对功劳给予应有的认可。

        而且,您在整个 GNU 和 BSD 问题上犯了一个错误,以下是 GNU 网站的摘录
        https://gnu.ac.cn/gnu/linux-and-gnu.html

        “人们有时会问 BSD 是否也是 GNU 的一个版本,就像 GNU/Linux 一样。BSD 开发人员受到 GNU 项目的启发,使他们的代码成为自由软件,GNU 活动人士的明确呼吁也帮助说服了他们,但代码与 GNU 的重叠很少。如今的 BSD 系统使用一些 GNU 程序,就像 GNU 系统及其变体使用一些 BSD 程序一样;然而,从整体上看,它们是两个独立发展的不同系统。BSD 开发人员没有编写内核并将其添加到 GNU 系统中,并且像 GNU/BSD 这样的名称不适合这种情况。”

        因此,这个例子就像“草莓漩涡芝士蛋糕”,仅仅称之为“草莓蛋糕”或“芝士蛋糕”是不够的,只能称之为它是什么。

        2010 年 11 月 8 日 22:27

  2. Mardeg

    这意味着以下测试应该通过吗?

    http://samples.msdn.microsoft.com/ietestcenter/html5/MediaElements/media-rules-buffered.htm

    这已记录为 https://bugzilla.mozilla.org/show_bug.cgi?id=589564

    2010 年 8 月 22 日 14:12

  3. N

    哦,我的天哪……4Chan 的“插话”表情包正在蔓延到 4Chan 之外……

    2010 年 8 月 23 日 11:25

  4. Felipe

    实现的功能很棒!比 Flash 视频好多了。

    2010 年 8 月 24 日 12:26

  5. Tsiolkovsky

    @Guido。称那些为计算机用户争取基本自由而奋斗的人为傻瓜并不是明智之举。关于 GNU/Linux 正确命名的争论已在本文件中得到解答
    https://gnu.ac.cn/gnu/gnu-linux-faq.html
    我建议您通读一遍,因为我感觉您可能有一些其他误解,然后以此为基础进行论证。

    2010 年 10 月 24 日 07:18

  6. Peter

    将 Microsoft Windows 称为 Windows 虽然不那么明确,但仍然准确。它只是一个较短的名称。将 GNU/Linux 称为 Linux 并非不那么明确,而是具有误导性。

    2010 年 10 月 24 日 07:29

  7. David

    @Guido

    我完全支持并赞同 Tsiolovsky 对您评论的回复,并补充一点,忽略那些为我们提供 GNU 项目并长期不懈地努力维护和保护 Tsiolovsky 提供的链接中提到的自由的人所做的工作,称他们为“傻瓜”或任何其他侮辱性称呼,都有可能失去这些自由。如果您要支持并承认代表 GNU/Linux 用户所做的工作,并尽自己的一份力量来维护和保护链接中提到的自由,只需用正确的名称称呼这些产品就足够了。

    2010 年 10 月 24 日 11:05

  8. Mike

    @Guido - 您错误地认为,当“Linux”一词用于整个操作系统的上下文中时,每个人都知道它意味着“GNU/Linux”。事实上,我交谈过的绝大多数非技术性的 GNU/Linux 用户几乎不知道 GNU。使用 GNU/Linux 这一术语不仅能让人们注意到他们正在使用 GNU 操作系统及其提供的自由,还能起到纠正作用。

    将“Microsoft Windows”称为“Windows”是正确的 - Microsoft 是公司名称。他们的产品实际上称为“Windows”。但是,GNU 与 Linux 之间除了 Linux 与 GNU 捆绑在一起形成完整操作系统之外,没有任何联系。GNU 不是 Linux 背后的公司,因此省略 GNU 不会缩短名称。这根本不正确。

    使用 GNU/Linux 一词既是对所有为开发自由(如自由)操作系统而奋斗并投入大量时间的人的认可。除此之外,称那些保护您自由的人为傻瓜是相当侮辱性的,尤其是当您自己也是 GNU/Linux 用户时(我并不是说您是或不是)。尤其是当您提到发起并奉献一生致力于自由软件运动的人时。

    话虽如此,我确实理解为什么人们在谈论 GNU/Linux 操作系统时会使用“Linux”一词。这是一个拗口的词,说“Linux”确实容易得多。每个人都会找到缩短事物的方法。我尽量在任何可能的情况下都说 GNU/Linux,尽管有时我也会出错。重要的是要记住,在缩短术语时,它仍然应该传达相同的含义。但是,在撰写文章或打字时,没有理由不使用 GNU/Linux 这一术语。

    2010 年 10 月 24 日 12:41

  9. Karthikeyan A K

    我认为自由软件支持者最好称其为 GNU/Linux 而不是 Linux。如果没有 Linux,它就不会成为现在的样子。正是由于 GNU 的努力,Linux 才变得更容易被接受。我更愿意称其为 GNU/Linux。

    2010 年 10 月 24 日 18:53

  10. Michael

    有趣的讨论,尽管有点离题。我个人支持称其为“GNU/Linux”。将“Microsoft Windows 与 Windows”进行比较是不准确的。更准确的比较应该是(花生酱和果冻三明治)与(花生酱三明治或果冻三明治)之间的比较。对于 PB&J,您不能只称之为花生酱三明治或果冻三明治;它必须是“花生酱和果冻”,否则它就不反映现实。

    “市场上有很多仿制品,味道和正品一样好。”
    — Chris Knight,《天才一族》

    2010 年 12 月 28 日 11:21

  11. Brent J

    为了安抚 Stallmanites,这个作为操作系统打包的自由软件混合体的新的名称可能是

    GinLinG == Gnu is not Linux is not Gnu

    它甚至带有一丝亚洲风情,与人们流行的纹身相匹配。

    好了,现在每个人都满意了。 :)

    2011 年 4 月 6 日 11:33

    1. Cleroth

      5 年后,当我听到“GinLinG”这个词时,我会想起这篇帖子。

      2011 年 4 月 7 日 01:19

  12. cpearce

    WTF,伙计们!?我在我的帖子中甚至都没有提到“Linux”!针对“Linux 与 GNU/Linux”的任何进一步评论都将被删除。

    2011 年 6 月 16 日 15:02

  13. Ian

    很高兴看到音频标签也有这种缓冲功能。也许现在已经有了。我正在使用带有 mp3 音频的 Chrome,它似乎不会跳过下载不需要的部分。如果它能对已跳转到的部分发出字节范围请求,那就太好了。我需要获取一些音频 ogg 文件在 Firefox 中试用。

    Chris,干得好,继续努力。

    2012 年 2 月 11 日 18:39

  14. hajir

    这对所有人来说都是告诉我

    2012 年 3 月 26 日 00:32

本文的评论已关闭。