Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отсутствует ответ shell_exec()
 
 автор: Sfinks   (25.11.2011 в 17:14)   письмо автору
 
 

выполняю команду
<?
$s 
shell_exec("ffmpeg -i 1.mp3 -y -t 1 -acodec mp2 0.mp2");
var_dump($s);
?>
Ответ: NULL
При этом команда выполняется, файл конвертируется, но мне бы хотелось еще и текст увидеть.
В шелле отображается текст, а в пых не передается
Но не передается ток при конвертировании. Например ffmpeg -formats или ffmpeg -h отдают инфу.
Что эт может быть?

  Ответить  
 
 автор: cheops   (25.11.2011 в 18:12)   письмо автору
 
   для: Sfinks   (25.11.2011 в 17:14)
 

А ffmpeg что возвращает? У меня сложилось впечатление, что shell_exec() захватывает только стандартный вывод, а канал вывода ошибок игнорирует...

  Ответить  
 
 автор: Sfinks   (25.11.2011 в 18:40)   письмо автору
 
   для: cheops   (25.11.2011 в 18:12)
 

Ну у меня тоже такие же мысли были, поэтому я сначала в путти добился безошибочного выполнения, потом вставил ту же команду в shell_exec()

  Ответить  
 
 автор: Sfinks   (25.11.2011 в 18:43)   письмо автору
 
   для: 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 в 19:35)   письмо автору
 
   для: Sfinks   (25.11.2011 в 18:43)
 

Оказалось вышеуказанный текст ffmpeg действительно возвращает как ошибку.
Получить мне его удалось следующим образом:
<?
$descriptorspec 
= array(=> 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.
Может кому пригодится.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования