2012-03-26 47 views
1

我正在嘗試使用Flex框架和red5服務器進行簡單的視頻聊天。這是一款帶2個視頻顯示器的應用程序。連接到服務器或多或少地想通了。但是,我不明白如何將user1流傳輸到user2。 這裏是我用於將網絡攝像頭圖像傳輸到服務器並獲取流的功能。使用as3進行簡單的視頻聊天

public function appendStream(connection:NetConnection):void { 
      myNetStream = new NetStream (connection); 
      myNetStream.attachAudio(cameraVideo.getMic()); 
      myNetStream.attachCamera(cameraVideo.getCam()); 
      myNetStream.publish("videochat" , "live");   
     } 

public function getStream(connection:NetConnection):Video { 
      guestNetStream = new NetStream(connection); 
      video2.attachNetStream (guestNetStream); 
      guestNetStream.play("videochat"); 
      return video2; 
     } 

正如你所看到的,我得到了我自己的流。

是否有可能通過flex解決問題,或者我需要在服務器端進行編程?

回答

1

您不需要單獨的房間,只需爲每個客戶端使用唯一的流名稱。這種方式是提前創建你的蒸汽名稱,並通過flashvars將它們傳遞給你的swf;這樣你就不必將它們與其他複雜的方案配對。
對於red5中的更多背景,房間是一種範圍,範圍可以包含其他範圍,包括廣播範圍,共享對象範圍和房間。除了服務器本身的RAM數量外,這些範圍的數量沒有限制。

1

你需要有兩個「房間」,而不是一個「視頻聊天」。用戶1必須發佈到「videochat1」和來自「videochat2」的流。 user2反之亦然。 並且請刪除Flex,因爲這裏沒有任何與Flex UI框架相關的東西