我正在努力获得一个与Flash Media Server一起使用的实时视频聊天的基本示例,但无论我怎么努力,它都不适合我。
我正在使用此网页上的教程和代码:http://www.derekentringer.com/blog/fms-video-chat/
我有两台服务器:一台Web服务器和一台媒体服务器。在媒体服务器上,我安装了FMS,并确保端口1935已打开,以便在Web和媒体服务器之间进行通信。
我认为我的问题是如何设置我的FMS实例。在本教程中,他使用Influxis.com托管的FMS解决方案。我正在使用自己安装了FMS的媒体服务器。有谁知道如何设置我的FMS实例,以便我可以使这个工作?
在Web服务器上,我有两个不同的文件夹(user1和user2),每个文件夹都有一个html文件和一个swf文件连接到网络摄像头,然后通过rtmp将网络摄像头的流连接到媒体服务器。
这是我在SWF文件上的代码。
//setup the camera and mic for streaming
mycam = Camera.get();
mycam_audio = Microphone.get();
//control the cameras mode and quality
mycam.setMode(320,240,30);
mycam.setQuality(10000,100);
//attach a live preview of the camera to the
//video object that is setup on the stage
cam_feed.attachVideo(mycam);
cam_feed.attachAudio(mycam_audio);
//connect to the Flash Media Server
client_nc = new NetConnection();
client_nc.connect("rtmp://corpwebdevmedia1/test"); // I've tried server name and IP
cam_ns = new NetStream(client_nc);
//attach our camera video and audio to the net stream
cam_ns.attachVideo(mycam);
cam_ns.attachAudio(mycam_audio);
//publish to our Flash Media Server as a
//live stream called user_2
cam_ns.publish("user_2", "live");
// user_1 for the other one
//bring in user_1's video/audio
in_ns = new NetStream(client_nc);
in_ns.play("user_1");
// user_2 for the other one
//attach user_1's published audio and video
//so we can see them in the larger chat window
live_feed.attachVideo(in_ns);
live_feed.attachAudio(in_ns);
完成所有操作后,我会转到本地计算机并将浏览器导航到Web服务器上的html文件。页面连接到每个页面上的相机,但它们从不连接在一起。
有什么建议吗?
感谢。
答案 0 :(得分:1)
我不确定这是否适用于所有相机,但至少在我开发类似的应用程序时,我遇到了同样的问题,问题的原因是两个应用程序无法共享同一个相机。
换句话说,您无法同时使用Skype和Flash播放器应用程序进行视频聊天。 两个Flash播放器应用程序也是如此 - 它们不能同时使用相同的相机输入。所以尝试连接另一台摄像机,或者测试两台电脑(这就是我所做的)。如果您使用单个系统进行测试,您将在音频设置方面遇到更多问题(虽然我无法准确记住错误,但在尝试模拟完整音色时,我确实遇到了许多尝试静音或更改音量的问题在一个系统上进行2人聊天)
另一个问题可能是您为两个应用程序使用相同的流名称,是否在其中一个应用程序中切换了“user_2”和“user_1”?