0

我正在創建AWS上託管的視頻流應用程序。我有AWS S3上託管的mp4。爲了流式處理視頻文件,我想將mp4轉換爲MPEG-DASHmpd)格式並存儲在不同的AWS S3存儲桶中。我將通過AWS cloudfront在代碼轉換後的mpd文件中使用dash.jsvideogular在客戶端進行流式傳輸。視頻流:MPEG-DASH,AWS cloudfront,dash.js

我面臨的問題是如何將mp4轉碼爲mpd(不使用AWS轉碼器,有點貴)。我正在考慮利用AWS Lambda來偵聽源S3存儲桶並將其輸出到不同的S3存儲桶。但無法找到一個模塊進行編碼轉換(將其轉換爲Lambda函數)。有沒有人完成它,並想提供一些見解?

回答

3

mpd文件實際上只是一個基於文本的索引文件 - 它包含視頻和音頻流的URL,但沒有媒體本身。

用於MPEG DASH的媒體存儲在分段中,用於分段mp4格式的mp4。

如果你想從mp4自己創建分段mp4,那麼你可以看一些工具來做到這一點,甚至用作批處理的一部分。

一個例子是mp4Dash(https://www.bento4.com/documentation/mp4dash/)。您可以在此鏈接上看到示例,用於轉換單個mp4文件,或轉換單個文件的多個比特率版本,在使用DASH進行Adaptve比特率流式傳輸時更典型(ABR - 允許客戶端選擇比特率下一段,以根據當前網絡狀況)下載:

單MP4輸入文件

mp4dash video.mp4 

的MP4文件的多比特率設置

mp4dash video_1000.mp4 video_2000.mp4 video_3000.mp4 

另一個例子是mp4Box:https://gpac.wp.imt.fr/mp4box/dash/

它沒有價值,因而實際上有多種方式以流在AWS DASH - 彈性轉碼可以創建MPEG DASH流,你可以從S3存儲和數據流,你可以使用雲鋒和服務如Unified Streaming或Wowza等。流式傳輸非常複雜,因此如果這需要大量重要服務,則可能需要查看這些服務並查看是否有可滿足您需求的選項或組合,而不會太昂貴。

+0

鏈接丟失 –

+0

哎呀!添加了鏈接,也是另一個例子。這也是一個有用的博客文章:https://bitmovin.com/mp4box-dash-content-generation-x264/ – Mick