我的想法是,我想为我的网站创建一个简单的PHP媒体流媒体。
我设法在网络浏览器和Android上的VideoView
中播放视频就好了。
我想做什么
multiple
个用户HTML5
视频缓存在Android 问题
sdcard
用户码
streamer.php
one
page.html中
<?php
$file = './'.$_GET["file"];
$pos = (isset($_GET["pos"])) ? intval($_GET["pos"]): 0;
header("Content-Type: video/x-flv");
header('Content-Length: ' . filesize($file));
$fh = fopen($file,"rb");
fseek($fh, $pos);
fpassthru($fh);
fclose($fh);
?>
cache.appcache
<HTML manifest="./cache.appcache">
<video id="vid" controls>
<source src="http://example.com/streamer.php?file=video.mp4" type="video/mp4">
</video>
</HTML>
在Android方面
CACHE MANIFEST
# 2014-03-08 v1.0.0
/video.mp4
答案 0 :(得分:1)
我猜,缓存问题是由于标头没有发送/设置。试一试:
header('Pragma: private');
header('Expires: '.date('D, d M Y H:i:s \G\M\T', time() + 7200));
header('Cache-control: private, max-age=7200, must-revalidate');
header('Content-Length: '.filesize($file));
header('Content-Disposition: filename='.md5($file));
另外:您设置header('Content-Type: video/x-flv');
但使用type="video/mp4"
。我猜,它应该是header('Content-Type: video/mp4');
下一步:要让$_GET["pos"]
生效,您需要相应地计算和设置accept range
标题。