|
|
|
| выполняю команду
<?
$s = shell_exec("ffmpeg -i 1.mp3 -y -t 1 -acodec mp2 0.mp2");
var_dump($s);
?>
| Ответ: NULL
При этом команда выполняется, файл конвертируется, но мне бы хотелось еще и текст увидеть.
В шелле отображается текст, а в пых не передается
Но не передается ток при конвертировании. Например ffmpeg -formats или ffmpeg -h отдают инфу.
Что эт может быть? | |
|
|
|
|
|
|
|
для: Sfinks
(25.11.2011 в 17:14)
| | А ffmpeg что возвращает? У меня сложилось впечатление, что shell_exec() захватывает только стандартный вывод, а канал вывода ошибок игнорирует... | |
|
|
|
|
|
|
|
для: cheops
(25.11.2011 в 18:12)
| | Ну у меня тоже такие же мысли были, поэтому я сначала в путти добился безошибочного выполнения, потом вставил ту же команду в shell_exec() | |
|
|
|
|
|
|
|
для: cheops
(25.11.2011 в 18:12)
| | ответ ffmpeg в putty такой:
Input #0, mp3, from '1.mp3':
Duration: 00:04:34.41, start: 0.000000, bitrate: 128 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
Output #0, mp2, to '0.mp2':
Stream #0.0: Audio: mp2, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
size= 8kB time=1.02 bitrate= 64.0kbits/s
video:0kB audio:8kB global headers:0kB muxing overhead 0.000000%
|
| |
|
|
|
|
|
|
|
для: Sfinks
(25.11.2011 в 18:43)
| | Оказалось вышеуказанный текст ffmpeg действительно возвращает как ошибку.
Получить мне его удалось следующим образом:
<?
$descriptorspec = array(2 => array("file", "error-output.txt", "w"));
$cwd = '/home/тра-та-та-та-тра-та-та/files';
$process = proc_open('ffmpeg -i a.mp3 -y -t 5 -acodec mp2 0.mp2', $descriptorspec, $pipes, $cwd);
proc_close($process);
?>
| После выполнения скрипта ответ ffmpeg будет в файле error-output.txt.
Может кому пригодится. | |
|
|
|