Я искал в интернете уже более 3 дней и не могу найти ничего, что содержало бы четкое объяснение того, как установить ffmpeg для php. В настоящее время я правильно установил ffmpeg в командной строке моего Mac, но вопрос о том, как использовать его в моих сценариях php, мне не подходит. Как мне установить ffmpeg для php? Любая помощь будет отличной. Благодарю.
ffmpeg — это набор исполняемых программ, а не API. Был проект, о котором я знал в прошлом, который создавал расширение php, но он не был надежным и никогда не становился жизнеспособным по ряду причин, не в последнюю очередь из-за того, что ffmpeg имеет много различных опций и сборок. ,
Несколько лет назад мне было поручено создать систему кодирования аудио и видео для запуска в социальной сети, используя PHP в качестве промежуточного программного обеспечения, поэтому я прошел через это точное упражнение.
Одним из наиболее сложных аспектов было создание рабочей скомпилированной версии ffmpeg со всеми необходимыми нам кодерами. В нашем случае нашей хостинговой средой был AWS, и мы использовали Amazon Linux-серверы, поэтому на этом пути было несколько сбоев, и патчи мне пришлось искать. Были доступны пакеты с ffmpeg, но они безнадежно устарели и не имели необходимых нам ключевых функций. Единственный способ заставить все работать — это получить исходный код ffmpeg и скомпилировать его вместе с исходным кодом для различных кодеков, которые мы использовали, в первую очередь для получения видео mpeg4 и совместимого аудио. Если вам неудобно это делать, вы, вероятно, не сможете заставить все работать.
Что касается PHP-стороны, я в конечном итоге использовал библиотеку PHP-FFMpeg, предложенную в комментарии выше, но я разобрал ее и сделал много настроек, которые работали для нас, но в действительности не способствовали обратному потоку. Впоследствии сопровождающий библиотеки обратился ко многим проблемам, которые у меня были, и теперь это гораздо более надежная библиотека, которая должна избавить вас от множества проблем, если вы попытаетесь создать свою собственную оболочку.
В итоге ваш сервер нуждается в:
Следуя инструкциям и прочитав API, вы сможете получить пример кодировки для работы с PHP, но имейте в виду, что ffmpeg работает с файлами, и есть много проблем, связанных с файлами, которые вы должны продумать (оригинальные файлы, визуализированные файлы и имена, временные местоположения файлов) со всеми вам придется иметь дело, если вы не делаете что-то тривиальное. В нашем случае эти программы были ориентированы на асинхронную командную строку / пакет, и потребовалось много времени и усилий, чтобы найти способ масштабирования и повышения производительности. Излишне говорить, что кодирование видео может занять много времени, и это не то, что вы хотите сделать в монолитном PHP-скрипте, куда конечный пользователь загружает, а затем ждет, пока вы выполняете всю обработку в одном и том же скрипте!
Я знаю, что вы пытаетесь сделать это на своем Mac. Действительно ли это целевая среда для вашего производственного развертывания? Это достаточно привередливый и достаточно зависимый от платформы процесс, поэтому я не думаю, что желательно пытаться получить хакерскую версию на вашем Mac, потому что процесс получения ffmpeg, а также точной версии и компонентов сильно варьируется и чрезвычайно важен для вашего успех.
Других решений пока нет …