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" backgroundAlpha="1" horizontalAlign="center"
        borderThickness="4" borderColor="0x545454" cornerRadius="4" borderStyle="solid" paddingTop="5" >
 
        <mx:Text color="0xffffff" textAlign="center"
          htmlText="{TitleText}"/><!--使用html方式显示标题-->
 
        <mx:VideoDisplay source="rtmp://localhost/vod/sample" autoPlay="false"/>
 
        <mx:HBox>
            <mx:Button label="Play" color="0x00000"/><!--控制按钮-->
            <mx:Button label="Pause" color="0x00000"/>
            <mx:Button label="Stop" color="0x00000"/>
        </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://www.heiqu.com/65b89caa6e3ea6e19a8c7ec47d945e8d.html