2010-11-23 4 views
1

Я пытаюсь понять, как лучше войти в систему через php-команду на удаленный сервер и запустить команду для преобразования FLV-файла в MP3 (а затем, возможно, переместить его на локальный сервер)?Удаленный ftp логин и конвертировать FLV в mp3?

Я всегда могу переместить файл позже, но мне нужно сделать это в этом порядке, так как на удаленном сервере размещается ffmpeg.

Используя это будет делать это на месте:

exec(ffmpeg -i vid.flv -acodec copy output.mp3); 

Как я могу это сделать удаленно?

Спасибо!

+1

Почему вы не можете просто установить ffmpeg локально и сделать все это локально? – 2010-11-23 17:46:45

+0

Установлен ли на удаленном сервере ffmpeg? – 2010-11-23 17:53:42

ответ

0

Вам нужно сделать следующее, чтобы

  • Перенести FLV через PHP родной FTP команды
  • Создать слой на сервере FFmpeg для запуска команды
  • Прочитайте код ответа и выполнить конкретное действие

если вы отправляете файл на сервер через ftp, а затем создаете скрипт на сервере, на который вы только что перевели файл, вы можете выполнить ping скрипт с помощью хэш-код для файла, и скажите ему конвертировать.

  • Отправка файлов через FTP (Upload Example)
  • пинг сервера, чтобы начать преобразование

сценарий преобразования будет принимать имя файла, а затем искать в локальный каталог для файла, когда его находит его, он будет конвертировать.

Если вы хотите, чтобы локальный сервер знал, когда конверсия завершена, тогда вам также нужно будет отправить идентификатор сценарию конверсии, и вы сохраните этот идентификатор с обеих сторон, чтобы сервер мог откликнуться на ваш локальный скрипт (ПРЕДУПРЕЖДЕНИЕ!) с идентификатором, и вы можете вернуть его с сервера.

Причина для предупреждения заключается в том, что его трудно получить сервер для ping, брошенный на ваш локальный хост, если вы за маршрутизатором/брандмауэром вам придется настраивать переадресацию портов и т. Д. На маршрутизаторе и разрешать доступ к порту 80 извне ,

надеюсь, что это даст вам некоторое представление о том, как справиться с этой ситуацией.

1

Вы не можете выполнять удаленные команды через FTP.

Если у вас есть SSH-доступ к машине, вы можете использовать SSH2 extension для PHP и выполнить его через SSH.

0

Запишите сценарий php и загрузите его на сервер преобразования flv. Сценарий должен:

  1. Скачать файл FLV (через POST или другой способ загрузки) в vid.flv
  2. Выполните команду сервера «Exec (FFmpeg -i vid.flv -acodec скопировать output.mp3);»
  3. уведомит вас о результатах Whe output.mo3 готов

Вы много нужно изменить максимальное время выполнения сценария (set_time_limit);

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