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。