Как команда ffmpeg выполняется в этом коде - PullRequest
1 голос
/ 09 февраля 2011

хочу знать, как выполняется команда ffmpeg для создания снимка экрана в этом коде. Я не могу понять, когда создается скриншот, какой функцией или какой строкой он выполняется.

  $ffmpeg = '/usr/bin/ffmpeg';
        $video  = $sourceUrl;// the input video file
        $thumbId = uniqid();
        $thumbId .= ".jpg";
        // where you'll save the image
        $image = "uploads/$thumbId";
        // default time to get the image
        $second = 1;
        // get the duration and a random place within that
        $cmd = "$ffmpeg -i $video 2>&1";
        if (preg_match('/Duration: ((\d+):(\d+):(\d+))/s', `$cmd`, $time)) {
            $total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
            $second = rand(1, ($total - 1));
        }

        // get the screenshot
        $cmd = "$ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -s 120x90 -vcodec mjpeg -f mjpeg $image 2>&1";
        $return = `$cmd`;
        $thumbLink = "";

1 Ответ

3 голосов
/ 09 февраля 2011

Эта строка выполняет команду, которую вы сохранили в переменной $cmd:

    $return = `$cmd`;

В PHP обратная связь - это оператор выполнения , и его использование идентично вызову shell_exec .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...