Windows下Red5安装与使用入门

简介

Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流; 录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。Red5使用RSTP作为流媒体传输协议,在其自带的一些示例中演示了在线录制,flash流媒体播放,在线聊天,视频会议等一些基本功能。

软件环境

既然是Java开发的,自然少不了要安装JDK,这里使用的是JDK6.x版本,Red5用的是0.9.1版本,Red5内嵌了Tomcat6.x服务器。为了测试和使用Red5,需要另外搭建开发环境,开发部署相应的服务端应用,开发IDE为Eclipse3.3.x + MyEclipse6.x(貌似版本有点低了,没办法,刚好电脑上安装程序,不想另外下载了,同时也够用了,哈哈),Web服务器为Tomcat6.x,最后客户端播放器使用Flowplayer3.2.x。以下是Red5和Flowplayer3.2.x下载地址。

Red5:http://www.red5.org/downloads/

Flowplayer http://flowplayer.org/download/

安装软件与环境配置

1.安装JDK

这里使用的是jdk-6u21-windows-i586.exe,双击按提示安装即可

完毕后设置环境变量JAVA_HOME,PATH和CLASSPATH,如何设置环境变量请谷歌或百度

2.安装Red5

因为是Windows环境,这里下载的是setup-Red5-0.9.1.exe。直接双击安装程序安装,安装过程中,需要填写服务器IP地址和端口,由于是本地测试,直接填写127.0.0.1,端口随意,不冲突即可,建议>1024,这里使用5050。安装完之后不要忘记设置RED5_HOME环境变量。

Red5安装程序会默认把Red5注册为系统服务自动启动,打开系统服务,查看是否服务是否已经存在:

我们看到服务已安装,但还没有启动,需要我们手动启动一下,选择Red5服务,鼠标右键,选择启动或者重新启动即可。系统界面操作,不赘述。如无意外,应该可以正常启动。如果启动不了,请检查前面的环境变量设置是否设置完毕并且正确,最后检查Red5的启动日志文件,看看是否有相应的提示信息,日志文件在Red5主目录下的log目录下,日志文件有多个,查看red5_service.log即可。启动后,打开浏览器,敲入安装Red5时的IP地址和端口,正常情况下,看到如下信息,说明Red5已经正确安装了。

这个时候可以点击Install进入下载其官方提供的demo进行研究学习,安装后的demo文件在Red5根目录下的webapps下,如D:\Red5\webapps。安装操作比较简单,这里不详细介绍,不过要这里要提醒一下,安装完的demo后,需要重新启动一下Red5服务器,重启操作参考上面的介绍。

3.安装配置开发环境

主要安装配置Eclipse3.3.x + MyEclipse6.x +Tomcat6.x。

Eclipse下载的是eclipse3.3.1.zip,直接解压到D:\Program Files目录下;Tomcat下载apache-tomcat-6.0.36-windows-x86.zip,直接解压到D:\ProgramFiles目录即可;然后安装MyEclipse6.x,这里用的是MyEclipse_6.0.1GA_E3.3.1_Installer.exe,双击按提示安装完毕即可。

配置Tomcat服务器和默认字符集为UTF-8

至此,软件的安装与环境配置完成,接下来就是开发和部署我们的流媒体服务器应用以及测试应用了。

4.下载Flowplayer流媒体播放器

FlowPlayer 是一个用Flash开发的在Web上的视频播放器,可以很容易将它集成在任何的网页上。支持HTTP以及流媒体传输。这里用到的除了播放器之外还包含了控制条组件以及rtmp插件,另外其播放器扩展为jquery的插件,使用时还需要用到jquery库,版本1.7+。详细清单如下:

下载后备用

开发与部署流媒体应用

1.开发与部署服务端应用

打开MyEclipse,新建一个WebProject,这里起名为vedio.dafangxiaoche.com,然后同时为其添加部署配置

然后在vedio.dafangxiaoche.com工程下新建streams目录,用于存放流媒体文件,然后找些流媒体文件如flv、mp4、mp3等文件放进去,我这里从Red5提供的demo项目拷贝了几个flv,然后在本地拷贝了一个mp4。

接下来,在工程的WEB-INF目录下,新建red5-web.properties、red5-web.xml、web.xml文件(也可以从官方提供的demo中拷贝,本人即直接拷贝的。)。三个文件的内容分别如下

