Система PHP / Exec Нет вывода - нет действий - PullRequest
0 голосов
/ 10 июля 2011

Я пытаюсь конвертировать некоторые видео с использованием ffmpeg в разные форматы.

У меня есть этот класс,

<?php

define('FFMPEG', 'C:\\cygwin\\usr\\local\\bin\\ffmpeg.exe');

class VideoEncoder {

    public function multicodeFileIntoDir($file, $directory) {
        $parts = explode('/', $file);
        $filename = $parts[count($parts)-1];

        $encode_android = FFMPEG.' -i "'.$file.'" -s 480x320 -vcodec mpeg4 -acodec aac -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 "'.$directory.$filename.'.g1.mp4"';

        $encode_windows = FFMPEG.' -y -i "'.$file.'" "'.$directory.$filename.'.avi"';

        $out = shell_exec($encode_android);
        $out = shell_exec($encode_windows);

    }

}

При отладке команд, которые будут запущены, они работают как положено и выдают правильный файл. Разрешения для каталога, для которого я вызываю этот код, имеют разрешения 777, $out равно null, и команда не действует.

У меня error_reporting как E_ALL, а display_errors равно TRUE.

Пример команды (значение $encode_windows непосредственно перед выполнением): C:\cygwin\usr\local\bin\ffmpeg.exe -y -i "C:\xampp\htdocs\cams/../front/vid20110623_122802.mp4" "C:\xampp\htdocs\cams/../front/vid20110623_122802.mp4.avi"

Редактировать: Кажется, что он пишет в STDERR, каким-то образом вывод команды находится в журнале ошибок Apache. Тем не менее, вывод, кажется, в порядке ..

Есть идеи? Спасибо

...