为了构建一个网络会议平台,我在最近的一个项目中使用了bigbluebutton。我对服务质量不满意,注意到语音和视频之间存在延迟。
从技术上讲,BigBluButton使用Flex与red5服务器集成,该服务器将语音发送到Asterisk进行语音混合(Konference),并通过在Java中实现编解码器在本地处理视频。
BigBluButton做得很好,源代码也写得很好。据我所知,Flex仅限于媒体服务器实现的选择,比如不可能实现UDP SOTS等。
所以我的问题是,除了Flex之外,在浏览器中实现视频聊天应用的另一种方式。JavaFX是一个好的解决方案吗?
3条答案
按热度按时间mctunoxg1#
我是BigBlueButton的开发者之一。在最新版本的BigBlueButton(0.8)中,我们用FreeSWITCH替换了星号,并转向SPEEX协议。
我不是说BigBlueButton对你的应用程序来说足够好,但我建议你尝试最新的版本,因为你会注意到0.8中的音频延迟比0.71a中的要小得多。
看见
http://code.google.com/p/bigbluebutton/wiki/ReleaseNotes
向您致意,...弗雷德
BigBlueButton开发者
j8ag8udp2#
JavaFX是一个好的解决方案吗?
不是的。也许是在未来(比如明年的JavaFX 3.0),但不是现在。
目前,JavaFX没有内置摄像头或麦克风支持。
要自己构建这样的支持,您需要依赖一个非JavaFX库(如lti-civil),然后将其接口到一个JavaFX应用程序中。由于JavaFX仅仅是Java,而且可以将JavaFX应用程序控件嵌入到Swing小程序中,这一切都是可能的,所以您可以考虑这样做。要实现具有BigBlueButton所有功能的端到端解决方案,将需要大量的工作。
6ovsh4lw3#
您必须超越JavaFX API,深入Java API本身。
我认为纯Java小程序可以在90年代Flash还不存在的时候做麦克风和网络摄像头的事情。
您只需要使用核心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