Я установил версию от http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2
а также попробовал версию yum, но она не достаточно новая для youtube-dl.
Я старался export PATH=$PATH:/usr/local/bin/ffmpeg
и PHP / Apache все еще не может найти FFmpeg.
Пользователь Apache запускает PHP-скрипт на CentOS 6.5.
Вызов моего youtube-dl.php из командной строки php как root работает (с FFmpeg)
Вызов моего youtube-dl.php от пользователя php apache работает (не с 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
Кто-то на других страницах этого сайта говорит, что local / bin предназначен для индивидуальных версий, но я скачал его прямо с FFmpeg и выполнил стандартную ./configure make install.
Готово:
chmod 755 to /usr/local/bin/ffmpeg
Запуск FFmpeg в качестве тестовой команды напрямую (иногда работает, а не так, как я обновил / перезагрузил / обновилb / и т. Д.)
$output = shell_exec('ffmpeg 2>&1');
echo "<pre>$output</pre>";
Результат:
<pre>sh: ffmpeg: command not found</pre>
Я прочитал все эти похожие вопросы, но они не помогли:
FFMPEG PHP не работает
FFmpeg не работает
Запись аудио с помощью FFMPEG работает в терминале, но не через exec () PHP
Разрешение ffmpeg-php запрещено на локальном хосте
Программа на C ++ из PHP не работает должным образом
FFMPEG работает из командной строки, но не из PHP
Вызов сценария из php — работает неправильно
PHP Internal Server Error 500 при использовании ffmpeg для конвертации файлов
PHP-код не переходит на строку после exec ffmpeg
ffmpeg не работает из сценария php, но работает из командной строки
PHP exec () не работает с ffmpeg
ffmpeg не работает с PHP exec ()
ffmpeg php exec не работает
Решение, что сработало для меня.
Я следовал этому уроку, чтобы установить ffmpeg: http://www.wikihow.com/Install-FFmpeg-on-Windows
Настройте PATH, затем я проверил ffmpeg –version из командной строки, он работал.
Затем я попытался загрузить видео 1080p с помощью youtube-dl (ссылка на YouTube) -f bestvideo + bestaudio, но я получил то же сообщение: «ВНИМАНИЕ: Вы запросили несколько форматов, но ffmpeg или avconv не установлены. Форматы не будут слилась «. Конечно это было установлено.
Затем я открыл командную строку с помощью «Запуск от имени администратора», попробовал то же самое, и в конце концов это сработало.
Шаг 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