2011-01-24 13 views
4

ユーザがアップロードしたビデオファイルをflvまたはwebM &に変換してユーザに表示する必要があります。今ではいくつかの研究をした後、変換を行うためにffmpegを使用する必要があるとの結論に達しましたが、パイプライン全体を処理する方法はわかりません。つまり、ユーザがアップロードした動画ファイルをdjango、pythonを使用して変換する

  1. アップロードしたファイルをただちに取得します。
  2. djangoのバックエンドで何とか処理のためにファイルを送信しますか?
  3. 処理が完了したら、ユーザーがアップロードした元のファイルを削除します。&は、変換されたファイルで置き換えます。

私はこの広範なステップを知っていますが、各ステップを合理化された方法で接続するのが好きですか?例えばどのようにPythonからCLIのffmpegへのシステムコールを開始する&変換プロセスが完了するまで待機し続ける。また、新しい変換ファイル&を指すようにDBを更新する方法も古いものを削除します。ファイルが変換されたことをユーザ(ライブ)に伝える方法、変換などでは、進行状況バーのように?

私はこれが一種の重要な問題だと知っていますが、あらゆる/すべてのビットの助けは素晴らしいでしょう!

答えて

3

変換に時間がかかるとしている場合は、タスクハンドラにそれらをオフに渡すことを検討する必要があります:

http://celeryproject.org/

だけのものかもしれません。

>>> 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() 

システムは、os.systemとしてosモジュールの関数を用いて行うことができるPythonでコールPythonのドキュメントで。私は確信しています。

+0

提案していただきありがとうございます。私は実際に変換タスクを作成するために、subprocess.Popenと一緒にCelery + RabbitMQを使用しました。以前このパイプライン全体を自動化する作業をしていないので、それは恐ろしいものですが、私は生き残ります。 :) – Chantz

関連する問題