《搭建流媒体服务器》由会员分享,可在线阅读,更多相关《搭建流媒体服务器(13页珍藏版)》请在金锄头文库上搜索。
1、使用Red5和FFMpeg搭建在线Flash流媒体分享平台Flash流媒体最近视频的东西比较火,前些天我也稍微了解了一下使用开源软件建在线Flash流媒体播放平台的解决方案,还是有一些收获。Red5是一款基于java的开源的Flash流媒体Server 软件,可以作为取代Macromedia提供的商业版本FMS。Red5使用RSTP作为流媒体传输协议,内置了一些示例,这些示例实现了在线录制, flash流媒体播放,在线聊天,视频会议等一些基本的功能。由于系统本身是开源的,在碰到问题的时候也比较容易解决,大不了直接改代码,在成本方面也可 以省下一笔不小的开销,为未来的功能扩展也提供了充分的空间。
2、如果仅仅是实现在线录制,在线播放,那么Red5也就差不多够了,但可能我们有时候还需要用户上传自己拍摄的视频文件,而要把这些视频文件转成可播放的flv文件就需要视频编码软件了。FFMpeg提供了录制,播放,视频流处理的完整解决方案。它自身也带了一个基于HTTP的流媒体广播程序以及其它几个实用的程序,但我们的重点还是它的视频转换程序,似乎Google Video也是用的它的程序作为视频转换工具。我用FFMpeg转了几个视频,效果还可以,在声音上碰到了一些问题,在不添加参数的情况下,有一部分视频的声音会有问题,有的视频无论怎么添加参 数,都出不来声音,报错提示的是不支持所带的声音采样格式,只支持几种
3、固定的格式,我看了一下代码,确实是这样子,但理论上应该是能够解决的。 FFMpeg自带的libavcodec是一套很牛的编码库,为了保证质量和性能,里面的很多codec都是从头开发的。这两个加起来,实现一些简单的在线视频功能就差不多了。RED5从下载到HELLO WORLD!D5Power Studio原创,转载请注明出处谢谢!RED5的中文资料象牛毛一样稀少。从下载到完全调试成功,大概花费了1天多的时间。在这个把中间出现的问题罗列出来,希望给想研究RED5的朋友一点帮助。需要用到的软件:RED5 0.6 RC2 : http:/osflash.org/red5Eclipse 3.2 : ht
4、tp:/www.eclipse.organt: http:/ant.apache.org/JDK: http:/ server来编译运行。下载安装包的朋友就不需要再用ANT来编译了(不过做开发的话,建议还是拖下来比较好,又不大,10几M而已)。Eclipse 是开发RED5服务器端的必须工具,JDK是RED5运行的必要环境。这里,我以SVN下载版为例来介绍配置。首先在Eclipse中用SVN插件(右上角有一个小加号的图标-other-SVN xxx)从RED5官方网站获得最新的代码(我下了至少两个小时,美国到中国好远啊。)SVN地址在RED5的官方网站,我下载的时候为http:/ out,然后
5、选择目标路径什么的就不再多说了。下载完成后,需要为Eclipse指定RED5的Build文件,在左边的列表顶端文件上点右键,然后选择External tools(工具栏绿色的PLAY图标,有红色锁的那个。),打开后选左侧择蚂蚁图标(ANT),右键-Creat,输入文件名 server_all,然后点第一行的浏览按钮,在弹出的窗口中选择build.xml,确定。然后选择target标签,在下面的选择中把all勾选, 并选中该行,然后Apply.再操作一次,新建server_server,同样选择build.xml,然后在target中把all的勾选取消,选择 server,同样选中该行,点App
6、ly.这个时候运行server_all,我在这里出现了错误(详细见上一篇日志),解决办法为修改build.properti中的JAVA版本号与本机实际JDK版本号一致。另外也有人说报其他错误,要修改BUILD.XML,但我没有遇到这个问题(参见http:/ SUCCESS的时候,恭喜你,编译成功咯。OK,接下来可以建立第一个应用程序了,为了省事,可以去RED5的webapps里面,把test直接复制一份,改名为demo,然后把里面除了 WEB-INF以外的其他文件删除,再进WEB-INF中,把src和class两个文件夹清空,在把除了这两个文件夹以外的其他文件夹删除(如果有的 话),现在终于清
7、净了,在Eclipse中把工作区设置在RED5的webapps,然后新建一个项目,命名为demo,这个时候你会发现刚才弄好的文件 夹demo中的内容已经显示在左边了:)右键选择src,Build Path-Use as Source Folder,将其指定为代码文件夹,然后在项目名demo上右键选择Properties,选择Java Bulid Path,在选择Source标签,在下面的Browse中选择Class目录,将其指定为目标目录。删除左边自动生成的BIN目录,OK!为了编译RED5程序,我们要把RED5的包导入到现在的项目中来。在项目名上点右键选择Properties,然后在Java
8、 Build Path中选择Libraries,点击Add External JERS将RED5中的red5.jar包含入项目。然后,就可以按照RED5自带的指导文件建立第一个RED5程序啦!公司今天需要装一台RED5的服务器用来开发程序。发现RED5的0.6已经正式放出,以前我写过一篇关于用SVN进行抽取,然后建立RED5项目的文章。而对于一般的开发者来说,不需要去修改RED5本身的程序,只需要建立自己的应用程序就可以了。现在把建立过程记录下来,希望对各位有所帮助。本文适合第一次接触RED5(WIN平台下),而不知道如何开始建立自己的应用程序的用户。流程:1.下载最新版本的RED5 http
9、:/osflash.org/red52.安装RED5,注意在安装RED5前要先安装好JRE,安装RED5的时候会要求指定JRE的目录的。3.到RED5的安装目录,找到doc/templates目录,该目录中存放了一个标准的RED5应用程序模版myapp,将其复制到RED5安 装目录中的webapps目录下,并改名为你喜欢的文件夹名,比如你要开发一个聊天的程序,那么可以把myapp改为myChat,这个名字就是以后你要 连接的服务名了。4.在WEB-INF中新建一个文件夹src用来存放程序的源代码,新建一个classes文件夹用来存放编译后的文件。5.打开Eclipse,将工作区指定为RED5安
10、装目录下webapps,然后新建一个项目,项目名为myChat.这个时候你应该发现刚才 myChat中的文件都被加载进来了,我们首先把src目录指定为源代码目录,右键选择src,在弹出的菜单中选择Build Path-Use as Source Folder,即将其指定为代码文件夹。接下来要指定项目的目标目录,在项目名上右键选择Properties,选择Java Bulid Path,在选择Source标签,在下面的Browse中选择Class目录,将其指定为目标目录。然后选择Libraries,点击Add External JARs,将RED5安装目录下的red5.jar包含进来。6.这个时
11、候,在Eclipse的左边应该多了WEB-INF/src这样一个东东,我们将要在这里开始写入我们的第一个项目代码。右键选择它,在 弹出的菜单中选择New-Package,新建一个包,举例,包名可以为org.d5.first,然后再在生成的org.d5.first这个 包上继续右键选择New-File,输入文件名Application.java。并在建好的文件中输入以下代码:package org.d5.first; import org.red5.server.adapter.ApplicationAdapter;public class Application extends Applica
12、tionAdapter public String login()return Welcome to Chat Servers;7.进行配置。编辑WEB-INF下的red5-web.xml,找到bean id=”web.handler”一句,将class=”XXX”中的XXX位置修改为org.d5.first.Application,这样本程序将 以刚才写的Application来运行。删除后面的bean id=”server.handler整句,因为我们暂时用不到这个东东。编辑web.xml,找到webAppRootKey,将其下面的param -value标签中的值修改为/myChat。编
13、辑red5-web.properties,将第一句修改为webapp.contextPath= /myChat8.编译项目9.重新启动RED5服务器10.在FLASH中新建一个文件,输入以下代码:nc = new NetConnection();nc.connect(rtmp:/localhost/myChat); nc.onResult = function(obj)trace(obj);nc.call(login,nc);运行程序,显示结果为Welcome to Chat Servers。第一个RED5应用程序诞生了,呵呵:)Red5 简单安装指南howtoRed5是个开源的flash服务
14、器,相对fms 4500$的一个lic的价格,能省好多钱哦,今天就测试安装一下Red51.配置java环境去sun网站下载最新的jdk1.5.0_07,怎么安装不说了,直接解压安装到/usr/java/jdk1.5.0_07目录然后在/etc/profile添加以下几句信息export PATH=$PATH:/usr/java/jdk1.5.0_07/bin:/usr/java/jdk1.5.0_07/jre/binexport JAVA_HOME=/usr/java/jdk1.5.0_07export CLASSPATH=./:/usr/java/jdk1.5.0_07/lib:/usr/java/jdk1.5.0_07/jre/libexport LD_LIBRARY_PATH=/usr/java/jdk1.5.0_07/jre/lib/i386:/usr/java/jdk1.5.0_07/jre/lib/i386/server注意,默认的as4可能自带java,把自带的先删除了!2.安装apche-ant去apache网站下载最近的版本,安装方法跟jdk差不多,也是解压到/usr/local/ant目录然后在/etc/profile添加以下几句信息export ANT_HOME=/usr/local/antexport PATH=$PATH:/usr/local/ant/b