Logo

新人日誌

首頁關於我部落格

新人日誌

Logo

網站會不定期發佈技術筆記、職場心得相關的內容,歡迎關注本站!

網站
首頁關於我部落格
部落格
分類系列文

© 新人日誌. All rights reserved. 2020-present.

什麼是 RTMP?直播串流第一哩的標準協定完整解析

最後更新:2026年4月17日基礎概念

你是否曾經好奇,當我們在 YouTube、Twitch 或 Facebook 上看直播時,主播的畫面是怎麼從攝影機一路傳到你我的手機上?

這背後有一個關鍵的技術功臣叫做 RTMP。

這篇文章會帶你從零認識 RTMP 是什麼、它如何運作、為什麼主宰了直播串流 20 多年,以及在 Flash 時代結束之後,它在現代直播架構中扮演什麼新角色。

RTMP 是什麼?從 Flash 時代到現代直播的角色轉變

RTMP 的全名是 Real-Time Messaging Protocol,中文直譯是「即時訊息傳輸協定」。

這個協定最早是由一家叫做 Macromedia 的公司設計的(後來這家公司被 Adobe 收購了)。

剛誕生的年代:RTMP 是直播的「一條龍」

Flash 是以前 Adobe 推出的一款瀏覽器外掛。

那個年代的瀏覽器本身功能還很陽春,沒辦法直接播影片、跑遊戲、顯示複雜動畫,這些功能都要靠 Flash Player 這樣的外掛來補強。

所以那時候要看影片、玩網頁小遊戲、看線上動畫廣告,幾乎都得先裝 Flash 才能運作(Flash 已經在 2020 年底正式停止支援)。

在 Flash 還很紅的那些年,RTMP 包辦了整個直播流程。

那時候的主播,會在電腦上安裝一種叫做「直播軟體」的工具,把畫面壓縮後透過 RTMP 送到直播網站的伺服器。

(直播軟體的功能就是幫主播把攝影機畫面抓下來、壓縮,再即時推送出去。現在最多人用的是一款免費的開源工具叫 OBS,以下都會以 OBS 作為例子。)

觀眾這邊,只要打開電腦瀏覽器(例如當時流行的 IE、Firefox),網頁上內嵌的 Flash 播放器就會直接用 RTMP 接收畫面來播放。

整條路從頭到尾都是 RTMP。

後來 Adobe 把 RTMP 的規格公開,全世界的串流媒體伺服器都跟著支援,RTMP 就順勢變成了直播圈的標準協定。

在過去 20 多年裡,只要講到網路直播,幾乎都離不開 RTMP。

Flash 被各家瀏覽器淘汰,RTMP 失去瀏覽器舞台

後來 Flash 被各家瀏覽器淘汰(後面章節會講原因),觀眾的瀏覽器就不再吃 RTMP 了。

這讓 RTMP 的角色大幅縮小。

現在的 RTMP:只負責「第一哩」

現在的 RTMP 只負責直播中最前面那一段路:從主播的電腦(裝了 OBS 這類直播軟體),把即時畫面送到 YouTube、Twitch 這類直播平台的雲端主機。

之後平台再從這台雲端主機,把畫面轉發給全世界的觀眾(這段就改用別的協定了)。

RTMP 的基本工作流程

要理解 RTMP,最簡單的方法是看一張完整的資料流向圖。

直播的過程可以拆解成這幾個步驟:

  1. 攝影機拍下畫面,收進聲音
  2. 訊號送進編碼器(Encoder),把龐大的原始影音壓縮成比較小的檔案
  3. 編碼器用 RTMP 把壓縮後的資料推送到串流媒體伺服器
  4. 伺服器再把影音分發給全世界的播放器或瀏覽器

這中間最關鍵的角色是編碼器,它負責「壓縮」。

為什麼一定要壓縮?因為原始的影音檔案大得可怕——一秒鐘的 1080p 畫面,沒壓縮的話大小可能超過 1 GB。

一分鐘就是 60 GB、一小時好幾個 TB,要直接在網路上傳輸完全不可能。

所以畫面和聲音送上網路之前,都要先經過編碼器壓縮成小檔案。

你可以把編碼器想成一台超強的「壓縮機」:它會利用影片的規律性(例如背景沒動的畫面就不重複記錄),把檔案壓到原本的幾百分之一,同時讓畫面看起來幾乎沒差別。

不過壓縮不是隨便壓就好,主播端和觀眾端必須遵守同一套壓縮規則,才能一邊壓縮、另一邊正確還原。

這套共通的規則就叫做編碼格式(英文叫 codec)。

