RTMP 协议的一个 Java 实现:Flazr
Flazr 是 RTMP 协议的一个 Java 实现,这个项目提供了一个流媒体服务器和相关的工具类。
特性
RTMP 流媒体服务器;
支持视频点播,查找和暂停;
发布 / 广播实况流;
支持 FLV、F4V/MP4/H.264;
RTMP 客户端:能够将本地文件发布到远程服务器;
提供负载/压力测试(包括第三方 RTMP 服务器);
简洁紧凑(下载后小于 1.5 MB);
比较少依赖第三方包,设计用于嵌到其它应用程序中使用;
易于安装,下载之后就可以运行。
安装
要求 Java 6 以上环境;
下载 Flzar 二进制 ZIP 包:项目下载区;
将 ZIP 解压到你选定的地方。
使用 Flazr 服务器
打开命令行控制台并切换到 flazr 安装根目录;
根据你的操作系统选择使用批处理文件 "server-start" 启动 Flzar 服务器;
Flzar 目前只支持 FLV 和 F4V(H.264 avc1, mp4a) 格式;
将需要流化的视频文件放到 flazr 安装根目录下的 home/apps/vod 文件夹;
比如一个叫做 sample.flv 的文件可以在 rtmp://localhost/vod/sample 进行点播;
可以用 Flex Builder 3 来验证 sample.flv 的点播效果,源码如下:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ [Bindable] private var TitleText:String = "<b>VideoDisplay Control:</b>" + "/n" + "Use the buttons to control the video."; ]]> </mx:Script> <mx:VBox backgroundColor="0x323232" width="400" height="240" backgroundAlpha="1" horizontalAlign="center" borderThickness="4" borderColor="0x545454" cornerRadius="4" borderStyle="solid" paddingTop="5" > <mx:Text width="75%" color="0xffffff" textAlign="center" htmlText="{TitleText}"/><!--使用html方式显示标题--> <mx:VideoDisplay id="myVid" height="146" width="220" source="rtmp://localhost/vod/sample" autoPlay="false"/> <mx:HBox> <mx:Button label="Play" color="0x00000" click="myVid.play();"/><!--控制按钮--> <mx:Button label="Pause" color="0x00000" click="myVid.pause();"/> <mx:Button label="Stop" color="0x00000" click="myVid.stop();"/> </mx:HBox> </mx:VBox> </mx:Application>而一个名为 sample.f4v 的文件可以通过 URL rtmp://localhost/vod/mp4:sample.f4v 进行访问;
你可以在 flazr 安装根目录下的 conf/flazr.properties 文件中配置端口号。
使用 Flazr 客户端
发布一个本地文件到远程 RTMP 服务器:发布;
对一个远程 RTMP 服务器进行负载/压力测试:负载测试。
修改日志级别
如果使用中碰到一些问题,可以通过修改日志级别以获取更多详细信息:
在 flazr 安装根目录下的 conf/log4j.properties 的第一行里,将 "INFO" 改为 "DEBUG";
重启服务器。
原文链接:http://sourceforge.net/apps/mediawiki/flazr/index.php?title=Main_Page。