Obecnie próbuję dostarczyć wideo MP4 do użytku w wideo HTML5 (przy użyciu wideo-js) za pomocą skryptu PHP do kontrolowania dostępu do wideo. Po pewnych badaniach udało mi się uzyskać to działa, przy pomocy stackoverflow article found here. Jeśli przejdę do skryptu PHP, mogę obejrzeć film tak, jakbym oglądał go przez absolutną ścieżkę (na przykład localhost/myvideo.mp4 zamiast localhost/myscript.php) w Firefox, Safari i IE. Mój problem dotyczy przeglądarki Google Chrome, która po prostu pokazuje zaciemniony ekran z małym odtwarzaczem multimedialnym pośrodku i nic nie robi.Dostarczanie wideo MP4 przez PHP kończy się niepowodzeniem w Google Chrome
Próbowałem użyć szybkiego przepisywania, takiego jak localhost/avideo.mp4, który prowadzi do skryptu PHP, ale niestety nic to nie zmieniło.
Oto mój skrypt:
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
}
Sposób rangeDownload została podjęta bezpośrednio z Dodatku A this link jak zasugerowano w wyżej wymienionym artykule stackoverflow.
Możesz pisać wszystko od informacji nagłówka wysyłanego? – ethrbunny
Typ treści, Akceptuj zakresy, Zakres treści, Długość treści, HTTP/1.1 206 Częściowa zawartość. Nagłówki te są używane w pierwszym przypadku przy użyciu polecenia rangeDownload, które jest używane w przeglądarce Chrome, chociaż readfile_chunked używa mniej nagłówków (nadal nie działa w chrome). – AaronDS
Jedyne, co mogę zasugerować, to Content-Transfer-Encoding: binary. Jestem w stanie przesłać dźwięk przez PHP do wszystkich przeglądarek za pomocą tego zestawu. – ethrbunny