Преобразование видеофайлов, загруженных пользователем, и их обработка с использованием django, python - PullRequest
4 голосов
/ 24 января 2011

Мне нужно взять любой видеофайл, загруженный пользователем, преобразовать его в flv или webM и затем отобразить его пользователю.Теперь, проведя некоторое исследование, я пришел к выводу, что для преобразования мне нужно использовать ffmpeg, но я не уверен, как позаботиться обо всем конвейере.А именно,

  1. Получить только что загруженный файл пользователем.
  2. В бэкэнде django как-нибудь отправить файл на обработку?
  3. После завершения обработки удалить оригинальный файлзагружен пользователем и замените его на преобразованный файл.

Я просто знаю об этих широких шагах, но нравится, как соединить каждый шаг в упрощенном виде?например, как запустить системный вызов ffmpeg в CLI из python и продолжать ждать, пока процесс преобразования не будет завершен.Также, как обновить БД, чтобы теперь указывать на новый преобразованный файл и удалять старый.Как сообщить пользователю (в режиме реального времени), что файл преобразуется, в преобразование и т. Д., Как индикатор выполнения?

Я знаю, что это своего рода всеобъемлющий вопрос, но помощь с любыми / всеми битами будет отличной!

1 Ответ

3 голосов
/ 24 января 2011

Если преобразование займет много времени, вы можете рассмотреть возможность передачи их обработчику задачи:

http://celeryproject.org/

может быть простоСистемные вызовы в python могут быть выполнены с помощью функций в модуле os, таких как os.system:

>>> os.system("/bin/ls")
api-manual.pdf  C++  GUI  Java  README

или os.popen:

>>> f=os.popen("/bin/ls")
>>> f.read()
'api-manual.pdf\nC++\nGUI\nJava\nREADME\n'
>>> f.close()

есть раздел о межпроцессныхобщение и так далее в документации по питону.Я уверен.

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