RTMP 最常搭配的兩個編碼格式是:

  • H.264:負責壓縮畫面。目前網路上最普及的視訊編碼,幾乎所有裝置都支援
  • AAC:負責壓縮聲音。目前網路音訊的主流格式,在音質和壓縮比之間取得很好的平衡

主播開直播時,編碼器會同時把畫面用 H.264 壓縮、聲音用 AAC 壓縮,再透過 RTMP 把這兩份壓縮好的資料一起送出去。

你平常看到的大部分直播,背後用的就是這個組合。

為什麼 RTMP 會變成直播標準?

RTMP 能當上 20 多年的直播標準,不是單一原因,而是技術、生態、時代三個優勢疊加起來的結果。

技術優勢:3 到 5 秒的低延遲

RTMP 從主播拍攝到觀眾看見,延遲只有大約 3 到 5 秒(從攝影機拍下來,到觀眾看見的時間差)。

這個數字在今天聽起來不算驚人,但在 2000 年代初期,其他主流的影音傳輸方式通常要等 30 秒以上才能開始播放,互動體驗差很多。

RTMP 能這麼快的關鍵,在於它的設計是「持續連線」——主播跟伺服器之間保持一條長連線,資料一邊產生一邊送出,不像傳統網頁那樣每次都要重新連線、下載檔案、再播放。

再加上當時 Flash Player 在瀏覽器的裝機率超過 95%,幾乎所有能上網的電腦都能直接播放 RTMP 內容,主播完全不用擔心觀眾看不到。

技術快、覆蓋廣,RTMP 在那個年代幾乎沒有真正的對手。

生態優勢:規格開放後整個產業跟進

RTMP 剛開始是 Adobe 的專屬技術,但 2009 年 Adobe 把規格正式公開,讓任何人都可以用。

這件事觸發了連鎖反應,整個產業鏈很快都跟著支援 RTMP:

  • 串流伺服器軟體:商業的 Wowza、Adobe Media Server,還有開源的 Nginx-RTMP,全部都支援
  • 編碼工具:FFmpeg、Flash Media Live Encoder 都內建 RTMP,後來的 OBS 也是
  • 大平台全面採用:YouTube、Twitch、Facebook 都把 RTMP 當成主力推流協定

當主播、平台、觀眾都圍繞 RTMP 運轉,就形成了強大的網路效應——誰先離開誰就吃虧,大家只好一起留下。

時代優勢:其他協定還沒誕生

RTMP 興起的那幾年,市場上幾乎沒有其他成熟的直播協定可以選。

來看看其他協定各自是什麼時候才出現的:

  • HLS:Apple 在 2009 年才推出
  • MPEG-DASH:2012 年才正式標準化
  • WebRTC:2011 年才開始發展,而且本來是做視訊通話用的

也就是說,在將近十年的時間裡,「做直播」幾乎就等於「用 RTMP」,沒有別的選擇。

等到其他協定慢慢成熟時,RTMP 的生態系已經太穩固,要完全取代它反而很困難。

這也是為什麼 RTMP 到今天都還活著,只是角色從「一條龍」縮小成「第一哩」而已。

RTMP 遇到的挑戰:Flash 退場與新裝置崛起

好景不常,有兩件事讓 RTMP 的地位開始動搖。

Flash 的安全漏洞讓它走向終結

Flash 外掛長年爆出各種安全漏洞,最後各大瀏覽器陸續宣布不再支援 Flash。

Flash 走入歷史後,原本依賴 Flash Player 播放的 RTMP 串流,自然也失去了在瀏覽器端的舞台。

手機、平板、OTT 裝置不認 Flash 和 RTMP

觀眾看直播的方式變了。

以前大家都是打開電腦瀏覽器看,但後來有了兩類新裝置:

  • OTT 裝置:例如智慧電視、Apple TV、Android TV 機上盒。OTT 是 Over-The-Top 的縮寫,字面意思是「跨過去(傳統電視網路)」,指的是繞過有線電視、衛星電視那套系統,直接從網路把影音送到你家裝置的方式
  • 手機和平板:iPhone、Android 手機、iPad 這些行動裝置

這些裝置有一個共通點:根本不裝 Flash,也不認 RTMP。

它們需要別的協定才能播放直播。

這兩個挑戰加在一起,讓產業必須重新思考直播的傳輸方式。

現代直播架構:RTMP 只負責「第一哩」

雖然 RTMP 在播放端被淘汰了,但它並沒有消失,而是換了一個位置繼續發揮作用。

