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>