Red5流媒體服務器開發總結
Red5 是 支持Windows,Linux等多平臺的RTMP流媒體服務器,最早屬於谷歌下的開源項目,先已移植到Github,地址爲https://github.com/Red5/red5-server 由於從安裝到開發相關文檔很少,於是需要有一定的開發經歷纔會流暢開發。
本文整個開發環境以及簡單應用的開發主要參考
http://v.youku.com/v_show/id_XMTI2Mjc2NDc2NA==.html?from=y1.7-2
準備工作
開發環境配置
主要有兩種方式:
1.集成開發環境
2.非集成開發環境
說明:解釋起來就是將Eclipse,Flex,Red5 Plugin的等幾個軟件在Eclipse上搭建集成開發環境,或者不進行集成。這裏主要介紹集成開發環境搭建,由於不集成只需要找到這幾個軟件單獨下載安裝,直接按照文檔執行即可。不過本文最終採用的是非集成開發環境,主要原因是集成環境中一些不知名bug,這個跟具體的版本和PC的各種軟件的版本有一定的關係。
集成開發環境搭建
準備工具
Eclipse
http://www.eclipse.org/downloads/
http://wiki.eclipse.org/Older_Versions_Of_Eclipse 使用java ee版本,版本問題這裏後面會詳細說
Red5 plugin
https://github.com/Red5/red5-eclipse-plugin ‘
Flash builder
Flash player debugger
http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/Adobe-Flash-Player-Debugger.shtml 這裏注意一定要用debbuger版本的flashplayer單獨安裝備註
Eclipse
這個就是普通的安裝步驟,而且基本上eclipse都處於綠色版的軟件,所以下載配置workspace即可使用。這裏要注意版本,red5 plugin對版本沒有什麼要求,但是flash builder集成要求eclipse只能是32位,並且最好用的版本是eclipse3.7版本,版本號是indigo。
Java的jdk
由於eclipse用的是32位ide於是java的jdk也要使用32位的,而且在開發的過程中由於一些調用red5的接口的時候會出現一些問題,於是需要用java較早的版本,建議使用Java SE Development Kit 7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Flash builder
Flash builder推薦使用4.6版本,破解方法參考
http://blog.163.com/jiawei28888@126/blog/static/7997376920121084267329/ 推薦方法一,一切與序列號相關的破解方法都不是靠譜,改變配置文件纔是王道。開發環境集成
Red5 plugin
安裝方法詳見github下載地址的readme文件,操作順序一定要正確,不然會導致安裝不成功。
Flash builder
嵌入到eclipse裏面參見下
http://jingyan.baidu.com/article/63f236280e4a740209ab3d4c.html
其中一定要用32位的3.7或者3.6版本的eclipse並且地址要選對文件夾,而且這裏面如果安裝不上可能需要重啓計算機,因爲在flash player安裝的時候就可能會出現說需要重啓再安裝的類似提示,具體原因不詳。其他開發細節
開發詳見優酷的視頻,其中開發順序也要正確。
開發自己的webapp的時候,要將red5目錄下的lib內容所有的源壓縮包複製到自己開發的webapp/WEB-IN/lib中,如果不復制會出現調用失敗的問題。
調用服務器的時候要保證之前的服務器配置可用。
調用red5服務器的時候要保證之前曾在其他應用開啓的服務器shut-down,不然會報5080端口不可用的錯誤。
調試的時候要窗口點在java上啓動服務器然後在對flex進行調試,要不然順序錯了會出現flex已經在調試的錯誤。
非集成開發環境搭建
只需要下載上述的幾個軟件的最新版即可然後進行搭建,而且就沒有上述的關於jdk相關強制的32位的限制,也沒有Eclipse的Indigo的版本限制。
HELLO WORLD
第一個程序開發往往是hello world,這個主要過程可以參照57code的最開始的視頻教程,會介紹每步操作的作用,還算清晰。或者其他的關於編寫helloworld的相關介紹也可以。
注意以下幾點:
1.開發的時候要將red5服務器的jar複製到webapps\HelloRed5\WEB-INF\lib工程目錄下面,一般是red5-server.jar或者lib /red5-server-common-xxx.jar,xxx是版本號。如果還是缺少包的話,就不妨把lib目錄下的所有jar都複製到工程下。
2.用eclipse將服務器導入工程的時候,運行之前要將lib和class文件夾下除了你自己這個工程的jar以外其他所有的jar都刪除。
3.每次改動都要先shutdown然後再debug,要不然會出現端口占用的問題。
4.與服務器連接的時候,rtmp地址務必寫ip地址,就是主機也要127.0.0.1,絕對不能localhost,要不然會出現錯誤。
視頻應用開發
- 傳統方法可以按照上面類似helloworld的方式來進行開發任何網頁應用包括視頻應用,但是在開發的時候本例沒有成功,於是採用了更加直接的方式,直接複製oflaDemo工程的文件夾,然後修改,主要工作分爲配置文件的修改和index網頁的修改兩部分,具體如下:
- 配置文件:與之前類似不再贅述。
- Index網頁修改:還是html+css+js的構架。主要結構就是css標籤,js函數,調用jwplayer(一款flash player)。
PS:
- Css幾種好用的框架參考
http://www.php100.com/html/it/mobile/2014/0220/6563.html
- jwplayer調用參考
http://blog.csdn.net/tomysea/article/details/6685553