Nous essayons de faire du HTTP Pseudostreaming à partir d'une source PHP qui produit les résultats de ffmpeg.Pseudo-stream HTTP utilisant PHP avec ffmpeg sur JW Player
Vous trouverez ci-dessous le code que nous utilisons pour générer le flux. Si j'accède directement à cette URL (../stream.php), un fichier flv est téléchargé. Si j'utilise ce fichier flv comme source dans JW Player, cela fonctionne sans problème. Cependant, quand j'ai stream.php comme source, cela ne fonctionne pas et j'obtiens l'erreur: "Erreur de chargement du lecteur: Aucune source jouable trouvée"
Le code que nous utilisons dans stream.php est:
header("Accept-Ranges: bytes");
header("Content-type: video/flv");
header("X-Mod-H264-Streaming: version=2.2.7");
$cmd = 'ffmpeg -re -i source.mp4 -map_chapters -1 -vcodec:0 copy -b:v:0 885918 -bf:0 2 -threads:0 0 -s:0 720x404 -partitions:0 +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -acodec:1 copy -b:1 104684 -ac:1 2 -ar:1 44100 -f flv -';
if ($handle = popen($cmd, 'r')) {
sleep(3);
echo fread($handle, 8024000);
ob_flush();
while (!feof($handle)){
echo fread($handle, 8024000);
ob_flush();
}
pclose($handle);
}
Notre JW Code joueur est:
<script type="text/javascript">
jwplayer("myElement").setup({
file : "/stream.php?start=0",
provider : 'http',
'http.startparam' :'start',
flashplayer : '/js/jwplayer.flash.swf',
autostart : 'true',
allowscriptaccess:'always',
modes: [
{type: 'html5'},
{type: 'flash'},
{type: 'download'}
],
height: 270,
width: 480
});
</script>
Toutes les idées ce qui pourrait être le problème?
Merci!