2015-02-24 40 views
0

我正在構建智能手機應用程序,該應用程序也應該拍攝短視頻並將其發送到Amazon S3等基於雲的存儲。我在雲上也有服務器(即在EC2上)。如何在基於雲的應用程序上轉換視頻格式

假設我調整了應用程序上的視頻文件的大小(如WhatsApp所做的那樣)。我希望它可以通過其他設備(蜂窩和臺式機)傳送給其他用戶,所以我想我需要將視頻轉換爲其他格式。

使用Amazon Elastic Transcoder似乎非常昂貴(每分鐘視頻大約0.015美元),因爲我打算在其上存儲大量視頻文件。

我該怎麼辦?在我的服務器上使用格式轉換程序(也在雲上)?

我不想流式傳輸視頻,而是給像whatsApp這樣的文件。

回答

1

問題不在於支持多種格式(現在到處都支持MP4),而是多個比特率/分辨率。同時擁有多個比特率,您可以利用自適應流媒體。

分爲3個部分的系統,您需要考慮:

  1. 轉換
  2. 寄存
  3. 交貨

轉換 視頻轉換爲CPU足夠密集的要一次轉換視頻並存儲結果。選擇將覆蓋您的應用需求的3-6比特率/分辨率,並將您收到的所有視頻轉換爲這些格式。

您可以使用Elastic Transcorder,Zencoder或您自己的角色。滾動你自己的規模肯定會很複雜。您需要將其構建爲一個運行多個實例的作業隊列類型系統來處理轉換工作。

存儲 轉換後,你需要存儲你的文件。如果您正在使用AWS產品,那麼S3就會在這裏發揮作用。

交貨 如果您獲得大量的流量,這可能是您項目中成本最高的方面。利用流式傳輸可以降低成本,因爲您不需要下載整個文件。 Cloudfront支持使用S3或其他來源作爲源的直接下載或流式傳輸。

+0

嗨@datasage,感謝詳細的解答。我想我會嘗試Zencoder,儘管它看起來有點貴。 – dannysh 2015-03-01 09:59:30

相關問題