- RTMP 用於透過 OBS 進行攝取並透過 HLS/DASH 進行現代網路交付。
- VLC 播放 RTMP/HLS/DASH 並處理 .m3u/.xspf 播放清單。
- Nginx RTMP 或 Docker(alqutami/rtmp-hls)簡化後端。
- 對於 RTSP 網路和攝影機,請使用不含插件的 HLS/DASH 或 Restreamer。

如果你正在尋找一種方法來製作 使用 RTMP 和 HTTP 從 VLC 進行直播您來對地方了。在本實用指南中,我們匯集了您所需的一切:從 VLC 協定和播放清單的基礎知識,到使用 Nginx 建立自己的伺服器、使用 OBS 進行串流播放,以及使用 HLS/DASH 進行現代 HTML5 分發。
目標是讓您建立一個強大的工作流程 FOSS避免瓶頸,並在出現問題時(例如,當 RTMP 無法在 VLC 中播放,或者您想在不使用插件的情況下在網頁上嵌入直播串流時)準備好替代方案。本文將介紹 具體步驟、URL 範例和最佳實踐 並保證將其投入生產。
RTMP 和 HTTP 串流:它們是什麼以及何時使用它們
RTMP(即時訊息協定)是 直播服務 它透過 TCP 運行,預設使用 1935 端口,並允許客戶端調整品質和應用安全措施。雖然它與 Flash 緊密相關,但它仍然是 訊號注入(攝取) 從 OBS 等編碼器到分發伺服器。
如今,對於在瀏覽器中播放,建議依賴基於 HTTP 的協議,例如 HLS(Apple HTTP Live) 流) y DASH(基於 HTTP 的動態自適應流)。它們與 HTML5 播放器和 hls.js 或 dash.js 等庫完美集成,讓您無需 插件並具有現代相容性.
安裝 VLC 並開始線上串流媒體
VLC 媒體播放器是一款免費的跨平台媒體播放器,幾乎可以播放所有內容,無需安裝任何額外的編解碼器;如果您還沒有安裝, 從其官方網站下載 並安裝它。它是串流媒體測試和直播消費的理想工具,其 3.0 版本還帶來了一些非常實用的功能,例如 Chromecast 集成.
要在 VLC 中觀看廣播,請打開該程式並轉到 媒體 → 開啟網路位置。在「網路」標籤中,輸入要觀看的串流媒體的 URL(例如,HLS 播放清單)。一個典型的測試範例是帶有擴展名的 URL .m3u8,就像許多頻道使用的一樣;輸入地址,按播放,幾秒鐘後, 播放將開始.
如果你想從播放器中獲得更多功能,有很多 技巧 和有趣的設定;了解它們對於入門來說並不是必需的,但值得記住的是,VLC 有 許多高級設定 對於網路、快取和視訊輸出,有時會對要求苛刻的連線或清單產生影響。
取得 RTMP/HLS URL 並組織 VLC 的播放列表
獲取 VLC 連結的一種方法是使用協定抓取器,例如 RTMPDumpHelper,它會檢查你的網路流量,並偵測你在瀏覽器中觀看的廣播的 URL。你可以複製該 URL 並將其貼上到 VLC 中,這樣你就可以 無需依賴網站,直接觀看頻道.
另一個快速的方法是進行網路搜尋;你會發現一些論壇和網站與 廣播位址 來自不同管道。 可靠性 有所不同,因為許多 URL 會隨著 El Temppo,但透過一些維護,你可以形成 您自己的更新收藏.
您將看到以下格式的列表 .m3u o .xspf。雖然它們是播放清單格式,但在這種情況下它們包含 電視頻道及其串流媒體鏈接只需將它們匯入 VLC 即可獲得一個可以在幾秒鐘內存取的有組織的目錄。
將線上電視節目單新增至您的 VLC
要加載列表,請打開 VLC 並轉到 查看 → 播放列表 (或使用組合 CTRL + L)。將 .m3u/.xspf 檔案拖曳到列表窗口,VLC 會添加它;然後 雙擊列表 顯示所有包含的頻道。
當你選擇一個頻道時,你會看到它需要幾秒鐘才能連接;這是正常的 緩衝區以穩定傳輸。如果某個連結無法打開,則該 URL 可能已過期,您可能需要使用較新的連結更新列表,這在 旋轉方向的通道.
Movistar TV 與 VLC:您需要什麼才能使其工作
如果您在 影星融合,您也可以使用相同的方法從 VLC 播放其頻道。有兩個關鍵要求:連接到 同一本地網絡 您已簽訂服務合約並擁有已驗證的訂閱 URL 清單。
在網路上搜尋後,你通常會找到這個列表,但請記住,並非所有合輯都是最新的。找到後,像添加其他播放清單一樣添加它,你就可以 在電腦上欣賞頻道順便提一下,它的生態系統還包括與 Cortana 或 應用程序 如 Movistar TV Go,儘管對於 VLC 來說,重要的是 串流 URL.
在 Debian 上使用 Nginx 設定 RTMP 伺服器
要廣播和分發您自己的訊號,您可以在 Debian 上設定伺服器 Nginx 及其 RTMP 模組想法很簡單:Nginx 從 OBS 接收 RTMP,然後分發給播放器或其他輸出(例如 HLS/DASH)。它輕量級、穩定且功能齊全 英鎊.
基本步驟:安裝帶有 rtmp 模組的 Nginx,編輯 /etc/nginx/nginx.conf 並以最小的形式添加如下塊: rtmp { server { listen 1935; chunk_size 4096; application live { live on; } } }. 透過此定義發佈點 rtmp://你的伺服器/live 準備接收中繼密鑰。
重新啟動 Nginx 以應用變更並確保端口 1935 可以在防火牆中訪問,如果適用,可以重定向到 路由器有了這些最低限度,您已經可以 執行廣播和播放測試 從您的網絡,或如果您已開啟端口,請從外部。
使用 OBS 串流傳輸到您的 RTMP 伺服器
OBS Studio 是一款免費的錄製和直播項目,可與 RTMP 無縫整合。在「設定」→「直播」中,選擇 自訂中繼服務 並輸入 URL rtmp://tu-dominio-o-ip/live。 在 中繼鍵 寫一個標識符,例如 test.
當你點擊 開始傳輸,OBS 將開始向您的 Nginx 發送視訊和音訊。您將看到一個指示效能的狀態列;如果狀態列顯示為綠色, 一切都很順利,如果變成紅色,表示有頻寬或編碼問題,需要檢查(增加或減少位元率、調整 預設和分辨率).
查看來自 VLC 的訊號
在伺服器運作並進行 OBS 串流播放的情況下,開啟 VLC,前往「媒體」→「開啟網路位置」。輸入您的串流媒體播放的完整 URL: rtmp://tu-dominio-o-ip/live/tu-clave幾秒鐘後,您將看到直播,並且您將能夠驗證 延遲和穩定性 符合預期。
如果您想與第三方共享訊號而不授予 RTMP 存取權限,請考慮在 HLS 或 DASH 這樣任何人都可以透過瀏覽器觀看直播,這就引出了下一點。
擴展到 HTML5:適用於現代 Web 的 HLS 和 DASH
對於目前的網絡,我們不依賴 Flash。相反,我們產生輸出 HLS(.m3u8) y 破折號 (.mpd) 透過 HTTP 傳輸。這些分段清單與 HTML5 播放器和函式庫(例如 hls.js(用於 HLS)和 dash.js(用於 DASH))完美相容,也相容 弗爾奇.
透過此發行版,您可以將影片嵌入網頁,無需插件即可存取現代瀏覽器。這是迄今為止最 堅固且標準 透過桌面和行動裝置向不同受眾提供直播服務。
使用 Docker 快速部署:alqutami/rtmp-hls
如果你不想立即進行大量的手動配置,Docker Hub 上有一個名為 alqutami/rtmp-hls 它提供了一個預先配置的 Nginx-RTMP 伺服器和各種播放器的範例頁面。它發布連接埠 1935 (RTMP) 和 8080 (HTTP)訪問演示。
此鏡像預設支援 HLS 和 DASH。這樣,您就可以以以下方式存取您的廣播: http://<tu-servidor>:8080/hls/<clave>.m3u8 o http://<tu-servidor>:8080/dash/<clave>_src.mpd。這些都是非常適合玩遊戲的 URL VLC、HTML5 播放器和行動應用程式.
一個有用的附加功能是它包含資料夾下的演示頁面 球員您可以將它們複製到您的計算機,用您的網域和金鑰替換其中的值,然後透過掛載磁碟區來重新啟動容器以使用修改後的版本。這樣,您將擁有 操作範例 每種技術。
內含的播放器:RTMP、HLS、hls.js、DASH 和組合
演示通常有五頁長: rtmp.html (RTMP,需要 Flash,不再建議) hls.html (適用時使用原生 HLS) hls_hlsjs.html (HLS 與 hls.js) dash.html (帶有 dash.js 的 DASH)和 rtmp_hls.html (RTMP 和 HLS 在同一視圖中)。編輯它們的 URL 和金鑰,使其指向您的 實際問題.
請記住,現代瀏覽器已經放棄了 Flash,因此 瀏覽器直接使用 RTMP 不可行如果您尋求無需擴展的廣泛相容性,您的路徑幾乎總是透過 HTML5 播放器實現 HLS 或 DASH。
對於生產,考慮將 使用 HTTPS 的反向代理 在前端部署(例如 Nginx 或 Caddy),避免使用面向公眾的 8080 端口,並使用有效證書在 443 端口上提供所有服務。這樣可以提高安全性, SEO y 與企業環境的兼容性.
HLS 和 DASH 的 VLC 播放測試
除了瀏覽器之外,VLC 還能完美播放 HLS 和 DASH。在「媒體」→「開啟網路位置」中,輸入伺服器產生的位址:對於 HLS, http://tu-servidor:8080/hls/tu-clave.m3u8,對於 DASH, http://tu-servidor:8080/dash/tu-clave_src.mpd。您會發現行為和延遲可能與 RTMP 不同,因為 HLS/DASH 是分段的.
如果需要低延遲,您可以調整清單中的段大小和段數,或探索變體 LL-HLS對於大多數一般事件,標準 HLS/DASH 延遲是可以接受的,並且提供了分佈 非常穩定.
會議和課堂廣播:Jitsi 的真實案例研究
一個實際應用:為教師或線上課程設定串流媒體,其中視訊會議 Jitsi 它透過 RTMP 向更廣泛的受眾進行廣播。使用 OBS 廣播到您的 Nginx RTMP 並分發訊號 HLS/DASH 這樣所有老師和學生都可以看到它,而無需額外的帳戶或客戶端。
這種方法避免了 Jitsi 房間的混亂,並允許你控制 質量、延遲和分佈使用上面的 Docker 映像,您可以快速準備整個管道和範例頁面,以便在您需要的任何位置嵌入播放器。
HTML 網站中的 IP 攝影機 (RTSP):使用 Restreamer
如果您的 IP 攝影機透過 RTSP 進行廣播,並且您想將其嵌入到網站中,那麼使用 VLC 轉碼為 OGG 或 MPEG 可能會產生不一致的結果:有時瀏覽器會顯示第一幀,然後繼續載入。解決方案 更加堅固,使用 Restreamer 之類的工具。
Restreamer 會將您的 RTSP 串流轉換為支援 HTML5 的 HLS/DASH,並提供簡潔的介面和發布選項。這樣,您無需依賴原生瀏覽器播放,即可獲得 穩定、便攜的管道 在桌面和行動裝置上均能良好運作。
當 RTMP 無法在 VLC 中播放時:對檔案進行轉碼
在某些情況下,由於編解碼器或容器問題,RTMP 檔案或串流可能無法在 VLC 中正確播放。快速解決方法是 對內容進行轉碼 轉換為更相容的格式後再播放。
Wondershare Video Converter Ultimate 等工具提供了一個簡單的嚮導:選擇原始文件,選擇 輸出格式 從下拉式選單中點擊“轉換”,很快你就能得到一個 VLC 可以正常播放的檔案。這並非唯一的選擇,但對於技術水平較低的用戶來說,這是一個不錯的選擇。 直接有效的路線.
如果你喜歡 100% 免費軟體,你也可以使用 FFmpeg 的指令,例如 ffmpeg -i entrada.ext -c:v libx264 -c:a aac salida.mp4。這樣你就可以將 H.264/AAC 轉換為 MP4 容器,這個組合 VLC 處理得很好 並且是網路分發的標準。
網路、安全和維護提示
正確開啟並轉送必要的連接埠:RTMP 通常透過 1935 以及透過 80/8080(如果使用 HTTPS,則透過 443)存取 HLS/DASH 的 HTTP。檢查您的伺服器和路由器防火牆;設定錯誤的 NAT 鏈會導致 常見的錯誤來源.
對於外部受眾,從一開始就優先考慮 HTTPS。在來源站前使用反向代理,並啟用有效的證書,可以減少瀏覽器摩擦,並提高 保護您的憑證 廣播。它還允許您設定平衡、快取和 HLS 標頭以改善體驗。
注意維護頻道清單和 URL:許多清單和 URL 會定期更改,因此最好有一個小型的 驗證程序 和更新。使用腳本自動檢查或使用可觀察性工具監控狀態將節省您的時間。 現場驚喜.
最後,記錄適合目標受眾的 OBS 位元率、設定檔和預設(例如,720p 2500-3500 kbps H.264 是一個不錯的折衷方案)。這將為你提供團隊中任何人都可以使用的基準指南。 持續發出.
有了這些訊息,您現在就擁有了完整的路線圖:VLC 用於播放和測試,Nginx RTMP 作為伺服器核心,OBS 用於串流媒體播放,HLS/DASH 用於網頁,以及 Restreamer 或轉碼等選項(如有需要)。遵循這些步驟將幫助您從想法到穩定可靠的產品 準備分享 與您的社區或組織。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。