red5-web.properties文件:

webapp.contextPath=/vedio

webapp.virtualHosts=*, localhost, localhost:8088,127.0.0.1:8088

red5-web.xml文件:

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEbeansPUBLIC"-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<beanid="placeholderConfig"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<propertyname="location"value="/WEB-INF/red5-web.properties"/>

</bean>

<beanid="web.context"class="org.red5.server.Context"

autowire="byType"/>

<beanid="web.scope"class="org.red5.server.WebScope"

init-method="register">

<propertyname="server"ref="red5.server"/>

<propertyname="parent"ref="global.scope"/>

<propertyname="context"ref="web.context"/>

<propertyname="handler"ref="web.handler"/>

<propertyname="contextPath"value="${webapp.contextPath}"/>

<propertyname="virtualHosts"value="${webapp.virtualHosts}"/>

</bean>

<beanid="web.handler"

class="org.red5.server.adapter.ApplicationAdapter"

singleton="true"/>

</beans>

web.xml文件:

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>Vedio Server</display-name>

<context-param>

<param-name>webAppRootKey</param-name>

<param-value>/vedio</param-value>

</context-param>

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

细心的朋友可能会注意到,

red5-web.properties、web.xml文件中的webapp.contextPath和webAppRootKey的内容都是/vedio,和前面部署配置的目录是对应的。

至此,一个简单的服务端完成了,部署到Red5服务器下即可。由于前面已经配置了部署参数,现在可以有两种方式部署,如下图,“redeploy”一下即完成。完成后不要忘记重启一下Red5服务器哦。

2.开发部署客户端应用

与创建服务端应用一样,在MyEclipse下,新建一个Web Project,起名为www.dafangxiaoche.com,这时你也可以配置一下部署参数到之前安装的Tomcat服务器,也可以手动配置,这里使用手动配置Tomcat。进入Tomcat6.x的安装根目录,打开conf目录下的server.xml,配置一个host:

这里配置了host,不要忘记在C:\Windows\System32\drivers\etc\hosts文件中也相应添加。

接下来将Flowplayer播放器及其相应以及依赖组件一并添加到工程中(文件清单详细见前面的介绍),然后就可以创建客户端应用页面了。这里直接在工程根目录下新建了一个index.html页面,内容如下

<!doctypehtml>

<head>

<!—这里的Jquery用的是1.9.x -->

<scriptsrc="/js/jquery/jquery.min.js"></script>

<!- 引入flowplayer播放器 -->

<scriptsrc="/flowplayer-3.2.x/flowplayer-3.2.11.min.js"></script>

<scripttype="text/javascript">

$(function(){

$f("a.rtmp","/flowplayer-3.2.x/flowplayer-3.2.15.swf",{

clip: {

provider: 'rtmp'

,autoPlay: false

},

plugins: {

rtmp: {

url: "/flowplayer-3.2.x/flowplayer.rtmp-3.2.11.swf",

//流媒体应用服务端连接地址,注意这里的目录是/vedio,与前面的配置是一致的

netConnectionUrl: 'rtmp://localhost/vedio'

},

controls: {

//控制条插件

url:'/flowplayer-3.2.x/flowplayer.controls-3.2.14.swf'

}

}

});

});

</script>

</head>

<body>

<div style="width:600px;height:400px;">

<a class="rtmp" href="festival.mp4"></a>

</div>

</body>

3.测试应用

好了,这个时候,可以启动Tomcat6.x来测试我们的应用啦。在浏览器中敲入地址:

http://www.dafangxiaoche.com/

到此,一个简单的基于Red5的流媒体服务应用就开发部署完毕,成功播放视频。

总结

