今天收到了AWS的通知信, 有個新上線的服務Amazon Elastic Transcoder, 用來做影音的線上轉碼, 網址說明在這裡
http://aws.amazon.com/elastictranscoder/
這個服務提供很容易的方式將影音的格式進行轉碼, 可以支援的輸出格式為 h.264 + AAC 的 mp4 檔案, 當然也是目前支援性高也廣泛應用的格式, 內建的幾組預設輸出(preset)如下:
Generic 1080p mp4 System preset generic 1080p
Generic 720p mp4 System preset generic 720p
Generic 480p 16:9 mp4 System preset generic 480p 16:9
Generic 480p 4:3 mp4 System preset generic 480p 4:3
Generic 360p 16:9 mp4 System preset generic 360p 16:9
Generic 360p 4:3 mp4 System preset generic 360p 4:3
Generic 320×240 mp4 System preset generic 320×240
iPhone4 mp4 System preset: iPod touch 5G, 4G, iPad 1G, 2G
iPhone4S mp4 System preset: iPhone 5, iPad 3G, 4G, iPad mini, Samsung Galaxy S2/S3/Tab 2
iPhone3GS mp4 System preset: iPhone 3GS
iPod Touch mp4 System preset: iPhone 1, 3, iPod classic
Apple TV 2G mp4 System preset: Apple TV 2G
Apple TV 3G mp4 System preset: Apple TV 3G, Roku HD/2 XD
Web mp4 System preset: Facebook, SmugMug, Vimeo, YouTube
KindleFireHD mp4 System preset: Kindle Fire HD
KindleFireHD8.9 mp4 System preset: Kindle Fire HD 8.9
KindleFire mp4 System preset: Kindle Fire
若是內建的 preset 不夠用, 也可以自行建立 preset, 建立畫面如下:
如此一來便能建立更符合應用需求的尺寸, 不過一般來說, 內建的 preset 已經很夠用了. 另外大家有沒有注意到, 還有 thumbnails 這項, 對了, 就是產生縮圖的功能, 在轉換影片的過程中, 也一併產生縮圖, 方便在實際應用上的圖片預覽, 在預設的 preset 中也有.
再來就是計價的部分, 是以影片的長度來計算, 以最便宜的地區來看, 每一分鐘轉出的SD影片為0.015美元, 而轉出HD影片為0.03美元, 也是相當便宜呢. 將一部 120分鐘的影片轉檔為SD的格式, 只需要 1.8美元.
以實際上傳來進行轉檔, 把檔案放到 s3 中, 指定好輸入檔案和輸出檔案後, 測試一支 3:30 長度的影片, 720P轉為 480P, 16:9, 只需要不到2分鐘的時間, 效率也很不錯.
目前有每月免費20分鐘的影片轉檔試用, 大家可以來體驗看看這個新上線的 amazon 服務!
[1/30 10:57]
為能再次測試看得到的範例, 從 HD Demo world找了一支影片來測試, 網址在這裡:
http://www.demo-world.eu/trailers/high-definition-trailers.php
使用的是 BBC Germany 22.1MB 20sec
上傳到 s3 的 bucket 裡, 並開始進行轉換, 不過可能是檔案格式為 hd_distributor_bbc_germany.m2ts 是 m2ts 的格式, 所以轉換失敗, 而凌晨測試的格式是 720p 的 mp4 轉為 480p 的 mp4, 所以是順利轉出.
查了一下這個 Amazon Elastic Transcoder 支援的輸入格式說明如下:
Formats: Amazon Elastic Transcoder supports transcoding into H.264 video and AAC audio in an MP4 container. We support most common media formats for input including H.264, AAC, MP4, MPEG-2, FLV, 3GP and AVI.
看起來 m2ts 可能不被支援, 所以測試失敗.
再查了一下, 發現是輸出設定檔案衝突, 所以無法輸出, 真囧, 再次建立 job 進行測試, 於 45sec完成轉換(輸出仍為1080p-生成檔案大小為 30.9MB).
在建立 job 時, 順便看了一下 Additional Job Details 中, Input Container 預設是自動(用預設即可), 下拉後, 有格式選擇如下:
共有 3gp, asf, avi, divx, flv, mkv, mov, mpeg, mpeg-ps, mpeg-ts, mxf, ogg, vob, wav, webm 這些格式, 基本上常用的都有了.
再來繼續測試:
輸出 720p 的格式, 所需時間為 32sec, 輸出檔案大小為 16.7MB
輸出 480p 16:9 的格式, 所需時間為 61sec, 輸出檔案大小為 8.8MB
輸出 360p 16:9 的格式, 所需時間為 27sec, 輸出檔案大小為 5.2MB
雖然 480p 16:9 稍慢一點, 不過看起來可能只是一個案例, 再測一次 480p 16:9 的輸出為 51sec, 有稍快一點, 整體來說轉檔的時間真的還蠻快的呢!