0

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

然后我使用 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> 

根据这个讨论,如何通过 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)完成的,所以我想这不是网络问题。我不知道如何调试这个。我是否需要编写专用的流媒体服务器而不是托管静态文件?

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

4

1 回答 1

0

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

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

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

只需运行以下 linux 命令。

head -c 50 video.mp4

输出应如下所示:

ftypisomisomJ??moovlmvhd?%?:?%?:XP?
于 2013-07-31T07:10:04.773 回答