在多台FMS服务器之间共享流
FMS有一個非常重要的功能,那就是可以在多臺服務器之間共享流.
利用這一功能,我們可以把源服務器上的流分發到其它的服務器,這些獲得流的服務器同樣可以作為新的源服務器使用.這個功能有點象FMS集群.
我們都知道,利用WMP插件可以獲取網上的流媒體地址制作網絡電視臺,其實利用Flash和FMS同樣也可以實現.
在一臺服務器上采集電視信號,然后將采集的流PUB到IP為127.0.0.1的一個APP(假設是:tvSet)內,假設該流的名稱為"cctv1",
這樣,連接到該服務器的FP客戶端可以很輕易地獲取該流.但連接數一多,服務器可能就會負擔過重,這時就要開始考慮分流.
分流的方案至少有兩種,一種是利用代理服務器,一種就是我們要說的在多臺服務器之間共享流了.
那怎樣把流分發下去呢?
這第一臺源服務器不用再做任何事情,它只負責接收和PUB電視信號好了,我們另找一臺服務器,在FMS應用程序的main.asc中寫入以下代碼:
//程序啟動時執行
application.onAppStart = function() {
?this.myNC= new NetConnection();?
?this.myNC.onStatus = NC_onStatus;
?this.myNC.connect("rtmp://第一臺源服務器的地址/tvSet");
};
function NC_onStatus(info){??
???? switch (info.code) {
? case "NetConnection.Connect.Success" :
???? application.myStream = Stream.get("cctv1");
??? application.myStream.onStatus = NS_onStatus;
?? if (application.myStream){
??? application.myStream.play("cctv1",-2, -1,false,application.myNC);
?? }
???? trace("連接成功!");??
?? break;
? case "NetConnection.Connect.Failed" :
?? trace("連接失敗!");
?? break;
? case "NetConnection.Connect.Rejected" :
?? trace("連接失敗!");
?? break;
?}
}
function NS_onStatus(info){??
?? trace(info.code);???
}
這樣新的服務器就獲取了與第一臺源服務器同樣的流.
客戶端再連接的時候就不必再連接第一臺源服務器而連接到新的源服務器上,新的源服務器可以是一臺,也可以是多臺,這樣就將第一臺源服務器的負擔降到極小.
轉載于:https://www.cnblogs.com/hmmcsdd/archive/2007/10/10/zaiduotaifmsfuwuqizhijiangongxiangliu.html
總結
以上是生活随笔為你收集整理的在多台FMS服务器之间共享流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [文摘20070930]人际关系,你有五
- 下一篇: 看【奇葩说】有感而发,如果【可以杀1人救