2014年1月17日 星期五

使用 Darwin(QTSS) 架設串流伺服器

以下使用文字記錄使用 Darwin Streaming Server來當成串流伺服器的操作過程,此操作可以同時適用于Ubuntu 12.04 與 Mac OS 10.9.1。



1. 安裝 Darwin Streaming Server
可以直接下載執行檔案
http://dss.macosforge.org/releases.html 
也可以選擇手動編譯程式
http://blog.06sd.com/post/2012-07-28/40029695753
http://lists.apple.com/archives/streaming-server-users/2012/Dec/msg00004.html
 
2. 此處僅介紹執行檔的安裝過程 (Ubuntu版本為5.5.5,Mac版本為6.0.3)
For Ubuntu
$ tar zxvf DarwinStreamingSrvr5.5.5-Linux.tar.gz
$ sudo addgroup --system qtss
$ sudo adduser  --system  --no-create-home  --ingroup qtss qtss
$ sudo ./Install 
$ sudo chmod 755 /etc/streaming/streamingserver.xml
For Mac OS
$ tar zxvf DarwinStreamingSrvr5.5.5-Linux.tar.gz
$ sudo ./Install
$ sudo chmod 755 /etc/streaming/streamingserver.xml
安裝時會詢問 administrator 帳號密碼,假設都設定為 qtss

3. 安裝完後, 登入 server
http://127.0.0.1:1220/,此處的帳號密碼就是剛剛建立的 qtss

4. 使用 RTSP 進行串流
透過網頁選擇Playlists,新增一個 Playlist 便可以使用 RTSP 進行串流

5. 使用 RTSP over Http 進行串流
For Ubuntu:
透過網頁選擇 Port Settings,勾選設定 port 80。 
For Mac:
透過網頁選擇 Port Settings,勾選設定 port 80。
若此處出現問題,則解決方法如下
檢查是否機器上已經有設定 web server,若有的話,停止此 web server。
刪除 Darwin 相關的 process,並重新啟動,啟動方式建議如下:
啟動 Darwin Streaming Server
$ sudo /usr/local/sbin/DarwinStreamingServer -p 80
 
啟動 Front-End admin server
$ sudo /usr/local/sbin/streamingadminserver.pl -c /etc/streaming/streamingadminserver.conf
6. 若需要自行新增串流檔案,則流程如下
直接使用 ffmpeg 進行轉檔,,
ffmpeg -i input -c:v libx264 -b:v 1000k 1000k.mp4 
使用 MP4Box 建立 hint track,以利 QTSS 進行串流
./MP4Box -hint 1000k.mp4
7. 若你跟我一樣糊塗,忘了 QTSS 的密碼,則請參考
http://support.apple.com/kb/ta21004?viewlocale=en_us&locale=en_us

常用檔案位置列表 (參考apple提供的readme)
Darwin Streaming Server (Unix)
/usr/local/sbin/DarwinStreamingServer - Streaming Server app
/usr/local/sbin/streamingadminserver.pl - QTSS Web Admin server
/usr/local/sbin/StreamingServerModules/ - QTSS plug-ins
/usr/local/bin/PlaylistBroadcaster - The PlaylistBroadcaster
/usr/local/bin/MP3Broadcaster - The MP3Broadcaster
/usr/local/bin/qtpasswd - Generates password files for access control
/usr/local/bin/StreamingLoadTool - RTSP simulated client stress tool
/etc/streaming/ - QTSS config files
/usr/local/movies/ - Media files
/var/streaming/  - readme.html & user manual.pdf files
/var/streaming/logs - Logs
/var/streaming/playlists - Web Admin Playlist files   
 
Darwin Streaming Server (Mac)
/usr/sbin/QuickTimeStreamingServer – Streaming Server app
/usr/sbin/streamingadminserver.pl – QTSS Web Admin server
/Library/QuickTimeStreaming/Modules/ – QTSS plug-ins
/usr/bin/PlaylistBroadcaster – The PlaylistBroadcaster
/usr//bin/MP3Broadcaster – The MP3Broadcaster
/usr/bin/qtpasswd – Generates password files for access control
/usr//bin/StreamingLoadTool – RTSP simulated client stress tool
/Library/QuickTimeStreaming/Config/ – QTSS config files
/Library/QuickTimeStreaming/Movies/ – Media files
/Library/QuickTimeStreaming/Docs/ – readme.html & user manual.pdf files
/Library/QuickTimeStreaming/logs/ – Logs
/Library/QuickTimeStreaming/playlists – Web Admin Playlist files   

參考資料: