【问题标题】:how HTML5 video handle video with moov atom at the endHTML5视频如何处理最后带有moov atom的视频
【发布时间】:2013-05-02 04:54:29
【问题描述】:

据我所知,在Flash播放器中,如果是渐进式视频和文件末尾的moov atom,我们必须等待整个视频下载才能开始观看。

但是当我使用Html5 videojs查看渐进式视频时,即使是文件末尾的moov atom,但它仍然可以同时播放和观看。

谁能知道 Html5 如何处理最后带有 moov atom 的视频?

【问题讨论】:

  • to likeitlikeit:所以你的意思是在不同的浏览器中,即使都是使用 HTML5 播放器,行为可能会有所不同。例如:在 chrome HTML5 中播放渐进式视频而不下载整个文件,但在 Firefox HTML5 中播放渐进式视频可能会下载整个文件。
  • 没错。除了浏览器之外,该行为甚至可能取决于操作系统,因为用于播放某些内容的库可能不同于例如Mac OS 到 Windows。
  • likeitlikeit,最糟糕的评论...当然视频的处理将留给浏览器/操作系统...问题在于即使 moov 原子在文件末尾(并且尚未“获取”),这是如何工作的?
  • 我也想知道这个问题的答案。为什么浏览器可以原生播放mp4 h.264视频而flash不能?
  • 答案是范围请求

标签: html video


【解决方案1】:

Alexander Farkas 来自 8/2 的评论是一个完美的、简洁的答案。范围请求(也称为“字节服务”)允许客户端请求文件的(任何)部分。

客户端发出(至少)三个带有 HTTP 206 响应的 GET 请求(前提是服务器能够处理范围请求):一个用于文件头(内容长度很重要,以及“接受范围:字节”)。然后客户端请求文件的结尾,通常小于最后一MB的内容(这似乎因浏览器而异);一旦客户端从文件末尾获得 moov atom,它就会请求其余内容。当您搜索时,元数据允许客户端知道如何将时间映射到字节范围,并发出对部分内容的新请求。

这在实践中的样子的合理记录在Sample http range request session

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-28
    • 2022-08-04
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多