2017-09-12 3 views
0

Lorsque ce script est exécuté, l'image est enregistrée dans un fichier:Comment afficher une capture d'écran d'un flux en utilisant avconv et php avec exec?

<?php 

    $url = "rtmp://109.71.162.112:1935/live/sd.jasminchannel.stream"; 
    exec('avconv -i "'.$url.'" -ss 00:00:01 -t 1 -r 1 -f image2 "screenshot.jpg" 2>&1', $output, $status); 

    header("Content-type: image/png"); 
    readfile("screenshot.jpg"); 

Je souhaite qu'il a été retourné à l'écran (à la volée signifie, écrivez à la variable, au lieu sans enregistrer de déposer et lire la suite , afficher, effacer ce fichier):

<?php 

    $url = "rtmp://109.71.162.112:1935/live/sd.jasminchannel.stream"; 
    exec('avconv -i "'.$url.'" -ss 00:00:01 -t 1 -r 1 -f image2 $variable 2>&1', $output, $status); 

    header("Content-type: image/png"); 
    echo $variable; 

Comment est-ce que je peux faire ceci?

Répondre

0

Je pense que cela va résoudre votre problème:

<?php 

    $url = "rtmp://109.71.162.112:1935/live/sd.jasminchannel.stream"; 
    header("content-type: image/jpeg"); 
    echo passthru('avconv -i "'.$url.'" -ss 00:00:01 -t 1 -r 1 -f image2 pipe:.jpg 2>/dev/null'); 

Ce n'est pas testé, mais il devrait fonctionner. Je travaille sur un problème similaire à: https://gist.github.com/megasaturnv/a42ed77d3d08d0d3d91725dbe06a0efe

et l'image dans un tag: https://gist.github.com/megasaturnv/6e5965732d4cff91f2e976e7a39efbaa