0

私はコードイグナイターで働いています。ビデオファイルのサムネイル画像を作成する際に問題に直面していました.codeigniterを使用してビデオファイルのサムネイル画像を生成するためのコードがあれば教えてください。ffmpeg 拡張機能を使用して以下のコードを使用して、画像のサムネイル画像を生成しました。常に null 値を与えます。

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);
    }
}
4

1 に答える 1

0

php.net は次のように述べています。

この関数は、エラーが発生した場合やプログラムが出力を生成しない場合に NULL を返すことがあります。この関数を使用して実行の失敗を検出することはできません。プログラム終了コードへのアクセスが必要な場合は、exec() を使用する必要があります。「exec()」関数を使用する場合は、次のように使用することを忘れないでください。

unset($output);
exec("ls -l",$output);
于 2014-09-02T09:46:34.413 に答える