开源视频会议BigBlueButton 0.81二次开发API

开源视频会议BigBlueButton 0.81二次开发API开源视频会议BigBlueButton0.81二次开发API本文是copy一位博友的,为了不丢失这篇文章,谢谢。BigBlueButton是一个视频会议软件,它的演示环境和开发环境的搭建,网上都有很多的资料,为了便于二次开发,我整理了一下BBB的常用功能API接口,供参考:BigblueButton调用API,只需一个HTTP请求一个URL,查询参数提供呼叫所需要的信

大家好,又见面了,我是你们的朋友全栈君。

 

开源视频会议BigBlueButton 0.81二次开发API

本文是copy一位博友的,为了不丢失这篇文章,谢谢。

BigBlueButton是一个视频会议软件,它的演示环境和开发环境的搭建,网上都有很多的资料,为了便于二次开发,我整理了一下BBB的常用功能API接口,供参考:

BigblueButton调用API,只需一个HTTP请求一个URL,查询参数提供呼叫所需要的信息,API返回一个XML响应;

BigblueButton 0.81 API分为三大类,描述管理功能的API方法、描述监控功能的API方法、描述录制功能的API方法,每个模块有自己的URL接口;

一、管理(描述管理功能的API方法):

1.      创建会议(create):

参数

必需/可选

类型

描述

name

可选

String

会议名称

meetingID

必需

String

会议ID被第三方应用程序用于识别本次会议。对服务器来说,正在调用的会议ID必须是唯一的

attendeePW

可选

String

用户加入会议密码

moderatorPW

可选

String

创建者管理密码

welcome

可选

String

欢迎词。当与会者进入会议时,该欢迎信息会显示在聊天窗口上,可以设置一个默认的欢迎信息在bigbluebutton.properties属性配置文件中

diaNumber

String

与会者使用普通电话接入会议的拨号号码,可以在bigbluebutton.properties属性配置文件中设置一个默认的拨号号码

voiceBridge

可选

String

与会者加入语音电话会议的语音电话会议号码。在默认的 Asterisk设置中,它是一个PIN密码,5位数字,拨号用户必须输入该密码才能参加会议,如果想要改变这种模式,必须编辑/etc/asterisk/bbb_extensions.conf文件。如果使用的是默认FreeSWITCH的设置,建议总是通过一个5位数的voiceBridge参数—数字’7’开始。如果不为voiceBridge传递一个值,那么用户将不能够参加一个会议的语音会议

webVoice

可选

String

参与者进入加入语音会议的语音会议alphanumberic

logoutURL

可选

String

点击“你已从会议中登出”的OK按钮时转入的URL,这个参数可以取代bigbluebutton.properties中bigbluebutton.web.loggedOutURL属性的定义

record

可选

String

设定“record= true’ 表示BigBlueButton的服务器会话中的媒体和事件将被录制供以后播放。可用的值是true或false。默认值是false

duration

可选

number

指定会议的长度,即会议的持续时间。当到达的时间,BigBlueButton自动结束了会议。默认为0,这意味着会议继续进行,直到最后一个人离开或结束API调用相关meetingID

meta

可选

String

创建会议时指定一个或多个元数据值。这些将被BBB存储,以备以后通过getMeetingInfo和getRecording调用来检索

创建会议URL实例:

http://yourserver.com/bigbluebutton/api/create?name=Test+Meeting&meetingID=abcdef&attendeePW=111222&moderatorPW=333444&checksum=21f9bf3af618853aab55f38e5826d4c8

创建会议URL构建过程:

String create_parameters = “name=” + urlEncode(name)

+”&meetingID=” + urlEncode(meetingID) + “&attendeePW=”+ urlEncode(attendeePW)+”&moderatorPW=”+urlEncode(moderatorPW);

 

String salt = “21f9bf3af618853aab55f38e5826d4c8”;

 

String BigBlueButtonURL = “http://ip/bigbluebutton/”;

 

String enterURL = BigBlueButtonURL + “api/create?”+ create_parameters+“&checksum=”+checksum(“create” + create_parameters + salt);

其中:

Checksum生成java代码函数:

publicstatic String checksum(String s) {

         String checksum = “”;

         try {

                   checksum = hex_sha1(s);

         } catch (Exception e) {

                   e.printStackTrace();

         }

         return checksum;

}

Checksum生成js代码函数:

var salt = “21f9bf3af618853aab55f38e5826d4c8”;

var create_parameters= “name=” + name + “&meetingID=” + meetingID +”&attendeePW=” + attendeePW + “&moderatorPW=” +moderatorPW;

var urlCreste = checksum(“create” +create_parameters + salt);

function checksum(var s) {

         varchecksum = “”;

         checksum= hex_sha1(s);

         returnchecksum;

}

