[转]RTMP 协议的一个 Java 实现:Flazr

标签: | 发表时间:2013-06-03 17:12 | 作者:zeo112140
出处:http://blog.csdn.net/zeo112140

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 的点播效果,源码如下:

[html]  view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">  
  3.     <mx:Script>  
  4.         <![CDATA[ 
  5.             [Bindable] 
  6.             private var TitleText:String = "<b>VideoDisplay Control:</b>" + "/n"  + "Use the buttons to control the video."; 
  7.         ]]>  
  8.     </mx:Script>  
  9.     <mx:VBox backgroundColor="0x323232" width="400" height="240" backgroundAlpha="1" horizontalAlign="center"  
  10.         borderThickness="4" borderColor="0x545454" cornerRadius="4" borderStyle="solid" paddingTop="5" >  
  11.    
  12.         <mx:Text width="75%" color="0xffffff" textAlign="center"  
  13.            htmlText="{TitleText}"/><!--使用html方式显示标题-->  
  14.    
  15.         <mx:VideoDisplay id="myVid" height="146" width="220" source="rtmp://localhost/vod/sample" autoPlay="false"/>  
  16.    
  17.         <mx:HBox>  
  18.             <mx:Button label="Play" color="0x00000" click="myVid.play();"/><!--控制按钮-->  
  19.             <mx:Button label="Pause" color="0x00000" click="myVid.pause();"/>  
  20.             <mx:Button label="Stop" color="0x00000" click="myVid.stop();"/>  
  21.         </mx:HBox>  
  22.    
  23.     </mx:VBox>  
  24. </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
作者:zeo112140 发表于2013-6-3 17:12:00 原文链接
阅读:6 评论:0 查看评论

相关 [rtmp 协议 java] 推荐:

[转]RTMP 协议的一个 Java 实现:Flazr

- - 小鸥的博客
Flazr 是 RTMP 协议的一个 Java 实现,这个项目提供了一个流媒体服务器和相关的工具类.         RTMP 流媒体服务器;.         支持视频点播,查找和暂停;.         发布 / 广播实况流;.         支持 FLV、F4V/MP4/H.264;.         RTMP 客户端:能够将本地文件发布到远程服务器; .

RTMP 协议学习总结

- - C++博客-牵着老婆满街逛
RTMP协议是一个互联网TCP/IP五层体系结构中应用层的协议. RTMP协议中基本的数据单元称为消息(Message). 当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk). 消息是RTMP协议中基本的数据单元. 不同种类的消息包含不同的Message Type ID,代表不同的功能.

流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

- - CSDN博客互联网推荐文章
          参考文档  RFC3550/RFC3551.          Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议. RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式. RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础.

JW Player 使用 RTMP 流

- - CSDN博客互联网推荐文章
        译序:JW Media Player 是开源的网页使用的 Flash 播放器. 本文采摘于 JW Player 的官方文档,讲解了 JW Player 对于 RTMP 的使用方法,我们可以从 JW Player 客户端的角度来了解 RTMP 协议.         RTMP ( Real Time Messaging Protocol 实时消息传输协议) 是一个用于将点播和直播媒体交付给 Adobe Flash 应用 (比如 JW Player) 的体系.

java实现JT809协议数据对接客户端

- - Java - 编程语言 - ITeye博客
最近使用JT809协议进行数据对接,遇到了不少问题,度娘谷歌都不好使,找不到很好的客户端实现代码的例子,只能苦逼的自己闷头弄,现在特意写篇帖子,希望能帮助一些人. 背景:跟某公司做数据对接,将本公司的一些信息推送到接收端. 要求:建立tcp链接,使用接收端提供的用户名密码等信息 先登录,登录成功后推送数据,数据采用JT809标准协议.

NGINX的流媒体插件 nginx-rtmp-module

- - 开源软件 - ITeye博客
战斗民族俄罗斯人民开发的一款NGINX的流媒体插件,除了直播发布音视频流之外具备流媒体服务器的常见功能. 基于HTTP的FLV/MP4 VOD点播. HLS (HTTP Live Streaming) M3U8的支持. 基于http的操作(发布、播放、录制). 可以很好的协同现有的流媒体服务器以及播放器一起工作.

RTMP 流媒体服务器 GitHub - arut/nginx-rtmp-module: NGINX-based Media Streaming Server

- -
几个优秀的RTMP 流媒体服务器:. NGINX-based Media Streaming Server:基于Nginx插件. SRS(Simple RTMP Server) over state-threads:基于C++. livego:基于go语言. node-rtsp-rtmp-server:基于 Node.js.

谷歌曾与Sun几近达成2800万美元Java许可协议

- SUN - cnBeta.COM
据国外媒体报道,谷歌上周末在向法院递交的文件中披露,由于对平台控制权存在分歧,谷歌和Sun有关联合开发Android的谈判最终破裂. 谷歌和Sun几近达成未来3年以2800万美元许可2000项Java专利的协议. 甲骨文去年收购了Sun,并起诉谷歌Android侵犯了与Java相关的专利和商标权.

GitHub - winshining/nginx-http-flv-module: Media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module supplies, HTTP-FLV, GOP cache and VHOST are supported now.

- -
MUSTbe enclosed by quotation marks, or arguments in url will be discarded (some shells not so smart will interpret "&" as "run in background").. ngx_rtmp_stat_modulemay not get statistics from a specified worker process in multi-processes mode, for HTTP requests are randomly distributed to worker processes.

RTMP流媒体服务端应用开发系列 – Nginx-Rtmp鉴权设置 | 贝壳博客

- -
鉴权验证在自建直播流媒体服务端应用中是非常重要的. 用以防止非法推流,控制收费播放盗链等场景. 目前各大直播云平台都支持url参数形式的鉴权验证法,例如rtmp://serverhost/app-name/stream-name?key=md5(secret+expires_timestemp)&time=expires_timestemp 这种既有私密key,又有时间戳过期判断的最简单形式,当然还能根据使用场景增加其他判断条件.