Red5流媒体服务器开发

时间:2021-07-28 09:40:50

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