Установка ffmpeg для переполнения стека

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

0

Решение

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

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

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

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

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

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

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]