Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Linux 平台部署 Darwin Streaming Server 完整實戰指南

編輯:關於伺服器

Darwin Streaming Server 是蘋果開源的 QuickTime 串流伺服器,支援 RTSP/RTP 協議,廣泛用於音視頻點播、直播轉碼分發場景。本文基於 Linux 環境,涵蓋獲取源碼、編譯安裝、Web 管理配置、服務化部署、客戶端測試全流程,並補充生產環境優化建議。

核心特性速覽

  • 開源授權(APSL 2.0),無授權費用
  • 跨平台:Linux、Solaris、FreeBSD、macOS、Windows
  • Web 管理介面(預設埠 1220),支援即時監控、播放清單、認證授權
  • 支援 QuickTime、MPEG-4、3GPP、H.264/AAC 等格式
  • 支援 RTSP/RTP over TCP/UDP、HTTP 串流、多播

部署環境準備

# 建議規格:2 vCPU / 4GB RAM / 50GB 磁碟 / 1Gbps 網路
# 作業系統:Ubuntu 22.04 LTS / Rocky Linux 9 / Debian 12
# 依賴套件:
sudo apt update && sudo apt install -y build-essential perl libssl-dev zlib1g-dev wget tar
# 或
sudo dnf install -y gcc gcc-c++ make perl openssl-devel zlib-devel wget tar

獲取與安裝(以 6.0.3 版為例)

cd /usr/local/src
wget https://github.com/darwinstreaming/darwinstreamingserver/releases/download/6.0.3/DarwinStreamingSrvr6.0.3-Linux.tar.gz
tar xzf DarwinStreamingSrvr6.0.3-Linux.tar.gz
cd DarwinStreamingSrvr6.0.3-Linux
./Install

安裝腳本會引導輸入:管理員用戶名/密碼、RTSP 埠(預設 554)、HTTP 埠(預設 80/8080)、RTP 埠範圍、媒體目錄、日誌目錄。建議採用非預設埠避免衝突。

目錄結構與關鍵檔案

路徑用途
/usr/local/sbin/QuickTimeStreamingServer核心串流服務二進制
/usr/local/sbin/streamingadminserver.plWeb 管理服務
/etc/streaming/配置檔(qtss.conf、users、groups)
/usr/local/movies/預設媒體檔案根目錄
/var/streaming/logs/存取日誌、錯誤日誌
/var/streaming/playlists/播放清單檔案

Web 管理介面配置與服務化

1. 修改管理介面綁定位址與埠

vim /etc/streaming/qtss.conf
# 找到並修改:
admin_server_ip_addr = 0.0.0.0  # 監聽所有介面
admin_server_port = 1220        # 管理埠
admin_user = admin              # 管理員帳號
admin_password = StrongP@ssw0rd # 強密碼

2. 建立 systemd 服務單元

cat > /etc/systemd/system/darwin-streaming.service <<'EOF'
[Unit]
Description=Darwin Streaming Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/QuickTimeStreamingServer
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=5
User=root
Group=root

[Install]
WantedBy=multi-user.target
EOF

cat > /etc/systemd/system/darwin-admin.service <<'EOF'
[Unit]
Description=Darwin Streaming Admin Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/sbin/streamingadminserver.pl
Restart=on-failure
RestartSec=5
User=root
Group=root

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now darwin-streaming darwin-admin

核心配置優化(/etc/streaming/qtss.conf)

參數建議值說明
max_connections2000最大並發連線,依記憶體調整
max_bandwidth00=不限制,或設定 bps(如 100000000=100Mbps)
authentication_typedigestdigest/basic/qtss,建議 digest
enable_rtsptrue啟用 RTSP 協議
enable_http_streamingtrue啟用 HTTP 串流(適配部分播放器)
rtp_port_range60000-61000RTP/UDP 埠範圍,防火牆需放行
media_folder/data/media媒體根目錄,建議掛載獨立卷

防火牆與 SELinux/AppArmor

# firewalld
firewall-cmd --permanent --add-port=554/tcp --add-port=1220/tcp --add-port=8000/tcp --add-port=60000-61000/udp
firewall-cmd --reload

# SELinux(若啟用)
semanage port -a -t stream_port_t -p tcp 554
semanage port -a -t stream_port_t -p tcp 1220
semanage port -a -t stream_port_t -p udp 60000-61000
setsebool -P httpd_can_network_connect 1

媒體檔案準備與測試

1. 產生測試媒體

# 使用 FFmpeg 將 MP4 轉為 QuickTime 相容格式(H.264 + AAC)
ffmpeg -i input.mp4 -c:v libx264 -profile:v baseline -level 3.0 -c:a aac -b:a 128k -movflags +faststart /usr/local/movies/test.mov

2. QuickTime Player / VLC 測試

  • QuickTime Player:Cmd+U → 輸入 rtsp://server_ip:554/test.mov
  • VLC:媒體 → 開啟網路串流 → 輸入上述 URL

3. Web 管理介面驗證

瀏覽器訪問 https://server_ip:1220,登入後查看:

  • Server Snapshot:即時連線數、頻寬、CPU/記憶體
  • Movies Directory:確認媒體檔案被掃描識別
  • Playlists:建立播放清單支援連續播放
  • Logs:分析客戶端連線錯誤、編碼不支援等問題

生產環境進階架構

  1. 反向代理 + SSL 終結:Nginx 監聽 443,反代 1220(管理)與 8000(HTTP 串流),簽發 Let's Encrypt 憑證
  2. 負載均衡:多 Darwin 節點組成叢集,前置 HAProxy/Nginx 依 CPU/連線數分發
  3. 轉碼集成:上傳原始檔 → 消息佇列觸發 FFmpeg 轉碼 → 產出多碼率 .mov/.mp4 → Darwin 目錄熱更新
  4. 監控告警:Prometheus 節點匯出器 + Darwin 狀態 API → Grafana 儀表板 + Alertmanager 告警

Darwin Streaming Server 雖非主流商業選擇,但在蘋果生態相容、輕量級部署、開源可控場景下仍具獨特價值。掌握其部署調優,可為特定業務提供低成本、高穩定的串流基礎設施。

Copyright © Windows教程網 All Rights Reserved