2014-10-30 76 views
0

我不能得到())這個命令在EXEC工作ffmpeg的命令()

ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \ 
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \ 
-codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4 

我如何把這個在EXEC(?

這不是工作:

exec(ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \ 
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \ 
-codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4); 

enter image description here

+0

嘗試這樣做在命令提示符下工作的這個命令? – Developer 2014-10-30 11:50:36

+0

@Developer是的,它的工作原理 – Kevinkuijer 2014-10-30 11:55:52

+0

你是否檢查exec是否啓用 – Developer 2014-10-30 11:58:27

回答

2

有幾個辦法,找出問題。

  1. 首先通過直接在命令提示符下運行來檢查命令及其參數是否正確。

如果它在運行上命令細提示它應該工作CLI

  • 如果安裝和啓用EXEC()命令其次檢查。

    <?php 
    if(function_exists('exec')) { 
        echo "exec is installed"; 
    } 
    ?> 
    
  • <?php 
    function exec_enabled() { 
        $disabled = explode(',', ini_get('disable_functions')); 
        return !in_array('exec', $disabled); 
    } 
    ?> 
    
  • 如果已啓用和安裝。第三,你可以在網頁中回顯命令並複製並通過它以確保所有參數在網絡中正確傳遞。
  • echo "ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \ 
    "[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \ 
    -codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4"; 
    

    也與報價

    exec("ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \ 
    "[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \ 
    -codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4"); 
    
    +1

    隨着報價它的工作謝謝! – Kevinkuijer 2014-10-30 12:24:09