Getting image from mp4 video using ffmpeg in YII

2019-08-07 18:50发布

I have written a code to get an image from an uploaded mp4 video using ffmpeg in YII.

In localhost, when i have written absolute path like d:/wamp/www/projectname/ffmpeg like this, it is working perfectly and i am getting image but when I tried like below using baseurl

$var="http://".$_SERVER['HTTP_HOST'].Yii::app()->request->baseUrl;
$ffmpeg = $var."/ffmpeg/bin/ffmpeg.exe";

I am unable to get the image from video.

Here is my code

$var="http://".$_SERVER['HTTP_HOST'].Yii::app()->request->baseUrl;
$ffmpeg = $var."/ffmpeg/bin/ffmpeg.exe";
// $uploaddir is my file upload path
$video = $uploaddir.$image_name;  
//where to save the image
$iname = basename($image_name, ".mp4");
$image = $uploaddir.'/'.$iname.'_img.jpg';  
//time to take screenshot at  
$interval = 5;  
//screenshot size  pn 
$size = '640x480';  
//ffmpeg command  
$cmd="$ffmpeg -i ".$video." -ss 00:00:01.100 -f image2 -vframes 1 ".$image;
exec($cmd);

标签: php yii ffmpeg
1条回答
家丑人穷心不美
2楼-- · 2019-08-07 19:21

it is not possible to execute "http://foo.bar/ffmpeg/ffmpeg.exe", exec requires a absolute path to the binary:

/**
 * return d:/wamp/www/projectname
 */
$var = dirname(Yii::app()->getBasePath());
$ffmpeg = $var."/ffmpeg/bin/ffmpeg.exe";
if(!file_exists($ffmpeg))
   exit("sorry dude, i cant find ffmpeg.exe!");
查看更多
登录 后发表回答