当尝试使用ffmpeg codeginiter创建视频缩略图时,shell_exec函数总是给出null值


shell_exec function always giving null value when try to create video thumbnail using ffmpeg codeginiter

我在codeigniter工作。我在为视频文件创建缩略图时遇到了问题。如果有人可以给我使用codeigniter为视频文件生成缩略图的代码。我使用下面的代码使用ffmpeg扩展为图像生成了一个缩略图。它总是给出空值。

function upload_video()
{
    $files = $_FILES;
    $cpt = count($_FILES['video']['name']);
    $this->load->library('image_lib');
    for($i=0; $i<$cpt; $i++)
    {
        $_FILES['video']['name']= $files['video']['name'][$i];
        $_FILES['video']['type']= $files['video']['type'][$i];
        $_FILES['video']['tmp_name']= $files['video']['tmp_name'][$i];
        $_FILES['video']['error']= $files['video']['error'][$i];
        $_FILES['video']['size']= $files['video']['size'][$i]; 
        $this->load->library('upload', $this->upload_options());
        $this->upload->initialize($this->upload_options());
        $this->upload->do_upload('video');
        $files_uploaded=$this->upload->data();
        $f_name=$files_uploaded['client_name'];
        $directory_path=$files_uploaded['file_path'];
        $directory_path_full=$files_uploaded['full_path']; 
    $out=shell_exec("ffmpeg -y -i C:'xampp'htdocs'photo24'video'140902video-2012-07-05-02-29-27.mp4 -f mjpeg -ss 10 -vframes 1 160x120 C:/xampp/htdocs/photo24/video/thumb/mythumb.jpg 2>&1");
    file_put_contents($dir.'cmd.log', $cmd); // to debug
    //var_dump($out);
        echo $file_array_data = $this->upload->display_errors();
        $this->user_model->add_video($files_uploaded);
    }
}

php.net说:

当发生错误或程序没有输出时,此函数都可以返回NULL。使用此功能无法检测执行失败。当需要访问程序出口代码时,应使用exec()。如果你想使用"exec()"函数,不要忘记使用类似:

unset($output);
exec("ls -l",$output);