【发布时间】:2014-04-08 14:03:58
【问题描述】:
我有一个简单的 html5 视频标签,通过 php 指向一个 mp4 视频。 我的问题是视频只有在浏览器完全加载后才开始播放。
我应该如何用 php 输出视频?我使用了 http 范围标头,但什么也没使用。
我应该如何配置 apache 以便可以立即开始播放视频(一旦它只下载了一部分)?我应该启用任何模块吗?
html代码:
<video width="640" height="264" preload="none" controls="" class="video-js vjs-default-skin" id="approval-playing-video">
<source type="video/mp4" src="dam/index/get-video-preview?id=186&md5=3386d3701e403c69e1c4323168f6ee74"></source>
</video>
php(ZF2框架)服务器代码:
$response = new Stream();
$response->setStream(fopen($file, 'r'));
$response->setStatusCode(200);
$response->setStreamName(basename($file));
$headers = new Headers();
$headers->addHeaders(array(
'Content-Type' => 'video/mp4',
'Accept-Ranges' => 'bytes',
'Content-Length' => filesize($file)
));
return $response->setHeaders($headers)->setContent($file);
系统测试: Centos、Apache 2、PHP 5.4 使用 Firefox 24 进行测试
任何建议都会很有帮助。
【问题讨论】:
标签: php html apache video buffering