red5流媒体服务器的搭建以及Tomcat上的集成

文章链接:http://www.liuschen.com

1.流媒体服务器的搭建

首先需要安装Java环境,此步略过,然后下载red5文件,解压得到一个类似tomcat的服务器,点击red5.bat(window下下载的zip文件中的)启动,在浏览器中访问http://localhost:5080/如果能访问到red5就证明服务已经启动了。

首先第一个问题,点击此时网页中的install,跳转的应用列表为空,这里只是说明由于某些原因网站上的资源被墙了,或不提供了,这个显示的并不是本地资源。如果想要示例程序自己在网上找就好了。

修改IP地址和端口:red5目录下conf文件夹中的red5.properties,主要改的是HTTP和RTMP的地址,如果想要在主机外访问,将0.0.0.0改为自己局域网中或是对外网提供的IP地址

如果自己webapps文件夹内没有应用,也就是没有示例程序,也可以从网上下载别人打包好的red5-1.0.0-webapps-demos.zip解压到里面,先把应用跑起来走通功能才不至于被打击主动性。里面的Demo主要用了oflaDemo和Publisher(直接在webapps是没有这个名字的程序的,需要访问主界面,点击demo连接到的界面才能看到),oflaDemo是一个点播程序,而Publisher是一个兼具发布与直播的flash程序

这时候如果之前已经改过IP那么在demo里面连接的时候一定要把localhost改为自己设置的IP地址

然后此时就可以直播了,可以现在Publisher程序中测试一下,然后改为用手机客户端推流,之前的地址是固定的,如rtmp://ip地址/oflaDemo,后面在加上就是推流的地址,只要不是太离谱,可以随便取,如2334,322df什么的,由客户端指定,完整就是rtmp://ip地址/oflaDemo/自己取得流名称,然后再在另一端用一个有流媒体播放的播放器,输入同一个地址就可以播放了。

2.将red5集成在tomcat上启动

red5据说原本就是在tomcat上跑的,后来分开,而下载的red5的目录结构像极了tomcat,里面也有webapps跑着小程序,一度让我非常困惑。想把red5集成到tomcat中但是网上说的要么年代久远,要么大部分繁琐非常,试了几种方式,大概出了个思路,即使用网上给出的war包red5-war-1.0-RC1.zip,中间我下载了n个red5版本的程序,也渐渐没了耐心。最后发现red5-war-1.0-RC1.zip里面包含了移植需要的所有东西。

一.验证

将red5-war-1.0-RC1.zip包解压后,把ROOT.war解压到tomcat目录下webapps对应的ROOT包中,启动tomcat,如果正常启动并且能够访问到red5界面,说明这个包能用。

二.新建项目

在myeclipse中新建一个web工程。

三.配置文件的移植

将red5-war-1.0-RC1\ROOT\WEB-INF\classes下的配置文件拷贝到工程对应的src目录下,工程中的web.xml用red5-war-1.0-RC1\ROOT\WEB-INF中对应的替代。

四.lib文件的移植

red5-war-1.0-RC1\ROOT\WEB-INF\lib下的文件全部拷贝到项目对应的文件夹中,打开cmd,切换到red5-war-1.0-RC1\ROOT\WEB-INF\classes中,执行命令

jar -cvf red5final.jar org

生成了red5final.jar的库文件,同样拷贝到项目对应的lib文件夹中

此时运行程序应该不会有错,我用了好几个版本的red5中的源程序来替代red5final.jar,但是总是会出各种问题。只有用同一个包中的才行。如果之前在tomcat上验证通过,这里也就不应该有什么问题。

3.通过推流和播放验证移植成功

首先,修改绑定的IP地址,若是找不到red5.properties或是类似的文件,就直接在red5-core.xml中修改,默认的rtmp端口一般是1935,搜一下就找到了。

然后修改root-web.xml里面的

<property name="contextPath" value="/oflaDemo" />

oflaDemo可以用其他字符,也是取一个名字,rtmp访问时会用到(紧跟在ip后面):

rtmp://ip地址/oflaDemo/自己取得流名称
Loading Disqus comments...
Table of Contents