Мне нужно прочитать вывод из ffmpeg, чтобы даже попробовать решение моего вопроса со вчерашнего дня . Это отдельная проблема от моей проблемы, поэтому я сделал новый вопрос.
Как, черт возьми, я могу получить вывод команды ffmpeg -i
в PHP?
Вот что я пытался:
<code><?PHP
error_reporting(E_ALL);
$src = "/var/videos/video1.wmv";
$command = "/usr/bin/ffmpeg -i " . $src;
echo "<B>",$command,"</B><br/>";
$command = escapeshellcmd($command);
echo "backtick:<br/><pre>";
`$command`;
echo "
система:
";
echo system($command);
echo "
shell_exec:
";
echo shell_exec($command);
echo "
PassThru:
";
passthru($command);
echo "
Exec: <бр />
";
$output = array();
exec($command,$output,$status);
foreach($output AS $o)
{
echo $o , "<br/>";
}
echo "
POPEN:
";
$handle = popen($command,'r');
echo fread($handle,1048576);
pclose($handle);
echo "
";
?>
Это мой вывод:
<code><B>/usr/bin/ffmpeg -i /var/videos/video1.wmv</B><br/>
backtick:<br/>
<pre>
Система:
shell_exec:
PassThru:
Exec:
POPEN:
Я не понимаю. safe_mode
выключен. В disable_functions
ничего нет. Каталог принадлежит www-data
(пользователь apache в моей системе Ubuntu). Я получаю верный статус от exec()
и system()
, и выполнение той же команды из командной строки дает мне тонны вывода. Я чувствую, что, должно быть, упускаю что-то очевидное, но я понятия не имею, что это такое.