音视频开发(4)---Windows下Red5安装与使用入门
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安装与使用入门相关推荐
- python中使用ffmpeg合并音频与视频_ffmpeg 在windows 下的安装和使用(python, 合并音频和视频)...
参考: windows下ffmpeg的安装与python调用 https://blog.csdn.net/chunjiekid/article/details/88205824 1. 下载 ffm ...
- 音视频开发(2)---red5+java打造直播平台系列 初级
red5+java打造直播平台系列 初级 red5+java打造直播平台系列 (搭建调测) 前言:如今各式各样的直播平台,像雨后春笋般冒出来.本系列重零开始,基于RED5为服务器,通过JAVA编写后台 ...
- 音视频开发(1)---Red5流服务器搭建
Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sunroyi666/articl ...
- 【音视频】在windows下搭建RTMP服务器(3-2)
最近在使用ffmpeg进行rtmp推流开发,那么必须先搭建rtmp服务器. 一.搭建时需要用到的软件 1.下载 nginx 1.7.11.3 Gryphon 链接: http://nginx-win. ...
- 音视频开发基础入门|声音的采集与量化、音频数字信号质量、音频码率
栏目介绍: 为了帮助开发者更好的理解音视频概念,进行音视频应用开发,ZEGO 即构科技联合内部音视频开发专家打磨了本套<音视频开发进阶>课程,帮助大家轻松入门并可以自己动手开发音视频 Ap ...
- 重磅音视频开发资料库!!!
为了更好的阅读请前往GitBook 一.前言 这里整理有着丰富的音视频开发的学习资源.开发工具.优秀书籍.教程和开源项目,旨在帮助开发者和爱好者更好地学习.实践和工作.而下图是开发处理的过程: 二.学 ...
- 【新知实验室 三步完成Windows下实时音视频开发】
三步完成Windows下实时音视频开发 第一步:开通产品 第二步:下载源码 第三步:编译源码 第四部:运行测试 背景介绍 实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度 ...
- 音视频开发5. ZLMediaKit库入门使用 编译安装
音视频开发5. ZLMediaKit库入门使用 编译安装 一. ZLMediaKit 库简介 二.编译 三.生成物 1. MedisServer 2. SDK (c语言) 3. 测试程序 4. 问题处 ...
- JavaCV音视频开发宝典:使用JavaCV采集windows系统声音并录制成mp3音频文件(FFmpeg采集windows系统声音)
<JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 之前已经写过很多采集windows.macos和linux本机麦克风声音的文章, ...
最新文章
- 【目标检测】(6) YOLOV2 目标检测在V1基础上的改进
- 求最大值_Excel求最大值地球人都知道,那要求出第2、第3、第N大值呢?
- 原生js实现发短信~chat
- 10-03视图的优缺点及注意事项
- pycharm 怎么对代码进行性能分析,消耗时间time (Run -- Profile 'xxxx')
- Redis基础高级学习笔记
- 只能输入正整数 已经常用的正则表达式
- 设计模式:Abstract Factory和Builder(比较区别,个人认为讲得很明白)
- SAP 设置或取消仓库不参与MRP运算(转)
- 值传递和引用传递传的到底是啥?
- Java 泛型中的PECS原则
- GDAL工具使用示例(一)
- 计算机网络的定义及答案,计算机网络习题库
- 系统封装教程(Win10案例)
- Reshaper的使用
- 安卓虚拟键盘_0202年了,苹果IOS和安卓系统的差距还大吗?
- 黑马Python(7)
- mysql扩展之mysqli
- [深入理解SSD系列综述 1.3] SSD及固态存储技术半个世纪发展史
- 老板电器:坏账与乌龙齐飞,主业难保新增长
热门文章
- 【嵌入式Linux】嵌入式Linux应用开发基础知识之串口应用编程
- 异步IO(来自博客园)
- [MFC] CDialog::DoModal()函数用法
- 拆 米家台灯_全网首拆:众筹价169元的米家屏幕挂灯拆解评测!柔光罩或成败笔...
- 云栖独栋别墅_云栖没有玫瑰
- 【Java数据结构与算法】第九章 顺序查找、二分查找、插值查找和斐波那契查找
- 项目分层思路——管家婆
- Django-restframework 之频率源码分析
- cx_Oracle模块
- ubuntu如何配置lxr