🎯 在 Debian 系統上安裝與配置 MediaMTX(原 rtsp-simple-server):打造輕量級流媒體服務器
作者:遠在太平洋
環境:Debian 10/11/12 | Ubuntu 可參考
關鍵詞:MediaMTX、rtsp-simple-server、RTSP、RTMP、HLS、WebRTC、流媒體服務器、Debian 安裝教程
隨著視頻監控、直播推拉流等場景的普及,搭建一個簡單高效、功能完整的流媒體服務器變得越來越重要。而 MediaMTX(前身是 rtsp-simple-server
)正是這樣一個開源神器!
它支持 RTSP、RTMP、HLS、SRT、WebRTC 等多種協議,開箱即用,無需復雜依賴,非常適合用于樹莓派、VPS 或本地開發測試。
本文將手把手教你如何在 Debian 系統上部署并使用 MediaMTX,涵蓋兩種主流安裝方式(推薦二進制安裝),以及基礎推拉流測試和配置說明。
🔧 方法一:使用預編譯二進制文件(推薦 ?)
這是官方最推薦的方式,無需編譯,直接運行,適合絕大多數用戶。
步驟 1??:訪問 GitHub 發布頁
前往 MediaMTX 的 GitHub 發布頁面,獲取最新穩定版本:
🔗 https://github.com/mediamtx/mediamtx/releases
?? 注意:項目已從
bluenviron/rtsp-simple-server
遷移至mediamtx/mediamtx
,請認準新地址。
步驟 2??:下載對應架構的壓縮包
根據你的設備選擇合適的版本:
設備類型 | 下載文件 |
---|---|
x86_64 / AMD64(PC/VPS) | mediamtx_vX.X.X_linux_amd64.tar.gz |
樹莓派 4 / ARMv7 | mediamtx_vX.X.X_linux_arm7.tar.gz |
樹莓派 3 / ARMv6 | mediamtx_vX.X.X_linux_arm6.tar.gz |
樹莓派 64位系統 / ARM64 | mediamtx_vX.X.X_linux_arm64.tar.gz |
使用 wget
命令下載(以 v1.14.0 amd64 為例):
wget https://github.com/mediamtx/mediamtx/releases/download/v1.14.0/mediamtx_v1.14.0_linux_amd64.tar.gz
步驟 3??:解壓文件
tar xvf mediamtx_v1.14.0_linux_amd64.tar.gz
解壓后你會看到兩個關鍵文件:
mediamtx
:主程序可執行文件mediamtx.yml
:默認配置文件
步驟 4??:安裝到系統目錄(推薦)
為了管理方便,建議將文件移動到標準路徑:
# 創建配置目錄
sudo mkdir -p /etc/mediamtx# 移動二進制文件
sudo mv mediamtx /usr/local/bin/# 移動配置文件
sudo mv mediamtx.yml /etc/mediamtx/# 賦予執行權限
sudo chmod +x /usr/local/bin/mediamtx
步驟 5??:創建 Systemd 服務(實現開機自啟)
為了讓 MediaMTX 后臺運行并隨系統啟動,我們創建一個 systemd 服務。
sudo nano /etc/systemd/system/mediamtx.service
粘貼以下內容:
[Unit]
Description=MediaMTX - SRT/WebRTC/RTSP/RTMP/LL-HLS 流媒體服務器
After=network.target[Service]
Type=simple
User=nobody
Group=nogroup
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/mediamtx /etc/mediamtx/mediamtx.yml[Install]
WantedBy=multi-user.target
保存并退出(Ctrl+X → Y → Enter
)。
步驟 6??:啟動并啟用服務
# 重新加載 systemd 配置
sudo systemctl daemon-reload# 啟動服務
sudo systemctl start mediamtx# 設置開機自啟
sudo systemctl enable mediamtx# 查看狀態
sudo systemctl status mediamtx
? 如果輸出中包含 active (running)
,說明服務已成功啟動!
💻 方法二:從源碼編譯安裝(適用于開發者)
如果你希望體驗最新功能或進行二次開發,可以選擇源碼編譯。
步驟 1??:安裝 Go 環境
sudo apt update
sudo apt install golang-go git -y
步驟 2??:克隆并編譯
git clone https://github.com/mediamtx/mediamtx.git
cd mediamtx
go build -o mediamtx .
編譯完成后,當前目錄會生成 mediamtx
和 mediamtx.yml
。
后續操作與方法一相同:移動文件 → 創建服務 → 啟動服務。
📡 操作與測試:推流 & 拉流
MediaMTX 默認監聽以下端口:
協議 | 端口 | 說明 |
---|---|---|
RTSP | 554 (TCP), 8000 (UDP) | 實時流傳輸協議 |
RTMP | 1935 | 直播常用推流協議 |
HLS | 8888 | HTTP 直播流,支持網頁播放 |
WebRTC | 8889 | 低延遲實時通信 |
API/UI | 9997 | Web 管理界面 |
🛡? 若使用了防火墻(如 ufw),需放行相關端口:
sudo ufw allow 554/tcp sudo ufw allow 1935/tcp sudo ufw allow 8888/tcp sudo ufw allow 9997/tcp
1?? 推流測試(使用 FFmpeg)
準備一個本地視頻文件(如 my_video.mp4
),使用 FFmpeg 推流:
推送到 RTMP:
ffmpeg -re -stream_loop -1 -i my_video.mp4 -c copy -f flv rtmp://你的服務器IP/mylive/mystream
推送到 RTSP:
ffmpeg -re -stream_loop -1 -i my_video.mp4 -c copy -f rtsp rtsp://你的服務器IP/mylive/mystream
📌 參數說明:
-re
:按原始幀率讀取-stream_loop -1
:無限循環播放mylive
:路徑名(可自定義)mystream
:流密鑰(可自定義)
2?? 拉流播放
使用 VLC、FFplay 或瀏覽器(HLS)播放:
協議 | 播放地址 |
---|---|
RTMP | rtmp://你的服務器IP/mylive/mystream |
RTSP | rtsp://你的服務器IP/mylive/mystream |
HLS | http://你的服務器IP:8888/mylive/mystream/index.m3u8 |
例如,使用 ffplay
測試:
ffplay rtsp://127.0.0.1/mylive/mystream
3?? 查看服務器狀態(Web UI)
MediaMTX 提供了一個簡潔的 Web 管理界面,訪問:
🌐 http://你的服務器IP:9997
你可以在這里查看:
- 當前活躍的推流
- 正在觀看的客戶端
- 實時帶寬、編碼信息等
非常適合作為監控面板使用!
?? 配置文件詳解(/etc/mediamtx/mediamtx.yml)
默認配置允許匿名推拉流,適合測試。但在生產環境中,建議修改配置以增強安全性。
常見配置項包括:
- ? 認證機制:設置用戶名密碼
- ? 路徑限制:只允許特定路徑推流
- ? TLS/SSL:啟用 HTTPS 和加密流
- ? 錄制功能:自動保存流到本地
- ? 外部程序鉤子:推流開始/結束時觸發腳本
🔧 完整配置說明請參考官方 Wiki:
🔗 https://github.com/mediamtx/mediamtx/wiki
? 總結
通過本文,你已經成功在 Debian 系統上部署了一個功能強大的流媒體服務器 —— MediaMTX!
它不僅輕量、易用,還支持多協議互通,無論是做 攝像頭接入、直播中轉、還是 WebRTC 低延遲應用,都非常合適。
📌 常見問題 FAQ
Q1:為什么推流失敗?提示連接被拒絕?
A:檢查防火墻是否放行 554、1935 等端口,或使用 netstat -tuln | grep 554
確認服務是否監聽。
Q2:如何實現身份驗證?
A:編輯 mediamtx.yml
,添加 paths:
和 readUsers
/ writeUsers
配置。
Q3:支持 H.265 編碼嗎?
A:支持!只要推流端發送的是標準 H.265 流即可,MediaMTX 不做轉碼。
Q4:能否跨平臺使用?
A:當然!MediaMTX 支持 Linux、Windows、macOS、Docker,甚至 Android(Termux)。
🌟 結語
MediaMTX 是目前最簡潔高效的開源流媒體方案之一。相比 Nginx-RTMP、Wowza 等重型方案,它更適合個人開發者和邊緣設備部署。
趕快動手試試吧!歡迎在評論區交流使用心得~ 😊
👍 如果你覺得這篇文章對你有幫助,別忘了點贊、收藏、關注,讓更多人看到!
版權聲明:本文原創,轉載請注明出處及作者鏈接。
GitHub 示例代碼:https://github.com/yourname/mediamtx-setup(可選)
💡 延伸閱讀:
- MediaMTX 官方文檔
- FFmpeg 推流參數詳解
- 樹莓派搭建監控服務器實戰