`

开源视频会议bigbluebutton开发(3)——架构体系图

阅读更多

 


体系结构概述


bbb使用nginx(engine x)作为代理服务器将请求发送给bbb客户端,tomcat6调用api,支持当客户端连接使用RTMPT(port 80, RTMPT 协议是HTTP协议的扩展,Adobe的Flash Player和media server支持。RTMPT的命令基本都是用来控制网络连接的持久性的。)代替RTMP(port 1935,RTMP 全称Routing Table Maintenance Protocol(路由选择表维护协议) 在 AppleTalk 协议组中,路由选择表维护协议(RTMP,Routing Table Protocol)是一种传输层协议,它在 AppleTalk 路由器中建立并维护路由选择表。)时支持http通道!

1,Ngnix代理bbb-web和bbb-aps来支持RTMPT服务bbb-client!

2,Grails应用负责操作创建会议和调度,同时负责加入会议登进登出!

3,负责将pdf资料转换成flash!

4,当SWFTools无法进行转换时,负责将pdf演示文档转换成flash,当然,会生成缩略图!

5,bbb-web与bbb-apps之间的信息通道!

6,red5负责同步会议的各个参与者!

7,负责监听用户的事件,如进入或者离开会议,并且发送命令到FreeSWITCH!

8,语音会话服务!

9,一个链接asterisk的语音应用

10,桌面共享

11,视频会话


BBB RED5 APPS

red5作为主要的与客户端的交互服务!




1,BBB应用的主要入口

2,不同的BBB应用

3,负责客户端的加入,离开,应用的建立,记录以及通知

4,负责处理来自客户端的远程调用

5,使用sharedObject来同步所有的客户端

6,语言应用使用AMI来监听事件,并且发送命令道freeswitch(一个跨平台的开源电话交换平台)

7,展示应用监听来自bbb-web的文档转换更新信息!

8,视频会话应用!

9,语音会话应用!

10,桌面共享应用!

 

参加一个语音会议的图解流程

 



 1,用户使用移动电话或者软件电话进行呼叫

1a,用户利用已经潜入客户端的网络电话进行呼叫

2,将呼叫者加入会话,更新事件和用户状态

3,客户端显示用户已经加入会话

4,例如调度者关闭一个用户的会话

5,使freeswitch沉默用户的信息发送已经事件

 

上传展示资料



 1,上传pdf文档

2,请求发给bbb-web

3,使用pdf2swf来完成swf的转换

3a,如果上步失败,用imagemagick和ghostscript( ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式!Ghostscript是一套建基于Adobe、PostScript及可移植文档格式(PDF)的页面描述语言等而编译成的免费软件)进行转换

4,发送会话更新

5,更新上传者会话

 

桌面共享


1,应用调用blockManaer来传递屏幕尺寸

2,blockfactory安装screen video codec v1中的说明来创建block

3,blockStreamsender向服务器发送ScreenCaptureStart

4,BlockMessageReceiver解码信息,并发送给sessionManager

5,ScreenManger创建会话的同时,创建了BlockManager,BlockManager调用BlockFactory创建Bloocks!Bolcks会       拿到来自客户端的SVC!的数据

6,会话创建了一个桌面共享流,并且告诉客户端开始桌面共享了!

7,screenVideoViewer构建食品播放流数据

8,ScreenCaptureTasker利用JAVA Robot搞屏幕快照,并且通知BlockManager进行更新

9,BlockStreamSender拿到所有的blocks从blockmanager,BLock调用ScreenVideoEncoder对当前的屏幕进行编码,如果block已经改变,利用ScreenCaptureUpdate发送svc1编码过的数据到服务器

10,BlockStreamReceiver编码ScreenCapterUpdate的信息,然后转递解码的信息到SessionManager,然后根据信息来决定会话,并且传递数据

11,Session传递数据到BlockManager来存储并且统一client的block

12,BlockManager定期的通知FrameGenerator创建SVC1使用来自它本身管理的Blocks

13,FrameGenerator传递播放SVC1流给客户端视频流播放

14,ScreenVidelViewer来播放SVC1 frame

 

 

集成好的VOIP(red5 phone)

VoIP(Voice over Internet Protocol)简而言之就是将模拟声音讯号(Voice)数字化,以数据封包(Data Packet)的形式在 IP 数据网络 (IP Network)上做实时传递。VoIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。VoIP可以在IP网络上便宜的传送语音、传真、视频、和数据等业务,如统一消息、虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电视会议、电子商务、传真存储转发和各种信息的存储转发等。



 1,参与者点击按钮参与会议

2,sip应用调用会议标识来参加会议

3,客户端状态更新

 

本文有些地方可能写的有失误的地方,望海涵~,转载请表明出处http://yangactive.iteye.com/blog/1622191





2
7
分享到:
评论
16 楼 anruikemagical 2015-10-09  
楼主
这原文有英文版的吗?
15 楼 luhantu 2013-08-07  
图片怎么都没见了……
14 楼 zjj19900805 2013-05-30  
桌面共享的图好模糊啊。。。而且有些地方对不上。。但是十分长见识。帮了我大忙谢谢
13 楼 zhuangnet 2013-04-11  
不知道是我水平有限,还是作者表达有问题。

架构图看不懂。。。

表面上有编号,实际上这些编号一点连惯性都没有。
12 楼 小月峰 2012-11-28  
楼主你语音那里的结构图,我找了半天硬是没有发现 2在哪里哦
11 楼 liliang_xf 2012-08-09  
yangactive 写道
liliang_xf 写道
yangactive 写道
liliang_xf 写道
楼主头像应该换个好一点的照片,这样流量才会猛的提升阿。

擦,你们这群小屁孩儿~

我可不是什么小屁孩阿, 程序员老一代了。

敢不敢讨论点技术问题~

哈哈, 以你目前的能力, 没有什么大的技术问题可以讨论。
10 楼 yangactive 2012-08-08  
liliang_xf 写道
yangactive 写道
liliang_xf 写道
楼主头像应该换个好一点的照片,这样流量才会猛的提升阿。

擦,你们这群小屁孩儿~

我可不是什么小屁孩阿, 程序员老一代了。

敢不敢讨论点技术问题~
9 楼 liliang_xf 2012-08-07  
yangactive 写道
liliang_xf 写道
楼主头像应该换个好一点的照片,这样流量才会猛的提升阿。

擦,你们这群小屁孩儿~

我可不是什么小屁孩阿, 程序员老一代了。
8 楼 jinnianshilongnian 2012-08-06  
zhoujin3 写道
jinnianshilongnian 写道
zhoujin3 写道
wecley 写道
maxliz 写道
好吧 我承认我也是来看头像的!

我也是,组个队,一起看

我也是,组个队,一起看

这样算。。。。

如果告诉你 他是男扮女 


那就!@#¥%……&*了他

你懂的!!!

不懂
7 楼 zhoujin3 2012-08-06  
jinnianshilongnian 写道
zhoujin3 写道
wecley 写道
maxliz 写道
好吧 我承认我也是来看头像的!

我也是,组个队,一起看

我也是,组个队,一起看

这样算。。。。

如果告诉你 他是男扮女 


那就!@#¥%……&*了他

你懂的!!!
6 楼 jinnianshilongnian 2012-08-06  
zhoujin3 写道
wecley 写道
maxliz 写道
好吧 我承认我也是来看头像的!

我也是,组个队,一起看

我也是,组个队,一起看

这样算。。。。

如果告诉你 他是男扮女 
5 楼 zhoujin3 2012-08-06  
wecley 写道
maxliz 写道
好吧 我承认我也是来看头像的!

我也是,组个队,一起看

我也是,组个队,一起看

这样算。。。。
4 楼 yangactive 2012-08-06  
liliang_xf 写道
楼主头像应该换个好一点的照片,这样流量才会猛的提升阿。

擦,你们这群小屁孩儿~
3 楼 liliang_xf 2012-08-06  
楼主头像应该换个好一点的照片,这样流量才会猛的提升阿。
2 楼 wecley 2012-08-06  
maxliz 写道
好吧 我承认我也是来看头像的!

我也是,组个队,一起看
1 楼 maxliz 2012-08-06  
好吧 我承认我也是来看头像的!

相关推荐

    BigBlueButton一个开源的Web视频会议系统和远程教育系统

    BigBlueButton是一个强大的开源项目,专门针对远程教育和在线协作设计。它提供了丰富的功能,使得网络教学和视频会议变得高效且互动性强。这个系统的核心目标是创造一个接近真实教室体验的虚拟环境,让教师和学生...

    BigBlueButton:开源视频会议bigbluebutton

    BigBlueButton是用于在线学习的开源Web会议系统。 我们相信,每个使用Web浏览器的学生都应能够获得高质量的在线学习经验。 我们打算使用BigBlueButton使其成为可能。 BigBlueButton支持幻灯片(PDF和LibreOffice...

    PHP实例开发源码——迅睿PHP开源视频电影CMS系统.zip

    【PHP实例开发源码——迅睿PHP开源视频电影CMS系统】是一个基于PHP编程语言的开源内容管理系统,专门用于构建视频和电影网站。这个系统提供了一整套功能,帮助用户高效地管理和展示多媒体内容,同时也为开发者提供了...

    开源Android离线地图开发——Bigplanet

    在Android平台上进行离线地图开发是一项重要的技术,它允许用户在无网络连接的情况下查看和使用地图数据。Bigplanet是一款开源的Android离线地图解决方案,它为开发者提供了丰富的功能和自定义选项,使得创建本地化...

    PHP实例开发源码——DSKMS在线培训开源视频管理系统.zip

    【标题】"PHP实例开发源码——DSKMS在线培训开源视频管理系统.zip" 提供的是一套基于PHP语言实现的在线培训视频管理系统的源代码。这个系统可能包含了用于上传、存储、分类、播放以及管理在线视频课程的所有必要功能...

    PHP实例开发源码——8tupian图片加密平台.zip

    【PHP实例开发源码——8tupian图片加密平台】是一个基于PHP编程语言构建的图片加密平台项目。这个平台主要用于保护图片的安全性,通过特定的加密算法,将原始图片转化为无法直接查看的形式,只有经过解密处理才能...

    PHP实例开发源码——phpBB 3.1.9 繁体中文版.zip

    【标题】"PHP实例开发源码——phpBB 3.1.9 繁体中文版.zip" 提供了一个基于PHP编程语言的开源讨论板软件——phpBB的源代码,版本为3.1.9,并且是繁体中文语言版本。phpBB是一个流行的网络论坛系统,用于创建在线社区...

    PHP实例开发源码——BidCms模仿Pinterest的开源图片分享系统.zip

    【PHP实例开发源码——BidCms模仿Pinterest的开源图片分享系统】 PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域中占据了重要的地位。这个实例项目“BidCms模仿Pinterest的开源图片分享系统”是基于PHP进行...

    超全 Lotus Domino Xpages 开发资料——lotus开发同步关系数据库归类资料

    超全 Lotus Domino Xpages 开发资料——lotus开发同步关系数据库归类资料 大全通过分类提供给大家,请大家根据需要下载 全开源,并且一看就懂,不保留 https://blog.csdn.net/weijia3624/article/details/107013401

    一个开源的视频会议软件源码

    标题中的“一个开源的视频会议软件源码”指的是一个可供公众查看、修改和分发的视频会议系统的原始代码。这通常意味着它遵循某种开源许可证,允许开发者社区参与项目的改进和定制,以满足不同用户的需求。 描述中...

    PHP实例开发源码——TalkPiece php开源垂直社区 v1.0 beta.zip

    【标题】"PHP实例开发源码——TalkPiece php开源垂直社区 v1.0 beta.zip" 涉及到的是一个基于PHP编程语言的开源社区项目,TalkPiece,它是一个专为特定兴趣群体或领域设计的社交平台。这个版本是v1.0 beta,意味着它...

    PHP实例开发源码——TPshop开源商城源码 php版.zip

    【标题】"PHP实例开发源码——TPshop开源商城源码 php版.zip" 提供的是一个基于PHP语言的电子商务平台源代码,TPshop是一个流行的开源电商系统,它为开发者提供了构建在线商店的基础框架。这个压缩包包含的是TPshop...

    PHP实例开发源码——ThinkSNS 开源社交系统正式版.zip

    【标题】"PHP实例开发源码——ThinkSNS 开源社交系统正式版.zip" 提供的是一个基于PHP语言开发的开源社交系统ThinkSNS的完整源代码。这个系统旨在为开发者提供一个构建社区、社交网络平台的基础框架,帮助开发者快速...

    JSP实例开发源码——JdonFramework开源框架.zip

    《JSP实例开发源码——JdonFramework开源框架》 JSP(JavaServer Pages)是一种在服务器端运行的编程技术,用于生成动态网页内容。它允许开发者将HTML代码与Java代码混合编写,使得Web应用的开发更为便捷。JSP实例...

    PHP实例开发源码——下载系统 开源正式版.zip

    3. **MVC架构**:为了保持代码的可维护性和可扩展性,开发者可能会采用MVC(Model-View-Controller)架构,将业务逻辑、数据模型和用户界面分离。 4. **文件管理**:下载系统的核心功能是处理文件上传和下载。这...

    GitHub上有不错的 C 开源项目?(csdn)————程序.pdf

    FastDFS特别适合于那些以文件为载体的在线服务,比如图片、视频和文档等。FastDFS使用专有API进行访问,并提供了C语言和Java语言的SDK,以及PHP扩展的SDK。FastDFS的架构相对简单,且特别适合解决大容量文件存储的...

    开源硬件平台(7)——近期新面孔.演示稿

    开源硬件平台的发展不仅降低了嵌入式软硬件开发的学习门槛,也加速了创意的实现过程,使得创新变得更加容易。开源硬件项目强调的是四个核心理念:任何人都可以自由使用,探知原理,自由修改,以及自由地重新分发。 ...

    开源有益性激活中国Linux——专访Red Hat公司执行副总裁Katc Johnson.pdf

    《开源有益性激活中国Linux——专访Red Hat公司执行副总裁Katc Johnson》这篇文章主要探讨了开源软件,特别是Linux操作系统在中国的发展,以及Red Hat公司在此过程中的角色和策略。Red Hat作为全球最大的开源系统...

Global site tag (gtag.js) - Google Analytics