家
›
公告
›
Ant Media Server 現已支援 MoQ
moq-hero
Petar Ostojic
作者
2026年4月17日
閱讀12分鐘
我們很高興宣布 MoQ 支援現在可在 Ant Media Server 中使用。Media over QUIC (MoQ) 是目前直播領域中最有趣的发展之一,我們希望早期支援能讓您開始與我們一同進行實驗.
在本篇文章中,我們將介紹 AMS MoQ 插件提供的功能、其內部運作方式,以及您開始使用所需了解的一切.
moq-hero
目錄
MoQ 是什麼
介紹 Ant Media Server 中的 MoQ 支援
MoQ 與 WebRTC 與 HLS
moq-lite 與完整 IETF moq-transport:目前情況
運作原理:架構概述
內建瀏覽器播放器與發布者
支援的編碼
開始使用
透過 MoQ 播放串流
透過 MoQ 將串流發布至 AMS
設定
常見問題
結論
MoQ 是什麼?
Media over QUIC (MoQ) 是基於 QUIC 和 WebTransport 所建構的逐流式媒體協議。它正由 IETF 工作組進行標準化,並獲得 Google、Cisco、Akamai、Cloudflare 等公司的支持,這為行業發展方向發出明確信號。
MoQ 的核心基於 QUIC,這是一種現代傳輸協議,能在單一連接上獨立處理多個數據流。這意味著延遲的視頻畫面不會影響其後的畫面,而這是像 HLS 這樣的協議所使用的基於 TCP 的傳輸方式的一個已知限制。在 QUIC 的基礎上,MoQ 使用 WebTransport 來直接從瀏覽器訪問這一功能,無需插件或原生應用程式。最終結果是與 WebRTC 相似的延遲,以及與 HLS 一樣能通過 CDN 扩展的傳輸模式。
若您想進行更深入的技術比較,請閱讀我們的文章 WebRTC vs. MoQ — 兩個協議,一個完全為兩者打造的平台。在本篇帖子中,我們專注於實際應用:AMS MoQ 插件的功能以及如何使用它。
介紹 Ant Media Server 的 MoQ 支援
注意
MoQ 仍然是一個正在發展的協議。IETF 標準正積極開發中,而目前的插件基於 moq-lite,是規範的一個實用且可部署的子集。我們持續監控標準的進展,並將在其成熟時發布更新。我們建議在規劃您的整合時考慮這一點。
AMS MoQ 插件為任何 Ant Media Server 部署添加了雙向 MoQ 支持
輸出
AMS → 瀏覽器檢視器
AMS 上的直播自動發布為 MoQ 廣播。瀏覽器客戶端透過 WebTransport 連接,並以亞秒級延遲接收視頻。不需要插件、WebRTC 對等連接或 SFU 基礎設施。
輸入
外部 MoQ 中繼站 → AMS
AMS 可從任何與 moq 兼容的中繼站拉取串流,並將它們視為常規的 AMS廣播,可透過 WebRTC、HLS 或 RTMP 進行錄製、轉碼或重新分發。
這個外掛附帶了一個內嵌的 moq-lite-relay (運行在端口 4443),所以第一次測試不需要額外的基礎設施。如果你已經有一個 moq-lite 兼容的 relay 在運行,無論是自托管還是像 Cloudflare 的 MoQ CDN 輪廓這樣的第三方服務,你可以將外掛指向那個。還包括了隨附的、即用型瀏覽器播放器和發布者頁面.
MoQ vs. WebRTC vs. HLS
功能 MoQ WebRTC HLS / DASH
起源 ~2022–present, IETF 草案 2011, W3C & IETF 标準 2009, RFC 8216+
延遲 次秒 (可設定) 柔性 ~0.2–0.5秒 超低 3–30 秒
架構 公/專發布 + CDN 中繼 SFU CDN / 起源
CDN 可儲存 是 否 是
瀏覽器支援 Chrome、Edge 有限支援 所有主要瀏覽器普遍支援 所有主要瀏覽器普遍支援
傳輸 QUIC / WebTransport UDP / DTLS-SRTP TCP / HTTP
moq-lite 與 Full IETF moq-transport:目前情況
值得精確說明「MoQ支援」在今天的含義,因為有兩個不同的層面需要理解.
moq-lite
今日即可部署
一個刻意簡化且向後相容的 IETF 草案子集。哲學:而不是等待數年等待最終標準,今日發布一些實際的東西並且隨著規範的演變保持相容。moq-lite 已經與 moq-transport CDN 例如 Cloudflare 的 MoQ 邊緣互操作.
這就是 AMS MoQ 插件基於的東西.
IETF moq-transport
完整規格 (進行中)
涵蓋完整會議協商、複雜的軌道命名空間、訂閱和宣告過濾、優先順序排序以及交付偏好。仍然是一份活躍的草稿,因此它仍然在持續變更。對於 moqtail.dev 的支持在我們的路線圖上,隨著它的成熟而進行。
把它想成早期的 HTTP:核心概念早在正式的 RFC 文件完成之前就已確立且可部署。moq-lite 對於實時媒體採取了同樣的方法.
運作方式:架構概覽
此外掛整合在 AMS 內的組合器層級。當廣播開始時,會將一個 MoQMuxer 附加到串流組合管線上:一個用於來源品質,以及一個用於每個適應式版本。編碼的畫面從編碼器直接流入組合器,組合器將其轉發到內嵌中繼器,以便透過 WebTransport 進行分散。
輸出 (AMS → 瀏覽器)
ams-moq-to-browser
輸入 (瀏覽器 → AMS)
WebBrowserToAMS
此架構將AMS置於中心。無論您是將視頻輸出到MoQ觀眾,還是從MoQ來源拉取視頻,流動都完全整合到AMS生態系統中。REST API、管理控制台、錄製以及所有其他AMS功能均正常適用.
內建瀏覽器播放器與發布者
此外掛附帶兩個即用型 HTML 頁面,基於 moq-lite TypeScript 網頁組件。
AMS MoQ Player
瀏覽器相容性注意事項
目前的MoQ播放器僅支援基於Chromium的瀏覽器(Chrome、Edge、Brave等)。Safari不支援WebTransport。Firefox有部分的WebTransport支援,但目前對MoQ播放不穩定。我們預期隨著瀏覽器廠商持續採納WebTransport規範,這將會改善。
播放器頁面(play.html)是基於網頁組件建構的,且除了捆綁的內容外,不需要額外的JavaScript。主要功能:
雙重渲染模式
自動在 WebCodecs (基於畫布,最低延遲) 和 MSE (視頻元素,更廣泛的兼容性) 之間選擇,或可以手動強制選擇.
中繼 URL 探測
自動嘗試多個中繼 URL 候選,並連接到第一個有響應的。當中繼位於不同端口或位於代理背後時很有用.
實時調試面板
即時 FPS、緩衝區大小、延遲事件、延遲時間、使用的編碼器,以及接收到的視頻字節。在整合和測試過程中無價。
AMS MoQ 出版商
發行者頁面 (publish.html) 是基於網路組件所建立,並允許瀏覽器直接發布至 MoQ 中繼站:
相機&螢幕截圖
單一按鈕即可從攝影機或螢幕分享.
音訊 & 影像控制
獨立切換音訊靜音與影像關閉.
中繼 URL 探測
支援每個候選者狀態指示的中繼 URL 探測.
支援的編碼格式
追蹤 支援的編碼格式
影片 H.264 (AVC) H.265 (HEVC)
音訊 AAC Opus
H.264 裝置使用附件 B SPS/PPS 提取來確保接收端正確初始化解碼器。此清單外的裝置(例如 VP8)尚未支援。預期隨著 MoQ 生态系統成熟,這將會擴展。
開始使用
需求:Ant Media Server 3.0.0 或更新版本,Linux x86_64,sudo 存取權。
下載 MoQPlugin-release.zip 上傳至您的伺服器,然後執行:
1. 解壓縮發布版本
unzip MoQPlugin-release.zip
2. 安裝插件並傳遞二進制文件
cd MoQ-Plugin
sudo chmod +x install-moq-plugin.sh
sudo ./install-moq-plugin.sh
3. 將 MoQ 播放器頁面複製到您的 AMS 應用程式
sudo mkdir -p /usr/local/antmedia/webapps/live/moq
sudo cp -r moq-ams-player-build/* /usr/local/antmedia/webapps/live/moq
4. 重新啟動 AMS
sudo service antmedia restart
安裝腳本會將 MoQPlugin.jar 拷貝到插件目錄並解壓縮中繼二進制文件。重新啟動後,play.html 和 publish.html 頁面將會可用。https://your-server:5443/live/moq/play.html.
伺服器啟動後,在您的瀏覽器中打開發布和播放頁面,這就是全部的操作!
MoQ 發布頁面
publish.html — 在 MoQ 上廣播
MoQ 玩家頁面
play.html — 具備亞秒級延遲的觀看
獨立的 MoQ 玩家頁面是暫時性的。未來的版本中,MoQ 播放和發布將直接集成到主要的 Ant Media Server 網頁播放器中.
在打開頁面之前,有幾件事需要檢查:
實際伺服器需要使用 HTTPS。MoQ 使用 WebTransport,而瀏覽器僅允許它在 HTTPS 上使用。如果你的伺服器位於實際的域名或 IP 位址上,它需要一個有效的 SSL 証書。Localhost 是瀏覽器唯一允許無 SSL 的例外。
打開 4443 埠。內嵌的 MoQ 中繼在 UDP/TCP 埠 4443 上監聽。如果你的伺服器位於防火牆後面,請確保該埠對於入站流量是開放的,否則瀏覽器將無法達到中繼。
透過 MoQ 播放串流
當串流在 AMS 上啟動後,觀眾可透過內建的 MoQ 播放器或任何 moq 兼容用戶端直接連接。每個品質層級都會以獨立的命名軌道提供:
來源品質: moq://ams-server-ip:4443/streamId/source
720p 版本: moq://ams-server-ip:4443/streamId/720p
當玩家打開時,您將看到一份可供串流的音軌列表。來源音軌是發布到 AMS 的原始品質。命名渲染如 720p 或 480p 是自適應比特率的版本,AMS 在串流過程中轉碼而成.
關於「發布」音軌
若列表中出現發布軌跡,串流是直接從瀏覽器發布者傳送至中繼站,完全未經過AMS。選擇它會直接從MoQ中繼站播放串流,跳過AMS編碼、轉碼和錄製。這是最直接的途徑,延遲最低,但這也表示沒有ABR渲染版本,沒有錄製,也沒有AMS的管線功能。
瀏覽器播放器透過 WebTransport 連接到中繼機器,並訂閱首選的音軌。中繼機器處理所有擴散,因此單一流可以支援任意數量的並發觀看者,而無需每個連接的開銷,這使得 WebRTC 在規模上具有挑戰性。
透過 MoQ 將流式傳輸發布到 AMS。
AMS 亦接受輸入的 MoQ 流。除了內建的瀏覽器發布者,任何 moq 兼容用戶端都可以直接發布到中繼器,AMS 將會把它作為一個常規廣播來接收。兩種方法來完成:
瀏覽器
內建發布者頁面
從插件中打開 publish.html,輸入您的中繼器地址,並從您的攝影機或螢幕開始發布。無需設定。
任何 MoQ 客戶
直接中繼發布
使用任何與 moq-lite 兼容的工具直接發布到中繼 URL:
moq://中繼IP:4443/moq/streamId/publish
一旦收到,此串流變為標準的 AMS廣播,準備進行錄製、轉碼,或透過 WebRTC、HLS 或 RTMP 重新分發。
設定
設定是選擇性的。此外掛使用下方顯示的預設值即可正常運作。若要覆蓋任何值,請前往 AMS 網頁面板中您的應用程式的設定 > 高級,並在 customSettings 下,使用 plugin.moq 鍵套嵌您的 MoQ 設定:
{
"customSettings": {
"plugin.moq": {
"useEmbeddedRelay": true,
"ingestEnabled": true,
"externalRelayUrl": "https://relay.example.com:9000/moq",
"ingestPollIntervalMs": 2000
}
}
}
設定預設描述
useEmbeddedRelay true 使用內嵌的 moq-relay 在 4443 端口。設置為 false 以使用外部 relay.
ingestEnabled true 通過宣布 polling 啟用 MoQ 進食。如果 AMS 僅發布不進行,設置為 false.
externalRelayUrl localhost:4443 外部 relay 的 URL。僅在 useEmbeddedRelay 設置為 false 時使用。
ingestPollIntervalMs 2000 多久 (以 ms 為單位) 檢查中繼器的 /announced 端點以獲取新的串流.
當 useEmbeddedRelay 為 true 時,中繼器 URL 會自動解析為 http://localhost:4443/moq,並忽略外部 URL 設置.
常見問題
MoQ 插件是否已經準備好用於生產環境?
這個外掛程式功能正常且持續維護。不過,MoQ 作為一個協議仍然在標準化中,所以您的生產準備取決於您對於演進規格的容忍度。如果您規劃進行嚴肅的整合,我們建議您從測試環境開始,並聯繫我們討論您的應用場景。
哪些瀏覽器支援 MoQ 播放?
MoQ 播放需要 WebTransport。Chrome 和 Edge 有穩定支援。Safari 完全沒有支援 WebTransport。Firefox 有部分 WebTransport 支援,但對 MoQ 播放不穩定。我們預期隨著 WebTransport 规範成熟,瀏覽器的支援範圍會改善。
我可以使用自己的外部 MoQ 中繼器,而不是內嵌的嗎?
是。在插件設定中將 useEmbeddedRelay 設為 false,並透過 externalRelayUrl 提供您的 relay URL。任何 moq 兼容的 relay 都可以,包括自架設部署或 Cloudflare 的 MoQ CDN 提供服務。
MoQ 會取代 Ant Media Server 中的 WebRTC 嗎?
不,它們扮演的是互補的角色。WebRTC 仍然是互動式雙向溝通的最佳選擇,例如視頻會議或超低延遲廣播(低於 200 毫秒)。MoQ 則針對一對多廣播場景,在這種情況下,你需要同時具備次秒級延遲和 CDN 等級的傳輸。這兩種協議都由 AMS 支持,並且可以在同一台伺服器上並行運行。如需詳細分析,請參閱我們的文章 WebRTC vs. MoQ — 兩種協議,一個完全為兩者打造的平台。
moqtail.dev 是什麼,以及 AMS 何时支援它?
moqtail.dev 代表 MoQ 生態系統的下一步發展,隨著 IETF 標準的成熟。我們正密切監控其發展。支援將會添加到 AMS MoQ 插件中,隨著該庫穩定下來,並且整合變得實際。
結論
AMS MoQ 插件是走向下一代直播基礎設施的早期但功能性的步驟。透過今天基於 moq-lite 的建構,Ant Media Server 提供開發者一種實際探索 MoQ 帶來的價值的途徑:亞秒級延遲、CDN規模的擴散,以及基於 WebTransport 和 WebCodecs 的現代瀏覽器堆疊。無需等待 IETF 結束規範。
我們將會持續發布更新,隨著 moq-lite 的演進以及 moqtail.dev 支援變得實際可以整合。如果你正在實驗 MoQ 插件或在其上建立某個東西,請在社群論壇上告訴我們,或直接聯繫我們。










