2016-02-02 3 views
0

Я искал интернет уже более 3 дней и не могу найти ничего, у которого есть четкое объяснение того, как установить ffmpeg для php. В настоящее время ffmpeg установлен правильно в моей командной строке Mac, но что касается того, как использовать его в моих сценариях php, это вне меня. Как установить ffmpeg для php? Любая помощь будет большой. Благодарю.Установка ffmpeg для php

+0

вы можете использовать 'exec' или' shell_exec', или вы можете использовать библиотеку, такую ​​как https://github.com/PHP-FFMpeg/PHP-FFMpeg – cmorrissey

+0

Я попробовал 'exec()', но это не сработало. Существуют ли ограничения, вызванные MAMP? –

ответ

0

ffmpeg - это набор исполняемых программ, а не API. Был проект, о котором я знал в прошлом, который построил расширение php, но он не был устойчивым и никогда не стал жизнеспособным по ряду причин, не в последнюю очередь из-за того, что ffmpeg имеет множество различных вариантов и создает ,

Несколько лет назад мне было поручено создать систему кодирования аудио и видео для запуска социальной сети, используя PHP в качестве промежуточного ПО, поэтому я прошел через это точное упражнение.

Один из самых сложных аспектов - это работающая скомпилированная версия ffmpeg со всеми кодами, которые мы хотели иметь. В нашем случае наша размещенная среда была AWS, и мы использовали серверы Amazon linux, так что на этом пути было несколько икота, и исправления мне пришлось преследовать. Были пакеты, которые имели ffmpeg, но они были безнадежно устаревшими и отсутствовали основные функции, которые нам нужны. Единственный способ получить работу - получить источник ffmpeg и скомпилировать его вместе с источником для различных кодеков, которые мы использовали, в первую очередь для получения видео mpeg4 и совместимого звука. Если вам это не удобно, вы, вероятно, не сможете заставить все работать.

Что касается стороны PHP, я в конечном итоге использовал библиотеку PHP-FFMpeg, предложенную в комментарии выше, но я сделал это и сделал много настроек, которые сработали для нас, но на самом деле не способствовали возврату вверх по течению. Впоследствии хранитель библиотеки рассмотрел многие проблемы, которые у меня были, и теперь это гораздо более надежная библиотека, которая должна сэкономить массу проблем, если вы попытаетесь создать свою собственную оболочку.

В итоге ваш сервер должен:

  • рабочая скомпилированная версия FFmpeg и связанный с ним помощник
    программ, которые могут быть потребности в зависимости от того, что вы собираетесь быть
    делать со средствами массовой информации вы производство. Например, существует отдельная программа интроспекции мультимедиа (ffprobe), которая используется для определения характеристик носителя, который вы хотите кодировать.
  • A PSR-0/Composer совместимый проект. Наш был построен поверх Symfony 2.x, но это не является обязательным требованием. Я хотел бы упомянуть об этом, поскольку проект действительно подтолкнул улучшение и стабильность компонента symfony, который обертывает функцию php 'exec' в основе любых усилий по вызову внешней программы.

Следуя инструкциям и прочитав API, вы сможете получить пример кодировки для работы с PHP, но имейте в виду, что ffmpeg работает с файлами, и есть много проблем, связанных с файлами, которые вы должны думать через (исходные файлы, отображаемые файлы и имена, временные расположения файлов), с которыми вам придется иметь дело, если вы не делаете что-то тривиальное. В нашем случае эти программы были ориентированы на асинхронную командную строку/пакетную ориентацию, и было много времени и усилий, необходимых для определения способа масштабирования и исполнения. Излишне говорить, что кодирование видео может занять много времени и не то, что вы хотите сделать в монолитном php-скрипте, где конечный пользователь загружает, а затем ждет, пока вы выполняете всю обработку в том же скрипте!

Я знаю, что вы пытаетесь сделать это на своем Mac. Действительно ли это целевая среда для вашего развертывания производства?Это довольно сложно, и платформа зависит от процесса, который я не считаю целесообразным попробовать и получить взломанную версию на вашем Mac, потому что процесс получения ffmpeg, а также точная версия и компоненты очень изменчивы и чрезвычайно важны для вашего успех.

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