用php流式传输视频/ mp4

时间:2015-01-05 14:02:55

标签: php video stream mp4

我有问题通过php流式传输mp4文件。 文件下载挂起1MB。你可以在这里看到它: 我已经尝试了很多标题并阅读了许多主题,但是很多主题都没有得到解决或者没有帮助我,比如这个:MP4 plays when accessed directly, but not when read through PHP, on iOS。有什么帮助吗?

有我的代码:

<?
$root=getenv("DOCUMENT_ROOT");
$file = "$root/".$_GET['get'];
header("Content-Type: video/mp4");
//header("Content-Type: application/octet-stream"); // downloads the file

$start=0;
$size = filesize($file);
$length = $size;
$end = $size - 1;

//header('HTTP/1.1 206 Partial Content');
header("Accept-Ranges: $start-$end");
header("Content-Range: bytes $start-$end/$size");
header("Content-Length: $length");


$data = fopen("$file", "r");
fseek($data, $start);

$bytesleft = $size-$start + 1;
$buffer = 1024 * 256; // 256kb
while(!feof($data)){
    if($bytesleft > $buffer){
        echo fread($data, $buffer);
        flush();
    }else{
        echo fread($data, $bytesleft);
        flush();
    }
    //sleep(1);  // Speedlimit = one buffer per second
}


fclose($data);
exit;
?>

提前致谢

1 个答案:

答案 0 :(得分:0)

没关系。我从服务器下载了该文件,并将其与存储在服务器上的原始文件进行了比较。 下载的那个在开始时还有一个字节:0A,这就是问题所在。现在一切都有效。