2015-02-12 1 views
0

Я установил версию от http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2 , а также попробовал версию yum, но она не является новой для youtube-dl.ffmpeg не работает от php

Я пробовал export PATH=$PATH:/usr/local/bin/ffmpeg и PHP/Apache все еще не мог найти FFmpeg.

Пользователь Apache запускает скрипт PHP на CentOS 6.5.
Вызов мой YouTube-dl.php из командной строки PHP как корневые работы (с FFmpeg)
Calling мой YouTube-dl.php из PHP апача пользователь работает (не с FFmpeg)

То, что я пытаюсь сделать: shell exec youtube-dl (youtube dl вызывает FFmpeg в своем двоичном коде, который теперь должен модифицировать его, чтобы добавить полный путь). Это работает, но часть FFmpeg мой YouTube-dl.php файл

$output = shell_exec('youtube-dl -o "/home/test/%(title)s.%(ext)s" '.$url.'  -f bestvideo+bestaudio 2>&1'); 
echo "<pre>$output</pre>"; 

# which ffmpeg 
/usr/local/bin/ffmpeg 

Кто-то на других страницах этого сайта говорит местные/бен для индивидуальных версий, но я скачал его прямо из FFmpeg и сделал стандартный ./configure сделать установку.

Сделано:

chmod 755 to /usr/local/bin/ffmpeg 

Запуск FFmpeg в качестве тестовой команды напрямую (иногда работает и не, как я модернизировал/перезагружается/updatedb/и т.д.)

$output = shell_exec('ffmpeg 2>&1'); 
echo "<pre>$output</pre>"; 

Результат:

<pre>sh: ffmpeg: command not found</pre> 

Я прочитал все эти похожие вопросы, но они не помогли:

FFMPEG PHP does not seem to work
FFmpeg not working
Recording audio with FFMPEG works in terminal but not through exec() of PHP
ffmpeg-php permission denied on localhost
C++ program from PHP not working properly
FFMPEG works from command line but not PHP
Calling a shellscript from php - not working correctly
PHP Internal Server Error 500 when using ffmpeg to convert files
PHP code not proceeding to the line after exec ffmpeg
ffmpeg not working from php script but works from command line
PHP exec() Not Working With ffmpeg
ffmpeg not work with PHP exec()
ffmpeg php exec not working

+0

Как не работает 'shell_exec'?Вы получаете сообщение об ошибке? Если вы этого не сделаете, попробуйте захватить 'stderr' из shell_exec и посмотреть, что он содержит. – jsalonen

+0

Где бы я поставил команду stderr? –

+0

Ошибка в файле 'ffmpeg: command not found', поэтому вам нужно убедиться, что оболочка может получить доступ к' ffmpeg'. См. Например: http://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path – jsalonen

ответ

1

Решение, что сработало для меня. Я выполнил учебник здесь, чтобы установить ffmpeg: http://www.wikihow.com/Install-FFmpeg-on-Windows

Настроить PATH, затем я проверил ffmpeg -version из командной строки, в которой он работал.

Затем я попытался загрузить видео 1080p с помощью youtube-dl (ссылка youtube) -f bestvideo + bestaudio, но я получил одно и то же сообщение: «ПРЕДУПРЕЖДЕНИЕ: вы запросили несколько форматов, но ffmpeg или avconv не установлены. не будут объединены ». Конечно, он был установлен.

Затем я открыл командную строку с именем «Запуск от имени администратора», попробовал то же самое, и это сработало наконец.

+0

Прежде всего, добро пожаловать в переполнение стека! Связывание с документацией или учебными пособиями - отличная идея. Но ссылки могут сломаться. Поэтому всегда старайтесь наметить ответ на S.O. также. (Даже простых шагов без подробностей ниже будет достаточно!) :) –

0
  • Шаг 1:cd ..

  • Шаг 2:cd /usr/bin

  • Шаг 3:wget http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.latest.tar.gz

  • Шаг 4:tar -xvzf ffmpeg.static.32bit.latest.tar.gz

 Смежные вопросы

  • Нет связанных вопросов^_^