網上說的天花亂墜,都是抄來抄去,沒有一個是經過自己試驗,然後才寫的
周氏一族,整理技術文檔,給下一代留點教程......
1、服務器系統準備
2、安裝文件準備
2.1 源碼文件,請上官網,下載,或者用我下面的地址也可以。
http://dss.macosforge.org/downloads/DarwinStreamingSrvr6.0.3-Source.tar
2.2 下載附件 dss_patch 【裏面有兩個文件 dss-6.0.3.patch 和 dss-hh-20080728-1.patch】
3、上傳所有文件,開始安裝 【爲了方便起見,我把所有文件,上傳到/usr/tmp目錄】
[root@New_server ~]# cd /usr/tmp/
[root@New_server tmp]# ls
DarwinStreamingSrvr6.0.3-Source.tar dss-6.0.3.patch dss-hh-20080728-1.patch
[root@New_server tmp]#
4、解壓 源文件包
[root@New_server tmp]# tar xvf DarwinStreamingSrvr6.0.3-Source.tar
5、把解壓出來的文件,挪成後綴名爲 orig 的【爲什麼要這麼做?請看後面】
[root@New_server tmp]# mv DarwinStreamingSrvr6.0.3-Source DarwinStreamingSrvr6.0.3-Source.orig
6、加載patch路徑 [請保持第五步驟的疑問]
[root@New_server tmp]# patch -p0 < dss-6.0.3.patch
我們不妨,查看一下這個dss-6.0.3.patch是什麼東西來的
哇,你現在知道,爲什麼要做第五步的操作了吧,因爲,patch裏面文件,就是要去找 orig這個文件,所以得挪一下,不然是不行的,那不妨,我們繼續看下 dss-hh-20080728-1.patch 這個文件
不難發現,dss-hh-20080728-1.patch 這個文件,它又不用orig的,而是直接普通的目錄進,所以,我們還得再做一次操作,就是把orig後綴的目錄挪回來,讓他變成正常
7、把orig後綴的目錄挪回來,讓他變成正常
[root@New_server tmp]# mv DarwinStreamingSrvr6.0.3-Source.orig DarwinStreamingSrvr6.0.3-Source
[root@New_server tmp]# patch -p0 < dss-hh-20080728-1.patch
8、創建 Darwin 用戶qtss
[root@New_server tmp]# groupadd qtss
[root@New_server tmp]# useradd qtss -g qtss
9、進入Darwin目錄,編譯Buildit
[root@New_server tmp]# cd DarwinStreamingSrvr6.0.3-Source
[root@New_server DarwinStreamingSrvr6.0.3-Source]# ./Buildit
如果這一步有error,就得根據error來解決,一般不會有問題,除非是你環境太糟糕,很多開發工具沒裝上
10、執行 ./buildtarball 生成linux下的dss安裝包
[root@New_server DarwinStreamingSrvr6.0.3-Source]# ./buildtarball
很多人,都是漏了這一步,然後裝不成功,就在那裏吹水說6.0.3不穩定等等情況,建議裝5.x的
這一步,執行之後,你ls一下,會發現多了很多東西,比較明顯的是 DarwinStreamingSrvr-Linux.tar.gz
11、解壓 DarwinStreamingSrvr-Linux.tar.gz
[root@New_server DarwinStreamingSrvr6.0.3-Source]# tar xzvf DarwinStreamingSrvr-Linux.tar.gz
這裏得解釋下,不然很多人搞不懂,我們下載的文件"DarwinStreamingSrvr6.0.3-Source.tar",它是一個源文件,但是它又沒跟你說是linux下面的,它包含很多種系統,所以我們要 ./buildtarball 編譯一下,生成 我們要的 壓縮包,然後再解壓我們要的壓縮包,再進去安裝才行
12、進入該目錄
13、編輯Install,查找 Linux,然後你會發現,在下面,這裏 -M qtss,改成 -m
# Add the unprivileged user qtss as the server's run user
echo "Creating unprivileged user to run the server = \"qtss\"."
if [ $INSTALL_OS = "Linux" ]; then
/usr/sbin/groupadd qtss > /dev/null 2>&1
/usr/sbin/useradd -M qtss > /dev/null 2>&1
else
/usr/sbin/groupadd qtss > /dev/null 2>&1
/usr/sbin/useradd qtss > /dev/null 2>&1
fi
因爲 -M 是執行不了,得改成 -m 才能執行
14、改完之後,就./Install 了,沒什麼好講的,但是,它會提示你輸入用戶名和密碼,就是網頁的驗證,你隨便設就行了,具體我貼出來代碼如下:
[root@New_server DarwinStreamingSrvr-Linux]# ./Install
Installing Darwin Streaming Server
Checking for and Killing currently running Darwin Streaming Server
kill 3461: No such process
Removing previous versions of Darwin Streaming Server
Backing up previous config files
Inserting path to perl into scripts..
Creating unprivileged user to run the server = "qtss".
copying DarwinStreamingServer to /usr/local/sbin/DarwinStreamingServer
copying PlaylistBroadcaster to /usr/local/bin/PlaylistBroadcaster
copying MP3Broadcaster to /usr/local/bin/MP3Broadcaster
copying qtpasswd to /usr/local/bin/qtpasswd
creating /usr/local/sbin/StreamingServerModules directory
copying createuserstreamingdir to /usr/local/bin/createuserstreamingdir
creating /etc/streaming directory
Generating a new prefs file at /etc/streaming/streamingserver.xml
INFO: Module Loaded...QT***efMovieModule [dynamic]
INFO: Module Loaded...QTSSHomeDirectoryModule [dynamic]
INFO: Module Loaded...QTSSFileModule [static]
INFO: Module Loaded...QT***eflectorModule [static]
INFO: Module Loaded...QT***elayModule [static]
INFO: Module Loaded...QTSSAccessLogModule [static]
INFO: Module Loaded...QTSSFlowControlModule [static]
INFO: Module Loaded...QTSSPosixFileSysModule [static]
INFO: Module Loaded...QTSSAdminModule [static]
INFO: Module Loaded...QTSSMP3StreamingModule [static]
INFO: Module Loaded...QTSSAccessModule [static]
WARNING: No users file found at /etc/streaming/qtusers.
WARNING: No groups file found at /etc/streaming/qtgroups.
copying relayconfig.xml-Sample to /etc/streaming/relayconfig.xml-Sample
copying qtusers to /etc/streaming/qtusers
copying qtgroups to /etc/streaming/qtgroups
copying readme.txt to /var/streaming/readme.txt
copying 3rdPartyAcknowledgements.rtf to /var/streaming/3rdPartyAcknowledgements.rtf
creating /usr/local/movies directory
creating /var/streaming/playlists directory
copying sample_100kbit.mov into /usr/local/movies/sample_100kbit.mov
copying sample_300kbit.mov into /usr/local/movies/sample_300kbit.mov
copying sample_100kbit.mp4 into /usr/local/movies/sample_100kbit.mp4
copying sample_300kbit.mp4 into /usr/local/movies/sample_300kbit.mp4
copying sample.mp3 into /usr/local/movies/sample.mp3
copying sample_50kbit.3gp into /usr/local/movies/sample_50kbit.3gp
copying sample_h264_100kbit.mp4 into /usr/local/movies/sample_h264_100kbit.mp4
copying sample_h264_300kbit.mp4 into /usr/local/movies/sample_h264_300kbit.mp4
copying sample_h264_1mbit.mp4 into /usr/local/movies/sample_h264_1mbit.mp4
copying StreamingLoadTool to /usr/local/bin/StreamingLoadTool
copying streamingloadtool.conf to /etc/streaming/streamingloadtool.conf
copying streamingadminserver.pl into /usr/local/sbin/streamingadminserver.pl
copying Admin HTML to /var/streaming/AdminHtml directory
Launching streamingadminserver.pl
Installation Complete
Darwin Streaming Server Setup
In order to administer the Darwin Streaming Server you must create an administrator user [Note: The administrator user name cannot contain spaces, or single or double quote characters, and cannot be more than 255 characters long].
Please enter a new administrator user name: zhou
You must also enter a password for the administrator user [Note: The administrator password cannot contain spaces, or quotes, either single or double, and cannot be more than 80 characters long].
Please enter a new administrator Password:
Re-enter the new administrator password:
Adding userName zhou
Setup Complete!
[root@New_server DarwinStreamingSrvr-Linux]#
15、到此結束,安裝完成,那麼,檢測一下是不是OK
[root@New_server ~]# ps aux |grep Da
root 3516 0.0 0.0 22028 604 ? Ss 14:32 0:00 /usr/local/sbin/DarwinStreamingServer
qtss 3517 0.6 0.2 412140 4848 ? Sl 14:32 0:01 /usr/local/sbin/DarwinStreamingServer
root 27706 0.0 0.0 103236 884 pts/0 S+ 14:36 0:00 grep Da
[root@New_server ~]# netstat -nl |grep 1220
tcp 0 0 0.0.0.0:1220 0.0.0.0:* LISTEN
[root@New_server ~]#
很明顯,一切正常,1220端口起來,這個端口是用來網頁登陸的 ,Darwin進程也起來
16、好了,都搞定了,那我們現在就開始來應用他,這個是流媒體服務器,肯定就是播放電影的啦,毫無疑問
輸入你剛纔設置的賬戶密碼
它叫你設置廣播密碼,這樣能保證你流媒體安全,測試我就不設置密碼了
設置連接安全,一般是用ssl,但是很少用的,不設置
流媒體電影,存放的地址,像360,騰訊,他們都是直接把這個目錄,mount到集羣存儲,然後來觀看的
它叫你吧端口改成80,你看着辦咯,看你個人喜歡
17、好了,現在可以來測試一下
我用這個VLC media player 來播放一下視頻,至於視頻,肯定就是自己上傳,或者demo自帶的咯
媒體(M)-->打開網絡串流(N),切換到 "網絡" 選項卡
輸入鏈接 rtsp://192.168.0.202/sample_50kbit.3gp
一切正常
題外話:
其實,這個流媒體,可以用來當做安卓手機 "視頻通話",所以我纔會下功夫來研究他,希望有人研究出來的,也貢獻一下,哈哈!