Как разделить и конвертировать видео с помощью PHP и FFMPEG - PullRequest
1 голос
/ 11 мая 2011

Я хочу, чтобы пользователи только загружали видео, затем пишут код, который разбивает это видео на определенные пользователем сегменты, а затем преобразуют эти сегменты в .flv и .mp4 видео.Есть ли способ, которым я могу это сделать?

Ответы [ 3 ]

6 голосов
/ 11 мая 2011

Я не думаю, что есть какой-либо способ сделать это напрямую в PHP. Даже если бы это было так, это было бы не самым разумным поступком.

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

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

Это означает, что вашим пользователям не придется ждать перекодирования видео в реальном времени.

1 голос
/ 11 мая 2011

На самом деле, вы можете проверить FFMPEG-PHP для получения снимков с видео в определенное время, используя метод $movie->getFrame() на объекте ffmpeg_movie, даже до точки, позволяющей пользователюскорректировать время.

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

Я бы предложил интегрировать PHPResque (основанный на Ruby's Resque, который я часто использую), чтобы поставить в очередь фактическое выполнение команд ffmpeg, так как это в противном случае остановило бы ваше приложение.Просто настройте класс с методом perform() для выполнения ffmpeg, и вы можете использовать PHP Resque для мониторинга состояния задания.

1 голос
/ 11 мая 2011

Я не могу разделить видео на сегменты. Для конвертирования видео смотрите примеры здесь - http://www.ffmpeg.org/ffmpeg-doc.html#SEC18.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...