我正在尝试使用Flex框架和red5服务器进行简单的视频聊天。这是一个带有2个视频显示器的应用程序。与服务器的连接或多或少想通了。但是,我不明白如何将user1流传输到user2。 这是我用来将网络摄像头图像传输到服务器并获取流的功能。
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解决问题,或者我需要在服务器端进行编程?
答案 0 :(得分:1)
你需要有两个“房间”而不是一个“视频聊天”。 User1必须发布到“videochat1”并从“videochat2”流式传输。对于user2反之亦然。 请删除此处的Flex提及,因为这里没有与Flex UI框架相关的内容
答案 1 :(得分:1)
您不需要单独的房间,只需为每个客户使用唯一的流名称。 ez方式是提前创建您的蒸汽名称并通过flashvars将它们传递给您的瑞士法郎;这样你就不必将它们与其他复杂的方案配对。
对于red5中的更多背景,房间是一种范围,范围可以包含其他范围,包括广播范围,共享对象范围和房间。除了服务器本身的RAM量之外,这些范围的数量没有限制。