簡體   English   中英

ffmpeg的php exec()無法正常工作

[英]php exec() for ffmpeg not working

我在php exec()中使用ffmpeg命令將任何類型的視頻轉換為flv格式,我正在使用的命令在命令提示符下運行良好,但是當我運行相同的命令時,它不會返回任何內容。實際上輸出是數組(),第三個參數$ result為“ 1”

我已經在stackoverflow上讀過類似的問題,但這無濟於事

大多數時候,我注意到問題出在php的路徑和安全模式下

並且我已經使用.htaccess禁用了安全模式,語法在下面給出,並且我正在使用Windows 7 OS

ffmpeg應用程序的目錄為c:\\ ffmpeg \\ bin \\ ffmpeg

完整的腳本和輸出如下:

ffmpeg命令:

   ffmpeg -i c:\xampp\htdocs\video\original\robot.mp4 -c:v libx264 -ar 44100 -crf 17 c:\xampp\htdocs\video\vids\robot.flv

php腳本:

 echo "starting ffmpeg...<br/>";

 echo exec("ffmpeg -i c:\xampp\htdocs\video\original\robot.mp4 -c:v libx264 -ar 44100 -crf 17 c:\xampp\htdocs\video\vids\robot.flv",$out,$r);
 var_dump($out);
 echo $r."<br/>";
 echo "done...<br/>";
 ?>

htaccess用於關閉安全模式:

 php_value safe_mode "0" 

輸出:

 starting ffmpeg...
 array(0) { } 1 
 done...

請嘗試以下方法,而不要使用exec(ffmpeg -i'inputfile''outputfile');

$ cmd =“ ffmpeg -ic:\\ xampp \\ htdocs \\ video \\ Original \\ robot.mp4 -c:v libx264 -ar 44100 -crf 17 c:\\ xampp \\ htdocs \\ video \\ vids \\ robot.flv”

ob_start();

passthru($ cmd);

$ cmd_retr = ob_get_contents();

print_r($ cmd_retr);

<?php
echo exec("cmd /c ffmpeg -i c:\\xampp\htdocs\video\original\robot.mp4 -c:v libx264 -ar 44100 -crf 17 c:\\xampp\htdocs\video\vids\robot.flv",$out,$r");
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM