【发布时间】:2016-02-10 09:44:36
【问题描述】:
我正在实现一个提供 mp4 文件的 HTML5 视频播放器。
当我使用常规 mp4 文件作为源时,视频很快就会开始播放,我还可以查找尚未下载的部分。
现在,我想保护我的视频文件,即它们存储在 web 根目录下,并且视频 src 是一个 php 文件,用于检查是否允许用户观看视频。
所以我的 HTML 看起来像这样:
...
<video src="http://videoserver.com/stream.php?file=videoxy.mp4">
...
还有stream.php:
...
if ($access_granted) {
if ($fd = fopen($path, "rb")) {
$fsize = filesize($path);
header("Content-Type: video/mp4");
header("Content-Disposition: inline; filename=\"".$filename."\"");
header('Content-Transfer-Encoding: binary');
header("Content-Length: $fsize");
fpassthru($fd);
} else {
die('file not found');
}
} else {
die('forbidden');
}
...
现在,视频仍会播放,但只有在视频完全下载之后。
如何在下载所有内容之前开始播放视频?此外,我想寻求尚未下载的部分以像以前一样工作。
【问题讨论】:
标签: php http-headers html5-video