test.mp4)# 安裝 MSYS2,在 MSYS2 MinGW 64-bit 終端
pacman -S mingw-w64-x86_64-gcc make
# 解壓並編譯
tar -xzf live.2024.01.15.tar.gz
cd live
./genMakefiles mingw64
make -j4
live555.sln,用 VS 2019/2022 打開liveMedia/libliveMedia.lib、testProgs/testOnDemandRTSPServer.exe# 複製測試視頻到目錄
copy test.mp4 live/testProgs/
# 運行 (指定媒體目錄)
cd live/testProgs
testOnDemandRTSPServer.exe .
# 輸出:LIVE555 On-Demand RTSP Server ... rtsp://192.168.1.100:8554/
# 安裝依賴
sudo apt update && sudo apt install -y build-essential
# 下載編譯
wget https://www.live555.com/liveMedia/public/live.2024.01.15.tar.gz
tar -xzf live.2024.01.15.tar.gz
cd live
./genMakefiles linux
make -j$(nproc)
sudo make install # 安裝到 /usr/local/lib, /usr/local/include
# 運行 (後台)
cd testProgs
./testOnDemandRTSPServer /path/to/video/dir &
# 防火牆開放 8554
sudo ufw allow 8554/tcp
rtsp://SERVER_IP:8554/test.mp4常見 URL 格式:
rtsp://ip:8554/filename.mp4rtsp://ip:8554/ (需服務端支援)# 使用 testMPEG4VideoStreamer 推送本地檔案模擬實時流
./testMPEG4VideoStreamer test.mp4
# 輸出:rtsp://ip:8554/live.sdp
# VLC 打開 rtsp://ip:8554/live.sdp 即可觀看實時推流
# Dockerfile
FROM alpine:3.18
RUN apk add --no-cache live555
COPY media /media
EXPOSE 8554
CMD ["testOnDemandRTSPServer", "/media"]
# 構建運行
docker build -t rtsp-server .
docker run -d -p 8554:8554 -v /host/video:/media rtsp-server
| 問題 | 原因 | 解決 |
|---|---|---|
| VLC 提示「無法打開」 | 防火牆攔截 8554、IP 錯誤、檔案不存在 | 關閉防火牆測試、用 netstat -an | findstr 8554 確認監聽 |
| 畫面花屏/無聲音 | 編碼格式不支援 (如 H.265 需 VLC 3.0+) | 轉碼為 H.264/AAC:ffmpeg -i in.mp4 -c:v libx264 -c:a aac out.mp4 |
| 多客戶端卡頓 | 單線程 testOnDemandRTSPServer 效能限制 | 使用 live555ProxyServer 或商業媒體服務器 (SRS, MediaMTX) |
| Windows 編譯報錯 | 缺少 pthread、socket 庫 | 使用 MSYS2/MinGW 環境,或改用預編譯二進制 |
結論:Live555 適合學習 RTSP 協議、嵌入式設備集成。生產環境建議使用 **MediaMTX** 或 **SRS**,部署運維更簡單、效能更強、協議支援更全。