【问题标题】:Html 5 video streamming issuesHtml5 视频流问题
【发布时间】:2013-07-31 15:10:04
【问题描述】:

我设置了一个将视频托管为静态文件的服务器

然后我使用html 5来加载和播放视频文件。

 <div id="video wrapper" >
           <video id="video" width="500" height="300" controls> 
                      <source src="/videos/test.mp4" type="video/mp4" >
                      Your browser does not support the video type              
            </video>
 </div> 

根据这个讨论,How to stream videos through HTML5? 理想情况下,视频将逐步加载(蒸汽)。但就我而言,视频加载似乎会阻止整个页面加载,并且在页面加载完成和视频开始播放之前需要几分钟。

服务器端有这样的输出:

127.0.0.1 - - [29/Jul/2013 18:00:23] "GET /videos/test.mp4 HTTP/1.1" 206 955542769 102.4900

我将其解释为:传输大小为 9555mb 的视频文件“test.mp4”需要 102 秒。

测试是使用本地服务器(localhost)完成的,所以我想这不是网络问题。我不知道如何调试它。我是否需要编写专用的流媒体服务器而不是托管静态文件?

我们将不胜感激任何故障排除提示。

【问题讨论】:

  • 你有一个 id 无效的 div
    我想你希望它成为类。
  • 另外,文件实际上是 9.4 GB,还是以字节为单位的输出,大约是 911 MB。即使这对互联网来说是一项艰巨的任务,您也可能希望降低质量,使其尺寸更易于管理。
  • @Charles380 感谢您指出我的错误。目前,代码和大文件仅用于在我的服务器上测试 html5 视频标签。我以后肯定会减小文件的大小。对当前问题有任何想法吗?
  • 你是否在视频标签上设置了自动播放?否则不会自动开始播放。

标签: html video video-streaming


【解决方案1】:

在 mp4 中,你需要检查 moov atom。 原子是一个独立的数据单元,包含有关视频文件的信息。 只需打开您的 mp4 文件并检查启动 mp4 文件中是否有“moov”字符串。

对于渐进式下载,moov atom 应位于文件开头。

如果moov atom位于文件末尾,则表示mp4文件禁用渐进式下载。

只需运行以下 linux 命令。

head -c 50 video.mp4

输出应该是这样的:

ftypisomisomJ??moovlmvhd?%?:?%?:XP?

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签