2017-09-12 71 views
0

當運行此腳本,將圖像保存到文件:如何使用avconv和php與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"); 

我想這是在屏幕上回(飛意味着,寫變量,無需而不是保存到文件,並隨後閱讀,顯示,刪除此文件):

<?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; 

我該怎麼做?

回答

0

我認爲這將解決您的問題:

<?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'); 

這是未經測試,但它應該工作。我一直工作在一個類似的問題在: https://gist.github.com/megasaturnv/a42ed77d3d08d0d3d91725dbe06a0efe

,並在標籤圖像: https://gist.github.com/megasaturnv/6e5965732d4cff91f2e976e7a39efbaa