我目前正在嘗試通過PHP腳本來控制視頻訪問,以便在HTML5視頻(使用視頻-js)中使用MP4視頻。經過一番調查後,我可以在stackoverflow article found here的幫助下完成這項工作。如果我導航到PHP腳本,我可以在Firefox,Safari和IE中查看視頻,就好像我正在通過其絕對路徑(例如localhost/myvideo.mp4而不是localhost/myscript.php)查看視頻。我的問題在於谷歌瀏覽器,它只是顯示中間有一個小型媒體播放器的黑屏,並且什麼都不做。通過PHP的MP4視頻傳輸在Google Chrome中失敗
我曾嘗試使用一個快速重寫,例如localhost/avideo.mp4,它將路由到PHP腳本,但不幸的是這並沒有改變任何東西。
這裏是我的腳本:
if (is_file($uri)) {
header('Content-Type: video/mp4');
if (isset($_SERVER['HTTP_RANGE'])) {
$this->rangeDownload($uri);
exit;
} else {
header("Content-Length: ".filesize($uri));
$this->readfile_chunked($uri);
exit;
}
} else {
//error
}
的rangeDownload方法已採取直接從this link附錄A爲上述計算器文章中建議。
你可以張貼您發送的頭信息的? – ethrbunny 2012-07-13 14:58:59
內容類型,接受範圍,內容範圍,內容長度,HTTP/1.1 206部分內容。在第一種情況下,這些頭文件使用rangeDownload用於Chrome,儘管readfile_chunked使用較少的頭文件(仍然無法在chrome中運行)。 – AaronDS 2012-07-13 15:02:57
我可以建議的唯一一個是Content-Transfer-Encoding:二進制。我能夠通過PHP將音頻傳輸到使用此組合的所有瀏覽器。 – ethrbunny 2012-07-13 15:09:07