2010-09-01 5 views
0

Может кто-нибудь, пожалуйста, сообщите, какие у меня варианты, когда речь заходит о преобразовании видео в PHP. Я только что обнаружил, что наша система использует что-то, называемое ffmpeg. Это не проблема, но когда веб-сайт передается, он создает проблему, так как эта абсолютная команда нарушает веб-сайты.Конвертировать видео в .flv?

system ('/usr/bin/ffmpeg -i '.$video.' -y -f flv -qmin 5 -qmax 9 -ar 22050 '.DATA_DIR . $new_filename); 

Как вы можете видеть, для перенесенного веб-сайта потребуется этот путь на своем хосте, а большинство нет.

Итак, вопрос в этом. Мне нужно заменить это. Есть ли какой-то скрипт PHP или API, который сделает эту работу?

Есть ли какой-либо другой способ, кроме как пинговать наши собственные серверы с видео и нашим видео, отправляющим видео в новом формате?

Спасибо.

ответ

1

Есть ли какая-то PHP скрипт или API, который будет делать эту работу?

№ Это далеко выходит за рамки PHP. FFMPeg - это действительно название для видео конверсии - лучше всего, вероятно, придерживаться этого.

Один обходной путь будет создан сценарий службы преобразования на сервере, который поддерживает FFmpeg, и все другие веб-сайты, посылая материал к этому серверу (если размер файла и скорости движения позволяют.)

+1

Или передайте его кому-то другому, например http://www.encoding.com/ – sarnold

+0

@sarnold, это тоже хорошая идея. –

0

Существует PHP-библиотека FFmpeg, но вы можете просто установить версию Линукс из FFmpeg в приложении, и изменить этот каталог

+0

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

+0

К сожалению, к этому я не допущу ни того, ни другого. – JasonS

0

Нет, нет никаких собственных альтернатив PHP для ffmpeg для транскодирования видео, поэтому вы должны как-то обойти это.

0

Как уже упоминалось ранее, нет расширения PHP, которое делает преобразование видео (ffmpeg-php extension не может конвертировать видео) - вам нужно будет называть что-то не на PHP, чтобы правильно преобразовать видео.

Я вижу две возможные проблемы на «перенесенных сайтов»:

  1. Если это просто проблема путь: смотреть на this page для того, как позвонить в FFmpeg - вы не должны включать «/ USR/bin/"в вашей команде.
  2. Если проблема заключается в том, что вы не можете установить FFmpeg на переданных веб-сайтов, вы можете сделать две вещи, в зависимости от которых недостатком является более приемлемым:
    1. Вы можете конвертировать все видео в заранее .flv, и служить им либо с переданных веб-сайтов или с ваших собственных серверов. Используйте этот метод для видео, которые будут часто просматриваться, или чья конвертированная версия будет часто просматриваться.
    2. Переданные веб-сайты будут указывать на поток видео с ваших собственных серверов, который будет обрабатывать преобразование «на лету». Сделайте это для видео, которое не будет наблюдаться так часто.
0

Вы можете установить FFmpeg в свой домашний каталог на хостинг-провайдера; многие, если не большинство, хосты позволяют вам устанавливать программы в дополнение к скриптам.

Однако, пожалуйста, не размещайте этот код на производственной системе. Или любой компьютер, о котором вы заботитесь. Если какой-либо smartass загружает видео с именем

Puppy;/bin/rm -rf /;.avi 

, тогда вы можете поцеловать все ваши данные на прощание. Если он назван:

Puppy;`nc -l 11111`;.avi