首先先介绍一下RED5,Red5的主要功能和Macromedia公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。它由Java语言编写,使用RTMP作为流媒体传输协议,这与FMS完全兼容。它具有流化FLV、MP3文件,实时录制客户端流为FLV文件,共享对象,实时视频播放、Remoting等功能。用Red5替换FMS后,客户端不用更改可正常运行。
所谓流媒体服务器就是可以把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。提到流媒体服务器就不得不提到RTMP协议,因为流媒体服务器的主要功能是以流式协议(RTP/RTSP、MMS、RTMP等)将视频文件传输到客户端。(以上摘自百度)这种工作方式除了保护版权之外还有一个最重要的用户体验很好。可以从任意时间点开始播放,而不需要等待缓存条缓存到某处才可以。
Ok,大致的基础知识点就是这样,如果要使用RED5请到官方网站:http://red5.org/下载使用
下载完成后打开Red5的安装目录,大致是这样的:
其中conf文件夹的放置一些red5服务器的配置文件,lib就是放置各种需要用到的jar,plugins插件,webapps放置应用。大致结构和tomcat都是差不多的。(其实RED5也是Tomcat分离出来的产物,因为tomcat不支持rtmp协议。)
安装完后,启动red5.bat或red5-debug.bat,打开127.0.0.1:5050出现首页则证明安装成功。
接下来就开始编写服务端应用程序。
服务端同样也是用java编写的,命名为Red5demo。
创建类FirstRed5.class。
然后将此应用程序WEB-INF拷贝到red5webapps下,随后在webapps其他应用下拷贝red5-web.properties、web.xml以及red5-web.xml到WEB-INF下。
大致的项目结构是:
其中streams文件夹下放置的是视频资源,然后需要对各种配置文件进行修改:
red5-web.properties文件第一行的修改为webapp.contextPath=/reddemo
red5-web.xml文件中bean“web.handler”的class属性指定为“com.huilian.red.FirstRed5”
Web.xml修改:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>/reddemo</param-value>
</context-param>
大致的配置已经完成,然后在streams下拷贝一个视频文件,启动red5.bat或red5-debug.bat,打开127.0.0.1:5050(端口可自定义,在安装时自定义哪个端口,就用哪个端口访问),
访问应用:http://127.0.0.1:5050/demos/publisher.html
然后在Location输入:rtmp://127.0.0.1:5050/reddemo点击Connect按钮,提示连接服务器成功。之后再Name出输入视频文件名称,点击Play即可播放。
可能出现的错误:
1,red5与jdk版本不兼容,具体提示信息就是
需要升级你的jdk版本才可以。
2.端口被占用(以80端口为例)
解决方法是关掉占用端口的程序或更换其他端口。
关于Red5的配置文件我只是略知皮毛,不敢班门弄斧。就放一个百度文库关于讲解配置文件的地址吧:
http://wenku.baidu.com/link?url=F_rWse28Xtn7-2IEe3vTkd0O5PZzQk6-0jaH5A7dwIHlOKw-Ac8barqQuMgNflFIhpuSc1X17ub2acAahiQOzJ4JRh68lQztaurL8v2DC4W
(从今天开始我的博客就正式开始更新了,主要是为了帮助大家,同时也记录自己的学习过程。可能因为技术原因文章有很多错误,希望大神们一一指出,大家一起提高!)