我在最近的项目中使用bigbluebutton来构建网络会议平台。我对服务质量不满意,发现语音和视频之间有延迟。
技术上bigbluebutton使用Flex与red5服务器集成,该服务器将语音发送到Asterisk进行语音混合(Konference),并通过在java中实现编解码器来本地处理视频。
Bigbluebutton做得非常好,来源写得非常好。据我所知,Flex自身仅限于选择媒体服务器实现,例如无法实现UDP sokets等。
所以我的问题是,与Flex不同的另一种方式是在浏览器中实现视频聊天应用程序。 JavaFX是一个很好的解决方案吗?
答案 0 :(得分:4)
我是BigBlueButton的开发者之一。在最新版本的BigBlueButton(0.8)中,我们用FreeSWITCH取代了Asterisk并转移到了speex协议。
我不是说BigBlueButton对你的应用程序来说已经足够好了,但是我建议你试试最新版本,因为你会注意到音频的延迟远低于0.71a中的音频延迟。
见
http://code.google.com/p/bigbluebutton/wiki/ReleaseNotes
BigBlueButton开发人员
答案 1 :(得分:3)
JavaFX是一个很好的解决方案吗?
没有。也许将来(例如明年的JavaFX 3.0),但不是现在。
JavaFX目前没有内置摄像头或麦克风支持。
要自己构建这样的支持,您需要依赖非JavaFX库(例如lti-civil),然后将其连接到JavaFX应用程序。由于JavaFX只是Java和JavaFX应用程序控件可以嵌入到Swing小程序中,所以这一切都是可能的,所以你可以考虑它。要了解具有BigBlueButton所有功能的端到端解决方案,将会有很多工作。
答案 2 :(得分:2)
您必须超越JavaFX API并进入Java API本身。
我认为,当Flash甚至不存在时,Pure Java Applets可以在90年代做麦克风和网络摄像头。
您只需要使用核心Java类,如JMF,JNI,JNDI
例如http://blog.boehme.me/2011/05/jmf-video-chat-explained-local-webcam.html
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html