現在的主流做法是這樣:

  1. 主播的編碼器依然用 RTMP 把畫面傳到媒體伺服器(這段叫做「第一哩 / first mile」)
  2. 媒體伺服器收到 RTMP 串流後,轉換成適合觀眾裝置的協定
  3. 必要時還會做轉碼(transcoding),把同一個直播同時準備成高、中、低畫質版本(就是你在 YouTube 右下角可以切 360p、720p、1080p 的那個功能)
  4. 透過 CDN(Content Delivery Network,內容傳遞網路) 把影音分發給全世界的觀眾

CDN 可以想成「遍布全世界各地的一堆伺服器組成的網路」。

假設 YouTube 在台北、東京、洛杉磯、倫敦…等等世界各地都有機房,當你看直播時,系統會自動讓你從離你最近的那台伺服器拿資料,這樣延遲最低、也最流暢。

如果全世界的觀眾都只能從同一台伺服器拿資料,那台伺服器早就爆掉了。

換句話說,RTMP 現在專門負責「從主播到伺服器」這一段,至於「從伺服器到觀眾」那段,則交給別的協定處理。

HLS 接手:現代直播播放端的主流協定

取代 RTMP 在播放端地位的,主要是 HLS(HTTP Live Streaming)。

HLS 是搭配 HTML5 這個現代瀏覽器標準一起普及起來的。

還記得前面說過 Flash 是用來補強瀏覽器功能的外掛嗎?HTML5 就是後來瀏覽器「自己內建」了那些能力——播影片、跑遊戲、顯示動畫都不再需要外掛了。

HLS 剛好就是搭著 HTML5 的順風車,變成目前直播播放端最廣泛使用的方案。

它有一個明顯的缺點:延遲可以高達 45 秒。

不過現在也有各種低延遲 HLS 擴充技術,可以把延遲壓到 2 秒以下,甚至比傳統 RTMP 還低。

RTMP 的未來:SRT 與 WebRTC 的挑戰

雖然 RTMP 在「第一哩」還是很主流,連大型社群平台都還在吃 RTMP 訊號,但它的地位也不再穩如泰山。

兩個新協定正在這段路上展露頭角:

  • SRT(Secure Reliable Transport):強調安全性與穩定性,在網路不穩的環境下特別有優勢
  • WebRTC(Web Real-Time Communication):主打超低延遲(可以做到 1 秒以內),適合需要即時互動的場景,例如 Google Meet 視訊會議、線上拍賣、雲端遊戲

未來 RTMP 會不會繼續當第一哩的王者,還是被這些新協定取代,現在還是個問號。

RTMP 重點整理

幫你把這篇重點整理起來:

  • RTMP 是 Real-Time Messaging Protocol 的縮寫,由 Macromedia(後被 Adobe 收購)設計
  • 它的典型工作流程是:攝影機 → 編碼器 → 媒體伺服器 → 播放器
  • 最常搭配的編碼格式是 AAC(音訊) 和 H.264(視訊)
  • Flash 退場後,RTMP 不再用於瀏覽器播放,但仍是第一哩(主播到伺服器)的主流協定
  • 現代直播會把 RTMP 轉換成 HLS 等協定送給觀眾,再透過 CDN 分發
  • 新協定 SRT 和 WebRTC 正在挑戰 RTMP 在第一哩的地位

下次你在設定 OBS 或其他直播軟體時,看到要你填「RTMP 網址」和「串流金鑰」,就會知道背後發生了什麼事了。

目前還沒有留言,成為第一個留言的人吧!

發表留言

留言將在審核後顯示。

基礎概念

目錄

  • RTMP 是什麼?從 Flash 時代到現代直播的角色轉變
  • 剛誕生的年代:RTMP 是直播的「一條龍」
  • Flash 被各家瀏覽器淘汰,RTMP 失去瀏覽器舞台
  • 現在的 RTMP:只負責「第一哩」
  • RTMP 的基本工作流程
  • 為什麼 RTMP 會變成直播標準?
  • 技術優勢:3 到 5 秒的低延遲
  • 生態優勢:規格開放後整個產業跟進
  • 時代優勢:其他協定還沒誕生
  • RTMP 遇到的挑戰:Flash 退場與新裝置崛起
  • Flash 的安全漏洞讓它走向終結
  • 手機、平板、OTT 裝置不認 Flash 和 RTMP
  • 現代直播架構:RTMP 只負責「第一哩」
  • HLS 接手:現代直播播放端的主流協定
  • RTMP 的未來:SRT 與 WebRTC 的挑戰
  • RTMP 重點整理