【流媒體】Red5流媒體服務器開發總結

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章