2013-01-03 2 views
1

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!

Répondre

0

jwplayer a un problème avec la lecture vars dans ce format

meilleur moyen est de faire url rewrite pour stream.php dans htaccess (urlencodage caractères spéciaux comme &?):

RewriteRule ^stream-video/(.*)/(.*) stream.php?token=$1&file=$2 [QSA,L] 

De cette façon, vous pourriez passer url fichier avec:

http://example.com/stream-video/token-optional/filename-or-id.mp4 

Hope this helps ..

btw avez-vous eu de la chance avec flv streaming via php et X-Mod-H264-Streaming?

Questions connexes