iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0

進度說明

// TODO LIST
1. 製作 iOS shortcut 開啟相簿,選影片,叫瀏覽器出來 PUT 到指定網址
2. 用較為輕鬆的方式取號 Pre-Signed URL,因為不是每次都可以快速拿出終端介面呼叫指令 / Web UI

https://ithelp.ithome.com.tw/upload/images/20250915/20130149ArnFvS0Ve1.png

前言

  • 前一回我們透過 ffmpeg.ts 檔案們組合成 .mp4。 這個實現了將 RTMP 推播到中繼伺服器的 直播留檔,將該檔案變成可以方便觀看的影片檔。 不過還沒實現觀看直播,畢竟 RTMP 是那個曾經稱霸一方 Adobe 遺留下來的協定了。 在實現觀看前,我們先來看看 AWS 提供哪些全託管 (Fully Managed) 的服務,可以實現我們前兩回在做的事情。

先比較下列三種 AWS 的 Media 相關的服務

Elemental MediaConvert 是什麼

  • 連結: https://aws.amazon.com/tw/mediaconvert/features/
  • 用途:把影音檔(VOD:Video On Demand,點播影片)轉成你要的格式,例如:
    • .ts + .m3u8 → 標準 HLS
    • .mp4 → 多 bitrate HLS / DASH
    • 輸出多種解析度(1080p、720p、480p)
  • 特點:
    • 支援 Adaptive Bitrate (ABR),自動產生多個清晰度
    • 雲端大規模轉檔,不用自己架 FFmpeg farm
    • 適合 Netflix 類型:上傳一堆影片,全部轉成能在手機、電腦、智慧電視播放的格式

    就像一台雲端的「影音製作工廠」,你丟原始檔進去,它幫你出貨成不同版本。

MediaLive

  • 連結: https://aws.amazon.com/tw/medialive/features/
  • 用途:處理 直播流 (Live Streaming)
  • 輸入通常是:
    • RTMP (常見直播推流協定)
    • UDP / MPEG-TS
  • 特點:
    • 邊轉邊推 → 把直播流轉成 HLS、DASH
    • 支援多 bitrate,讓觀眾自動選擇畫質
    • 適合直播活動、線上課程、運動賽事

    像一個「雲端轉播車」,攝影機丟訊號進去,它幫你即時處理好、推送出去。

MediaPackage

  • 連結: https://aws.amazon.com/tw/mediapackage/features/
  • 用途:負責把 MediaLive 輸出的直播流 做進一步加工,然後送到觀眾端。
  • 特點:
    • 可以包成 HLS / DASH / CMAF 等格式
    • 支援 低延遲 HLS (LL-HLS)
    • 可以加上 DRM(Digital Rights Management,內容保護)
    • 時間位移 (Time-shift)可以倒帶、回看直播

    像「雲端有線電視總台」,接收轉播車(MediaLive)的訊號,打包成觀眾能收看的格式,還能控制延遲、加密、回放。

比較

如何搭配使用

[影片檔案 .ts/.mp4] ---> MediaConvert ---> [多格式 HLS/DASH]
      (VOD 點播)

[直播 RTMP/TS] ---> MediaLive ---> MediaPackage ---> [觀眾端]
       (Live 直播)

建立 Elemental MediaConvert 任務

建立 Role

「允許」 MediaConvert 去「讀寫」 指定的 S3 Bucket
假設這次建立的 Role 名字叫做 MediaConvert_Default_Role

建立 Job

  • 用指令建立,使用自己帳號中的 MediaConvert_Default_Role 角色,去建立轉檔任務。
aws mediaconvert create-job \
  --role arn:aws:iam::<account-id>:role/MediaConvert_Default_Role \
  --settings file://job.json

結論

  • 這是一種不需要自己搞台機器裝 ffmpeg 轉檔的做法。 如果你可以直接將 RTMP 收進 S3 Bucket 的話,就可以用今天的內容接續轉檔。

參考資料


上一篇
【Day 3】 RTMP 與 HLS 的淵源
下一篇
【Day 5】 自己做 API Server 發行 Pre-Signed URL
系列文
無法成為片師也想拍 Vlog?!個人影音小工具的誕生!5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言