日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

[转]linux下的fms2流媒体服务器搭建六部曲之五-----flv播放器制作篇

發布時間:2025/7/14 linux 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]linux下的fms2流媒体服务器搭建六部曲之五-----flv播放器制作篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?很多人也許苦于找不到一個稍微簡單而又完整的flv播放器,我剛開始也找了很久找不到,后來干脆叫朋友幫忙做了個界面,然后自己添加代碼做了個,感覺還可以,這里我不敢獨享,把源碼公開給各位參考一下。

??? 要做flv播放器,首先你要明白fms2的工作目錄,它的工作目錄都在安裝目錄的applications目錄下,你需要新建一個目錄作為自己的工作目錄,比如我新建了gdrc,然后在gdrc里面新建一個streams目錄(這個目錄名不能改變),這樣,在streams下的所有子目錄都是你的應用了。默認是_definst_,我為了好管理自己建了video放置視頻flv文件,再建audio放置音頻,這樣我的目錄結構就是:applications/gdrc/streams/video、applications/gdrc/streams/audio、applications/gdrc/streams/_definst_。在上一篇中提到的格式轉換轉換的所有flv文件就是放在applications/streams/video目錄下。

??? 然后,來看看我的flv播放器吧,我是用flash8開發的,只需要幾個簡單的組件,視頻組件、播放按鈕、暫停按鈕、停止按鈕、時間軸再加下面的代碼就是一個flv播放器,在第一禎寫上下面的代碼:

stop();
var play_status = false;//視頻播放標記,true-正在播放;false-沒有播放
var connect_url = "rtmp://172.16.1.2/gdrc/video";//連接方式rtmp,注意這個連接的后面/gdrc/video跟上面提到的flv目錄applications/gdrc/streams/video是對應的。
var flv = stream;//動態播放flv,該參數名對應外面的參數名比如play.swf?stream=a表示播放a.flv,參數不需要.flv后綴名
var nc:NetConnection = new NetConnection();
var ns:NetStream;
nc.connect(connect_url);
var streamLength;//flv文件長度
bt_pause._visible = false;//設置暫停按鈕不可見
var startBF = 2;//開始緩沖秒數
var mainBF = 6;//空時緩沖秒數

//初始化
initStreams = function(){
?ns=new NetStream(nc);
?ns.setBufferTime(startBF);
?video.attachVideo(ns);//把ns附給video視頻組件
?ns.onStatus = Onstatus;//動態緩沖
};
//動態緩沖,緩沖區滿時為3秒,空的時候為10秒
function? Onstatus(infoObject:Object){
?trace(infoObject["code"]);
?if(infoObject["code"] == "NetStream.Buffer.Full"){
??ns.setBufferTime(startBF);
?}
?if(infoObject["code"] == "NetStream.Buffer.Empty"){
??ns.setBufferTime(mainBF);
?}
}

//測試連接
nc.onStatus = function(info) {
?trace(info.code);
?switch (info.code) {
??case "NetConnection.Connect.Success":initStreams();break;
?}
}

//緩沖
function checkBufferTime(ns:NetStream):Void{
??? var bufferPct:Number = Math.min(Math.round(ns.bufferLength/ns.bufferTime*100), 100);
?if(isNaN(bufferPct)){
??bufferPct = 0;
?}
??? buffer_txt = "緩沖:"+bufferPct+"%";;
};

//獲得文件長度,這個長度的獲取需要服務器端的支持,要在fms2服務器端編寫main.asc,后面會給出
function FileLength() {
?this.onResult = function(retVal) {
???streamLength = retVal;
?};
};

//播放
doPlay = function(){
?if(play_status == false){
??bar.ball._x = 0;
??play_status = true;
??ns.play(flv);
??//播放進度條
??bar.onEnterFrame=function(){
???nc.call("getFileLength", new FileLength(), flv);
???var nowPlayPercent=Math.round(ns.time/streamLength*100);
???if(isNaN(nowPlayPercent)){
????bar.ball._x = 0;
???}
???else{
????bar.ball._x = nowPlayPercent*490/100;
???}
???if(nowPlayPercent==99){
????play_status = false;
????bar.ball._x = 0;
????bt_play._visible = true;
????bt_pause._visible = false;
????//ns.close();
????delete this.onEnterFrame;
???}
??};
??//緩沖提示
??var buffer_interval:Number = setInterval(checkBufferTime, 100, ns);
?}
?else{
??ns.pause();
?}
};


//暫停
doPause = function(){
?ns.pause();
};


//停止
doStop = function(){
?play_status = false;
?bar.ball._x = 0;
?//ns.seek(0);
?//ns.pause(true);
?ns.close();
};

//開始播放
playNow.onRelease=function(){
?bt_play._visible = false;
?bt_pause._visible = true;
?doPlay();
};

//播放按鈕
bt_play.onRelease=function(){
?bt_play._visible = false;
?bt_pause._visible = true;
?doPlay();
};

//暫停按鈕
bt_pause.onRelease=function(){
?bt_play._visible = true;
?bt_pause._visible = false;
?doPause();
};

//停止按鈕
bt_stop.onRelease=function(){
?bt_play._visible = true;
?bt_pause._visible = false;
?doStop();
};

main.asc,放置到fms2安裝目錄的applications/gdrc目錄下

load("components.asc");

application.onAppStart = function() {};
application.onConnect = function(client) {
?application.acceptConnection(client);
?client.getFileLength = function(filename) {
??var tlen = Stream.length(filename);
??return tlen;
?};
?};


? ? 本文轉自 OldHawk ?博客園博客,原文鏈接:http://www.cnblogs.com/taobataoma/archive/2007/10/12/921992.html,如需轉載請自行聯系原作者





總結

以上是生活随笔為你收集整理的[转]linux下的fms2流媒体服务器搭建六部曲之五-----flv播放器制作篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。