Attualmente sto cercando di distribuire video MP4 per l'utilizzo in video HTML5 (utilizzando video-js) tramite uno script PHP per il controllo dell'accesso video. Dopo alcune ricerche sono riuscito a farlo funzionare, con l'aiuto di stackoverflow article found here. Se passo allo script PHP, posso visualizzare il video come se lo stessimo visualizzando tramite il suo percorso assoluto (ad esempio localhost/myvideo.mp4 piuttosto che localhost/myscript.php) in Firefox, Safari e IE. Il mio problema è con Google Chrome, che mostra semplicemente uno schermo oscurato con un piccolo lettore multimediale al centro e non fa nulla.Consegna video MP4 tramite PHP non riuscita in Google Chrome
Ho provato a utilizzare una riscrittura rapida come localhost/avideo.mp4 che indirizza allo script PHP, ma sfortunatamente questo non ha cambiato nulla.
Ecco il mio script:
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
}
Il metodo rangeDownload è stata presa direttamente da appendice A di this link come suggerito nel già citato articolo StackOverflow.
Puoi pubblicare tutte le informazioni di intestazione che si sta inviando? – ethrbunny
Content-type, Accept-Ranges, Content-Range, Content-Length, HTTP/1.1 206 Contenuto parziale. Queste intestazioni vengono utilizzate nel primo caso utilizzando rangeDownload, che viene utilizzato per Chrome, sebbene readfile_chunked utilizzi meno intestazioni (non funziona ancora in chrome). – AaronDS
L'unico altro che posso suggerire è Content-Transfer-Encoding: binary. Sono in grado di trasferire audio tramite PHP a tutti i browser utilizzando questa combo. – ethrbunny