由于对播放器和Red5只是一个初步的了解,相当于搞了一个helloworld。虽然成功播放视频,可以边下载边播放,同时能够自由拖拉进度条,但感觉播放的速度有点快,并且拖拉的时候感觉会向前跳、播放有艺术家和专辑信息的mp3时(http://stackoverflow.com/questions/12560414/error-red5-server-to-streaming-files-who-include-cover-art-or-album-art-in-java)出现异常等问题,这些都有待后续去深入了解和解决。

音视频开发(4)---Windows下Red5安装与使用入门相关推荐

  1. python中使用ffmpeg合并音频与视频_ffmpeg 在windows 下的安装和使用(python, 合并音频和视频)...

    参考: windows下ffmpeg的安装与python调用   https://blog.csdn.net/chunjiekid/article/details/88205824 1. 下载 ffm ...

  2. 音视频开发(2)---red5+java打造直播平台系列 初级

    red5+java打造直播平台系列 初级 red5+java打造直播平台系列 (搭建调测) 前言:如今各式各样的直播平台,像雨后春笋般冒出来.本系列重零开始,基于RED5为服务器,通过JAVA编写后台 ...

  3. 音视频开发(1)---Red5流服务器搭建

    Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sunroyi666/articl ...

  4. 【音视频】在windows下搭建RTMP服务器(3-2)

    最近在使用ffmpeg进行rtmp推流开发,那么必须先搭建rtmp服务器. 一.搭建时需要用到的软件 1.下载 nginx 1.7.11.3 Gryphon 链接: http://nginx-win. ...

  5. 音视频开发基础入门|声音的采集与量化、音频数字信号质量、音频码率

    栏目介绍: 为了帮助开发者更好的理解音视频概念,进行音视频应用开发,ZEGO 即构科技联合内部音视频开发专家打磨了本套<音视频开发进阶>课程,帮助大家轻松入门并可以自己动手开发音视频 Ap ...

  6. 重磅音视频开发资料库!!!

    为了更好的阅读请前往GitBook 一.前言 这里整理有着丰富的音视频开发的学习资源.开发工具.优秀书籍.教程和开源项目,旨在帮助开发者和爱好者更好地学习.实践和工作.而下图是开发处理的过程: 二.学 ...

  7. 【新知实验室 三步完成Windows下实时音视频开发】

    三步完成Windows下实时音视频开发 第一步:开通产品 第二步:下载源码 第三步:编译源码 第四部:运行测试 背景介绍 实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度 ...

  8. 音视频开发5. ZLMediaKit库入门使用 编译安装

    音视频开发5. ZLMediaKit库入门使用 编译安装 一. ZLMediaKit 库简介 二.编译 三.生成物 1. MedisServer 2. SDK (c语言) 3. 测试程序 4. 问题处 ...

  9. JavaCV音视频开发宝典:使用JavaCV采集windows系统声音并录制成mp3音频文件(FFmpeg采集windows系统声音)

    <JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 之前已经写过很多采集windows.macos和linux本机麦克风声音的文章, ...

最新文章

  1. 【目标检测】(6) YOLOV2 目标检测在V1基础上的改进
  2. 求最大值_Excel求最大值地球人都知道,那要求出第2、第3、第N大值呢?
  3. 原生js实现发短信~chat
  4. 10-03视图的优缺点及注意事项
  5. pycharm 怎么对代码进行性能分析,消耗时间time (Run -- Profile 'xxxx')
  6. Redis基础高级学习笔记
  7. 只能输入正整数 已经常用的正则表达式
  8. 设计模式:Abstract Factory和Builder(比较区别,个人认为讲得很明白)
  9. SAP 设置或取消仓库不参与MRP运算(转)
  10. 值传递和引用传递传的到底是啥?
  11. Java 泛型中的PECS原则
  12. GDAL工具使用示例(一)
  13. 计算机网络的定义及答案,计算机网络习题库
  14. 系统封装教程(Win10案例)
  15. Reshaper的使用
  16. 安卓虚拟键盘_0202年了,苹果IOS和安卓系统的差距还大吗?
  17. 黑马Python(7)
  18. mysql扩展之mysqli
  19. [深入理解SSD系列综述 1.3] SSD及固态存储技术半个世纪发展史
  20. 老板电器:坏账与乌龙齐飞,主业难保新增长

热门文章

  1. 【嵌入式Linux】嵌入式Linux应用开发基础知识之串口应用编程
  2. 异步IO(来自博客园)
  3. [MFC] CDialog::DoModal()函数用法
  4. 拆 米家台灯_全网首拆:众筹价169元的米家屏幕挂灯拆解评测!柔光罩或成败笔...
  5. 云栖独栋别墅_云栖没有玫瑰
  6. 【Java数据结构与算法】第九章 顺序查找、二分查找、插值查找和斐波那契查找
  7. 项目分层思路——管家婆
  8. Django-restframework 之频率源码分析
  9. cx_Oracle模块
  10. ubuntu如何配置lxr