salt为服务器默认的效验码,可通过bbb-conf –salt获取,可保存于配置文件中

ip为服务器地址

2. getDefaultConfigXML

获取默认的XML配置文件,第三方得到当前xml配置文件,修改参数,利用setConfigXML将其保存到BigblueButton服务器上。

URL实例:

http://yourserver.com/bigbluebutton/api/getDefaultConfigXML.xml?[parameters]&checksum=[checksum]

parameters(参数)为当前会议信息,checksum产生过程同上。

3.  setConfigXML

将自定义的XML配置文件写入当前会话,第三方可以使用自己需要的配置。

参数

必需/可选

类型

描述

MeetingID

必需

String

一个正在召开的会议id

configXML

必需

String

一个有效的XML配置文件

URL实例:

http://yourserver.com/bigbluebutton/api/setConfigXML.xml?[parameters]&checksum=[checksum]

parmeters(参数)为当前会议信息,checksum产生过程同上。

4.  加入会议(join)

参数

必需/可选

类型

描述

fullName

必需

String

加入会议的用户名

meetingID

必需

String

加入的会议ID

password

必需

String

与会者使用的密码。如果提供的是主持人密码,他将获得主持人权限

createTime

可选

String

使用该API的第三方应用程序现在可以提交一个createTime参数(在调用创建会议API时),BigBlueButton将确保它与本次会话的createTime匹配。如果它们不同,BigBlueButton将不会进行连接请求。这可以防止一个用户重复使用有相同meetingID的参会URL

userID

可选

String

标识一个用户身份,以便应用程序区分这个人是谁。在调用getMeetingInfo这个API时,这个用户ID将被返回

webVoiceConf

可选

String

如果想通过自定义语音扩展加入使用VoIP语音会议,在调用详细记录用户加入会议,收集更多的信息,需要修改/etc/asterisk/bbb-extensions.conf来处理这个新的扩展。

configToken

可选

String

返回setConfigXML设置的XML配置,加载

avatarURL

可选

String

在config.xml中displayAvatar设置,设置为true,则用户的avatar可见

URL实例:

http://yourserver.com/bigbluebutton/api/join?name=Test+Meeting&password=333444&meetingID=ascds&checksum=21f9bf3af618853aab55f38e5826d4c8

URL构建过程:

String join_parameters = “fullname=” + urlEncode(joinname)

+ “&meetingID=” + urlEncode(meetingID) +”&password=”+ urlEncode(password);

String salt = “21f9bf3af618853aab55f38e5826d4c8”;

String BigBlueButtonURL = “http://ip/bigbluebutton/”;

String joinURL = BigBlueButtonURL + “api/create?”+ join_parameters+“&checksum=”+checksum(“creat” + join_parameters + salt);

5.结束会议(end)

参数

必需/可选

类型

描述

meetingID

必需

String

结束会议ID

password

必需

String

该会议的主持人密码,使用参会密码不能结束会议

URL实例:

http://yourserver.com/bigbluebutton/api/end?meetingID=1234567890&password=mp&checksum=1234

URL构建过程:

String end_parameters =”&meetingID=”+ urlEncode(meetingID) + “&password=”+ urlEncode(password);

String salt = “21f9bf3af618853aab55f38e5826d4c8”;

String BigBlueButtonURL = “http://ip/bigbluebutton/”;

String endrURL = BigBlueButtonURL+ “api/end?”+ end_parameters+ “&checksum=”+checksum(“end”+ end_parameters + salt);

二、监控(描述监控功能的API方法)

1.      isMeetingRunning(检查指定的会议是否在运行中):

参数

必需/可选

类型

描述

meetingID

必需

String

会议ID

URL实例:

http://yourserver.com/bigbluebutton/api/isMeetingRunning?meetingID=test01&checksum=1234

2. getMeetings(获得会议列表):

返回服务器上所有会议的列表

URL实例:

http://yourserver.com/bigbluebutton/api/getMeetings?checksum=[checksum]

3.getMeetingInfo(获得会议的细节信息):

参数

必需/可选

类型

描述

meetingID

必需

String

会议ID

password

必需

String

会议的主持人密码。你不能通过参会密码获得会议信息

URL实例:

http://yourserver.com/bigbluebutton/api/getMeetingInfo?meetingID=test01&password=mp&checksum=1234

三、
录制(描述录制功能的API方法):

1.   getRecordings(获取录制的列表):

参数

必需/可选

类型

描述

meetingID

必需

String

获得录音的一个会议ID。它可以是一组由逗号分开的meetingID集合。如果未指定会议ID,会获得到所有的录音

URL实例:

http://yourserver.com/bigbluebutton/api/getRecordings?checksum=1234

