2012-11-21 157 views
3

我已經花了幾個星期的空閒時間試圖找出這個問題或搜索它無濟於事,我不知道如果它是一個Python或Django的問題,並想知道是否有人可以指導我在右邊方向。如何在Django中運行FFMPEG命令?

我理解上傳視頻文件並查詢它們,但我並不熟悉Django使用FFMPEG(專門將視頻轉換爲FLV)。如何在Django視圖中調用該命令來轉換視頻,以及如何在單擊「提交」按鈕時以及將視頻保存到數據庫時執行該操作。

謝謝你的幫助!我一直沒有找到任何有關這件事的文章/文學,並且它殺了我!

回答

9

一旦上傳文件,您就可以使用子進程python模塊調用ffmpeg。

import subprocess 
subprocess.call('ffmpeg -i video.mp4 video.flv') # check the ffmpeg command line :) 

ffmpeg是相當cpu密集型。你應該在真實世界的網絡應用中注意這一點。子進程調用會阻止應用程序,直到轉換完成(在某些情況下可能會很長)。 celery可以作爲非阻塞異步任務運行它的解決方案。

有幾個應用程序的視頻管理。我從來沒有使用過其中之一,但我認爲你應該看看django-multimedia。這似乎是你在找什麼。

+0

謝謝!欣賞它。 – Jack