http://yourserver.com/bigbluebutton/api/getRecordings?meetingID=CS101&checksum=abcd

http://yourserver.com/bigbluebutton/api/getRecordings?meetingID=CS101,CS102&checksum=wxyz

2.publishRecordings(发布或取消发布一个录音):

发布和取消发布一个给定的recordID(或recordID集合)的录音

参数

必需/可选

类型

描述

recordID

必需

String

指定申请发布或者取消发布的录音的的record ID。它可以使一组由逗号分隔的meetingID的集合

publish

必需

String

发布或者取消发布录音的值。可用值:true或者false

URL实例:

http://yourserver.com/bigbluebutton/api/publishRecordings?recordID=record123&publish=true&checksum=1234

http://yourserver.com/bigbluebutton/api/publishRecordings?recordID=record123,recordABC&publish=true&checksum=wxyz

3.  deleteRecordings(删除现有的录音):

删除一个或多个给定recordID(或者record ID集合)的录音

参数

必需/可选

类型

描述

recorded

必需

String

用于指定要删除的录音记录的ID,它可以是一组由逗号分开的meetingID

URL实例:

http://yourserver.com/bigbluebutton/api/deleteRecordings?recordID=record123&checksum=1234

http://yourserver.com/bigbluebutton/api/deleteRecordings?recordID=record123,recordABC&checksum=wxyz


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159292.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Prometheus(普罗米修斯)监控系统「建议收藏」

    Prometheus(普罗米修斯)监控系统「建议收藏」Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker。Prometheus应该是为数不多的适合Docker、Mesos、Kubernetes环境的监控系统之一。…

    2022年7月19日
    56
  • 微信小程序—-返回上一页刷新或当前页刷新

    微信小程序—-返回上一页刷新或当前页刷新HTML实现当前页面刷新首先我们都知道在HTML页面我们要实现当前页面刷新一般会怎么解决呢?1,reload()方法刷新当前页面;2,replace()方法刷新当前页面;3,页面自动刷新当前页面;三种实现js刷新当前页面的方法用法微信小程序—-返回上一页刷新或当前页刷新1,在实现效果之前,需要知道微信小程序的页面生命周期,不是很清楚的可以看微信小程序

    2022年6月11日
    1.7K
  • python psutil模块查找进程_python模块 – psutil「建议收藏」

    python psutil模块查找进程_python模块 – psutil「建议收藏」一、psutil模块:1.psutil模块简介他是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如:ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice…

    2022年5月4日
    44
  • Python打造最强告白代码,世界这么大,你的那个他总会遇见的(源码可直接运行)[通俗易懂]

    Python打造最强告白代码,世界这么大,你的那个他总会遇见的(源码可直接运行)[通俗易懂]能和喜欢的人在一起是一件多么美好幸福的事,可现实却并非如此,喜欢的我不敢表白,我们往往都感觉喜欢的那个人特别的优秀,也就是情人眼里出西施,即使互相都喜欢了,又有些人因羞于表达,或怕被拒绝而错过了对方,爱情就是这般捉弄人。有一首歌写得好,爱需要勇气,确实如此,希望看到这的你,能勇敢迈出第一步,勇敢追求自己的幸福,收获美好的爱情。文章末尾有惊喜。1.遇见你我很幸运❤❤要是有机会的话,我想和你一起喝奶茶,一起看电影一起吹晚风回家,一起走剩下的路,我的意思是:和你。完整源码:代码里面可以

    2022年6月2日
    42
  • Xshell连接不上虚拟机Linux系统

    Xshell连接不上虚拟机Linux系统以下是我在尝试网上各种办法之后总结的最优解决办法 1 先在主机上检查虚拟机相关的必要的服务是否都已经启动 2 检查虚拟机系统防火墙是否处于关闭状态 3 检查虚拟机系统的 ssh 服务是否已经启动 4 检查 ifcfg eth0 文件是否配置正确文件路径 etc sysconfig network scripts ifcfg eth0 本人虚拟机配置截图 网段查看 VmwareWo

    2025年8月26日
    4
  • 年月日软件测试用例的设计,时钟——黑盒测试用例设计实例

    年月日软件测试用例的设计,时钟——黑盒测试用例设计实例电子时钟模块在很多系统上都会背集成,是一个运用比较广泛的模块,针对电子时钟,我们应该当如何设计测试用例呢?其实写用例,除了书上说的几种设计方法,每个人也有自己偏好的套路。比如某些人喜欢用先用边界再用等价,有些人喜欢先等价后再用边界,这些套路都是没有大的区别的,只是个人的逻辑思维方式不同而已。我说说自己的套路吧:确定测试目标(其实就是确定测试用例的粒度)——提取测试元素——分类(其实就是一个整体的等…

    2022年5月23日
    107

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号