亚博app买球-亚博app买球安全

              1. After-sales service

                开发文档

                • 单点登录接口

                • 录播对接规范

                • 互动对接规范

                • 软件下载

                • 单点登录接口


                  1. 单点登录的应用场景

                  开发文档流程图.jpg

                  1. 用户登录XX平台门户。

                  2. XX平台保存用户会话信息,在浏览器COOKIE中保存用户TGC信息。

                  3. 用户在XX平台选择应用,XX平台将用户重向至应用。

                  4. 用户在应用内访问受保护资源,应用将用户重定至XX平台。

                  5. XX平台从浏览器中获取用户TGC信息,并根据TGC校验用户会话。

                  6. XX平台生成ST,并携带ST将用户从XX平台重定向至应用。

                  7. 应用使用ST请求平台校验。

                  8. 平台向应用返回校验结果及用户信息。


                  1.1. 单点登录配置

                  说明:以下给出的配置是通用的客户端配置Demo,只适合跳转地址固定的场景。如有其他特殊需求,需客户端程序自己实现。

                  Java语言客户端配置(示例-ssotest 项目)

                  ssotest.zip


                  1.1.1.  ssotest 项目说明

                  ssotest 项目是由maven管理的javaweb项目,项目所依赖的jar文件包都在项目根目录下的pom.xml 文件内定义,文件内除com.sanbu.shiro jar包外均为maven仓库的官方jar包。

                  2.png

                  1.1.2.  在项目web.xml文件添加以下内容

                  登出配置

                  3.png

                  shiroFilter过滤器

                  5.png

                  本过滤器用于过滤项目中需要使用单点登录的服务信息。


                  1.1.3.  Spring配置详见

                  6.png

                  1.1.4.  配置cas.properties

                  7.png

                  参数说明

                  序号

                  参数名称

                  说明

                  1

                  cas.server.url.prefix

                  单点登录认证服务地址

                  2

                  Cas.service

                  客户端认证服务地址

                  3

                  login.url

                  登陆拦截认证跳转地址

                  1.1.5.  取得用户的信息

                  用户登录后,可以通过接口取得用户信息,这些信息包含在java.util. map对象中。

                  例如:

                  取得登录用户的信息

                  import java.util.HashMap;

                  import java.util.List;

                  import java.util.Map;

                   

                  import org.apache.shiro.subject.Subject;

                  import org.apache.shiro.SecurityUtils;

                  import org.apache.shiro.subject.PrincipalCollection;

                   

                  public class LoginUserUtil {

                  public static Map getLoginUser(){

                  Map<?, ?> userMap = null;

                  Subject subject = SecurityUtils.getSubject();

                  PrincipalCollection principals = subject.getPrincipals();

                  if(principals!=null&&!principals.isEmpty()){

                  List<?> list=principals.asList();

                  if(!list.isEmpty()){

                  userMap = (Map<?, ?>) list.get(1);

                  }

                  }

                  return userMap;

                  }

                  ... ...

                  }

                   

                  数据说明:

                  序号

                  字段名(Map的Key)

                  类型

                  说明

                  1

                  id

                  string

                  用户识别ID

                  2

                  username

                  string

                  用户名

                  3

                  usertype

                  string

                  用户类型

                  4

                  schoolid

                  string

                  用户学校识别ID

                  5

                  platmark

                  string

                  用户平台识别ID

                  6

                  schoolgroupid

                  string

                  用户学校组识别id

                   

                  2. 接口参考

                  2.1. 单点登录

                  2.1.1. 单点登录接口

                  单点登录接口用于显示登录界面,登录成功后,单点登录平台生成票据信息ticket,单点登录客户应用携带票据信息ticket,并重定向到service参数所指定的地址  。

                  参数说明

                  序号

                  参数名称

                  是否必须

                  类型

                  描述

                  1

                  service

                  必选

                  string

                  登录成功后重定向的应用的目标地址即应用的入口地址。

                  例如:http://ip:port/ssotest/

                   

                  返回说明

                  登录成功后获取票据信息ticket数据并缓存,然后重定向到目标地址。

                  2.1.2. Ticket验证接口

                  验证Ticket,验证成功后并返回当前登录用户信息。

                   

                  接口说明

                  url

                  http://10.1.53.100/middlecas/serviceValidate

                  协议

                  http

                  请求方式

                  post

                  格式

                  xml

                  接口方向

                  应用à平台

                   


                  参数说明

                  序号

                  参数名称

                  是否必须

                  类型

                  描述

                  1

                  ticket

                  必选

                  string

                  单点登录成功后生成的票据信息

                  2

                  serivce

                  必选

                  string

                  http://ip:port/ssotest/

                      例:

                  http://10.1.53.100/middlecas/serviceValidate?ticket=SO6YEWI93093UTYDVXBZ4513&service=http://ip:port/ssotest/

                  返回说明

                  序号

                  字段名

                  约束

                  类型

                  说明

                  1

                  cas:serviceResponse

                  必选



                  1.1

                  cas:authenticationSuccess

                  必选



                  1.1.1

                  cas:user

                  必选

                  String

                  用户标识ID

                  1.1.2

                  cas:attributes

                  必选



                  1.1.2.1

                  cas:truename

                  必选

                  String

                  用户真实名称

                  1.1.2.2

                  cas:mobile

                  可选

                  String

                  手机号

                  1.1.2.3

                  cas:usertype

                  必选

                  String

                  用户类型

                  1.1.2.4

                  cas:schoolgroupid

                  必选

                  String

                  用户学校分组标识ID

                  1.1.2.5

                  cas:password

                  可选

                  String

                  用户密码

                  1.1.2.6

                  cas:schoolid

                  必选

                  String

                  归属机构\学校ID

                  1.1.2.7

                  cas:name

                  必选

                  String

                  用户名

                  1.1.2.8

                  cas:groupleader

                  可选

                  String

                  是否是组长

                  1.1.2.9

                  cas:registertype

                  可选

                  String

                  用户注册方式

                  1.1.2.10

                  cas:id

                  必选

                  String

                  用户标识ID,与1.1.1一致

                  1.1.2.11

                  cas:usercode

                  可选

                  String

                  用户编码

                  1.1.2.12

                  cas:platmark

                  必选

                  String

                  用户平台ID

                  1.1.2.13

                  cas:email

                  可选

                  String

                  用户邮件地址

                  示例:验证通过报文

                  <cas:serviceResponse xmlns:cas="http://www.yale.edu/tp/cas">

                  <cas:authenticationSuccess>

                  <!—用户ID -->

                  <cas:user>6769bc63-636e-423b-9d19-e6b8a9f13227</cas:user>

                  <!—附加信息 -->

                  <cas:attributes>

                  <!—用户真实名称 -->

                  <cas:truename>XXXX</cas:truename> 

                  <!—手机号 -->

                  <cas:mobile/>

                  <!—用户类型 -->

                  <cas:usertype>e9f46d6c-c44d-463b-a6ff-80b74cd3edee</cas:usertype>

                  <!用户学校分组标识ID -->

                  <cas:schoolgroupid/>

                  <cas:password/>

                  <!—归属机构\学校ID -->

                  <cas:schoolid>a57f69f6-89ff-4a1d-aa69-799d5db1b15d</cas:schoolid>

                  <!—用户名 -->

                  <cas:name>jssadmin</cas:name>

                  <!—是否是组长 -->

                  <cas:groupleader>0</cas:groupleader>

                  <!—用户注册方式 -->

                  <cas:registertype>0</cas:registertype>

                  <!—用户ID -->

                  <cas:id>6769bc63-636e-423b-9d19-e6b8a9f13227</cas:id>

                  <cas:usercode/>

                  <!—用户平台ID -->

                  <cas:platmark>e7fcf0e4-6fd7-49a0-9343-847d86be2822</cas:platmark>

                  <!—用户邮箱 -->

                  <cas:email/>

                  <cas:username>6769bc63-636e-423b-9d19-e6b8a9f13227</cas:username>

                  </cas:attributes>

                  <!—附加结束 -->

                  </cas:authenticationSuccess>

                  </cas:serviceResponse>

                   

                   

                  验证不通过的报文:

                  <cas:serviceResponse xmlns:cas="http://www.yale.edu/tp/cas">

                  <cas:authenticationFailure code="INVALID_REQUEST">必须同时提供'service'和'ticket'参数</cas:authenticationFailure>

                  </cas:serviceResponse>

                   

                  客户端解释XML报文对验证通过的报文中取得<cas:id>节点的值,得到当前登录的用户标识ID

                  客户端收到校验通过后的报文,取得用户标识ID,根据ID建立本地的用户会话。会话时间默认的保持时间为30分钟;或根据需要具体配置,客户端再根据ID调用平台接口取得当前用户的用户信息。


                  2.2. OAuth接口

                  XX用户平台集成了OAuth接口,用于提供给非WEB应用系统。非WEB应用系统可以使用OAuth接口,访问平台的资源数据。

                   

                  2.2.1. OAuth接口的使用

                  平台中封装了OAuth接口的调用。要使用OAuth接口,必须使用平台提供的jar包:


                  middleware.core-1.0.3.A.8-pg.jar.zip



                  系统封装了com.3bu.middle.util.OAuthClient对象,用于访问OAuth接口。


                  2.2.2. OAuthClient对象说明

                  构造函数

                  序号

                  参数名称

                  数据类型

                  说明

                  1

                  serverUrl

                  String

                  平台服务应用的URL

                  2

                  authorizeUrl

                  String

                  认证地址,一般是/oauth2/authorize

                  3

                  redirectUrl

                  String

                  重定向地址,使用null的缺省值: /oauth2/access_token

                   


                  登录

                  方法名: login

                  参数说明:

                  序号

                  参数名称

                  数据类型

                  说明

                  1

                  platformId

                  String

                  平台ID

                  2

                  username

                  String

                  用户名

                  3

                  password

                  String

                  密码

                  4

                  clientId

                  String

                  客户ID, 通常使用常量

                  "6b4cfaea-7016-11e5-bd19-68f728833c05"

                   

                  返回说明:json类型:

                  序号

                  参数名称

                  数据类型

                  说明

                  1

                  access_token

                  String

                  令牌

                   

                  异常:

                  HttpException, IOException, JSONException, Exception

                   

                  调用POST接口

                  方法名: callPost

                  参数说明:

                  序号

                  参数名称

                  数据类型

                  说明

                  1

                  postUrl

                  String

                  API地址

                  2

                  params

                  Map<String, String>

                  参数

                  3

                  contentType

                  String

                  数据类型

                   

                  返回类型:

                   Object类型,JSONObject/JSONArray,视具体接口而定

                  异常:

                  IOException

                   

                  调用GET接口

                  方法名: callGet

                  参数说明:

                  序号

                  参数名称

                  数据类型

                  说明

                  1

                  getUrl


                  API地址

                  2

                  params

                  Map<String, String>

                  参数

                  3

                  contentType

                  String

                  数据类型

                   

                  返回类型:

                   Object类型,JSONObject/JSONArray,视具体接口而定

                  异常:

                  IOException

                  调用GET接口(重载方法)

                  方法名: callGet

                  参数说明:

                  序号

                  参数名称

                  数据类型

                  说明

                  1

                  getUrl


                  API地址

                  2

                  params

                  Map<String, String>

                  参数

                  3

                  header

                  Map<String, String>

                  HTTP定制HEAD

                  返回类型:

                   Object类型,JSONObject/JSONArray,视具体接口而定

                  异常:

                  IOException


                  2.3. 调用示例

                  import java.util.HashMap;

                  import java.util.Map;

                   

                  import javax.ws.rs.core.MediaType;

                   

                  import net.sf.json.JSONArray;

                  import net.sf.json.JSONObject;

                   

                  import com.3bu.middle.util.OAuthClient

                   

                  /**

                   * OAuth访问示例类

                  */

                  public class TestCenterOAuthCaller {

                  //平台服务应用的URL

                  final static String ServiceApp =

                  "https://dev.3bu.com:8443/middlecenter";  

                  final static String AuthorizeUrl="/oauth2/authorize";

                  public static void main(String[] args)  throws Exception {

                  OAuthClient client=new OAuthClient(ServiceApp, AuthorizeUrl, null);

                  //平台租户ID

                  String platformId = "29a5350d-aee2-4c30-894e-47124f4c6084";

                  String username = "xxxx"; //用户名

                  String password = "yyyyyy";    //密码

                  String clientID = "6b4cfaea-7016-11e5-bd19-68f728833c05" ; //常量

                  JSONObject json = client.login(

                  platformId, username, password, clientID);

                   

                  //API路径

                  final String apiUrl ="/service/api/v1/auth/area/areaTree/";

                  Map<String,String> para = new HashMap<>();

                  para.put("nodeid", "1");

                  JSONArray data=(JSONArray)client.callPost(

                  apiUrl, para, MediaType.APPLICATION_FORM_URLENCODED);

                  System.out.println(data);

                  }

                  }

                   


                • 录播对接规范

                  此文档仅用于实现用户的应用场景使用,其它任何人都不能用于其它用途。


                  1.  前言

                  1.1.  背景

                  此文档仅用于实现用户的应用场景使用,其它任何人都不能用于其它用途。

                   

                  亚博app买球-亚博app买球安全TSCloud平台控制第三方录播流程图:



                  录播1.png

                  1.1.  基础信息

                  品牌



                  产品负责人:



                  研发负责人:



                  产品型号:



                  软件版本:



                  其它:



                  备注:

                  1.     为方便对接以上信息要求真实可靠;

                  2.     如果用户现场环境中软件版本与填表不一至,必须同步提交该软件版本;

                   

                  2.  连接通讯

                  2.1.  基本通讯

                  需要提供:品牌型号识别、传输协议、数据传输格式、验证方式、通讯端口等信息,

                  功能说明

                  条件



                  发送



                  返回



                  其它



                   

                  例如:

                  tcp客户端

                  import java.io.DataInputStream;

                  import java.io.DataOutputStream;

                  import java.io.IOException;

                  import java.net.Socket;

                  import java.net.UnknownHostException;

                  import org.slf4j.Logger;

                  import org.slf4j.LoggerFactory;

                   

                  /**

                   * TCP链接

                   */

                  public class TCPClient {

                      /* 日志 */

                      private Logger logger = LoggerFactory.getLogger(TCPClient.class);

                      /* socket实例 */

                      private Socket s;

                      private DataOutputStream out

                      private DataInputStream in;

                   

                      /**

                       * 连接设备

                       * @param ddr  地址

                       * @param port  端口

                       */

                      public void connect(String ddr, int port) {

                          try {

                               s = new Socket(ddr, port);

                               if (s.isConnected()) {

                                   logger.info("连接录播 :" + ddr + 端口:" + port + "成功");

                               }

                          } catch (UnknownHostException e) {

                               logger.error("错误的地址" + e.getMessage(), e);

                          } catch (IOException e) {

                               logger.error("建立连接失败" + e.getMessage(), e);

                          }

                      }

                   

                      /**

                       * 发送消息

                       * @param msg   指令

                       */

                      public void sendMag(String msg) {

                          try {

                               out = new DataOutputStream(s.getOutputStream());

                               byte[] bt = msg.getBytes();

                               out.write(bt);

                          } catch (IOException e) {

                               logger.error("发送消息失败" + e.getMessage(), e);

                          }

                      }

                   

                      /**

                       * 返回信息

                       */

                      public String response() {

                          StringBuffer result = new StringBuffer();

                          try {

                               in = new DataInputStream(s.getInputStream());

                               byte[] buf = new byte[2048];

                               int readLen = 0;

                               while ((readLen = in.read(buf)) != -1) {

                                   String s1 = new String(buf,0,readLen,"UTF-8");

                                   result.append(s1);

                               }

                               out.close();

                          } catch (Exception e) {

                               logger.error(e.getMessage(), e);

                          }

                          String rest = result.toString().trim();

                          return rest;

                      }

                  }

                   

                  /**

                   * mc1000客户端

                   */

                  public class MC1000 {

                   

                      private Logger logger = LoggerFactory.getLogger(MC1000.class);

                      public TCPClient TCPClient;

                     

                      public MC1000(){

                          TCPClient = new TCPClient();

                          TCPClient.connect("10.1.0.81", 11092);

                  TCPClient.sendMag("<CMD id=\"login_req\"><userid>admin</userid><passwd>admin</passwd><need_db></need_db></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                     

                      /**

                       * 打开录制

                       * @param rec_mode 录制模式(0:电影模式,1:资源模式,2:电影+资源)

                       */

                      public void startRecord(String rec_mode) {

                          TCPClient.sendMag("<CMD id=\"start_rec\"><rec_mode>" + rec_mode + "</rec_mode></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                     

                      /**

                       * 关闭录制

                       */

                      public void stopRecord() {

                          TCPClient.sendMag("<CMD id=\"stop_rec\"></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                     

                      /**

                       * 设置录制模式

                       * @param recMode 录制模式(0:电影模式,1:资源模式,2:电影+资源)

                       */

                      public void setRecMode(String rec_mode) {

                          TCPClient.sendMag("<CMD id=\"set_rec_mode\"><rec_mode>" + rec_mode + "</rec_mode></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                     

                      /**

                       * 设置自动跟踪

                       * @param trackMode 跟踪(0:自动跟踪  1:手动跟踪)

                       */

                      public void setTrackMode(String trackMode) {

                          TCPClient.sendMag("<CMD id=\"set_track_mode\"><track_mode>" + trackMode + "</track_mode>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                  }

                  2.2.  网络连接

                  用来连接设备,连接时会传用户名和密码给设备。连接上设备才可以操作设备,需要提供如何通过网络指令登录录播设备、如何心跳、如何进行验证方法等。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  备注:

                  1.     如果录播没有心跳功能,建议指定个查询状态用于心跳连接;

                  2.     建议此用户名或密码具有一定的权限,用户无法更改密码;

                   

                  一段代码分别标注包含以上信息。

                  public MC1000(){

                          TCPClient = new TCPClient(); //初试化客户端时new一个TCP连接对象

                          TCPClient.connect("10.1.0.81", 11092);//连接上ip10.1.0.81的设备

                  TCPClient.sendMag("<CMD id=\"login_req\"><userid>admin</userid><passwd>admin</passwd><need_db></need_db></CMD>");//发送验证信息给设备(包括用户名,密码)

                          logger.info("设备返回信息" + TCPClient.response());//验证成功,设备返回信息(需要处理的信息)

                  }

                  备注:登录成功后,设备会返回所有设备相关信息。

                   

                  3.  管理功能

                  3.1.  在线状态

                  提供如何获取录播的在线状态录制状态、直播状态、文件上传状态、硬盘剩余空间等状态,

                  功能说明

                  条件



                  发送



                  返回



                  其它



                   

                  例如

                  /**

                       * 心跳

                       */

                      public void heartBeaten() {

                          TCPClient.sendMag("<CMD id=\"heart_beaten\"></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                  备注:mc1000支持心跳,心跳指令heart_beaten,会返回设备状态(比如:在线状态、录制状态、直播状态、画面状态等)

                  3.2.  开关机

                  通过网络指令实现对录播设备开机或关机,如果不能返回状态需要说明是否可以重复发送。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                   

                  一段代码分别标注包含以上信息。

                  例如:

                  /**

                       * 关机/重启

                       * @param poweroff  0:关机  1:重启

                       */

                      public void reboot(String poweroff) {

                          TCPClient.sendMag("<CMD id=\"reboot\"><poweroff>" + poweroff + "</poweroff>");//发送指令给设备,参数poweroff0:关机  1:重启

                          logger.info("设备返回信息" + TCPClient.response());//设备返回信息(需要处理)

                      }

                  3.3.  查询录播详情

                  可以查询录制、直播、接口等参数的详情。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  备注:mc1000会主动推送设备详情

                  4.  基本录直播功能

                  4.1.  录制功能

                  包括录制的开始、暂停、结束,如果录制开始需要传参数,请详细说明传哪些参数。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                   

                  /**

                       * 打开录制

                       * @param rec_mode 录制模式(0:电影模式,1:资源模式,2:电影+资源)

                       */

                      public void startRecord(String rec_mode) {

                          TCPClient.sendMag("<CMD id=\"start_rec\"><rec_mode>" + rec_mode + "</rec_mode></CMD>");//打开录制需要传入录制模式

                          logger.info("设备返回信息" + TCPClient.response());//这里会返回设备当前录制信息(比如:录制状态,录制时间,录制开始时间,录制模式...

                      }

                  备注:mc1000打开录制,需要传入参数录制模式(0:电影模式,1:资源模式,2:电影+资源)。

                   

                      /**

                       * 关闭录制

                       */

                      public void stopRecord() {

                          TCPClient.sendMag("<CMD id=\"stop_rec\"></CMD>");//发送关闭录制指令即可

                          logger.info("设备返回信息" + TCPClient.response());//返回录制信息

                      }

                  4.2.  录制模式

                  包括电影、资源、电影+资源模式,需要说明更改的条件,例如录制开始时不允许更改、或部分场景下不允许更改等。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  /**

                       * 设置录制模式

                       * @param recMode 录制模式(0:电影模式,1:资源模式,2:电影+资源)

                       */

                      public void setRecMode(String rec_mode) {

                          TCPClient.sendMag("<CMD id=\"set_rec_mode\"><rec_mode>" + rec_mode + "</rec_mode></CMD>");//设置录制模式(参数:0:电影模式,1:资源模式,2:电影+资源

                          logger.info("设备返回信息" + TCPClient.response());//返回录制模式

                      }

                   

                  4.3.  画面分屏

                  可以设置的画面分屏模式,例如单屏、画中画等。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  /**

                       * 设置画面分屏

                       * @param policy_id 分屏策略(0:互动单屏、1:互动(无VGA)、2:互动(无学生)、3:互动四分屏、4:精品课堂-三分屏、5:学生+VGA、6:精品课堂单屏、7:老师+VGA(画中画)、8:老师+VGA(左右)、9:老师+学生(画中画)、10:老师+学生(左右)、11:听课课堂)

                       *         pip_pos  画中画小画面位置(lu:左上、ld:左下、ru:右上、rd:右下)

                       */

                      public void splitScreen(String policy_id,String pip_pos) {

                          TCPClient.sendMag("<CMD id=\"set_pic_policy\"><pic_id>0</pic_id><policy_id>" + policy_id + "</policy_id><pip_pos>" + pip_pos + "</pip_pos><save_it>1</save_it><use_it>1</use_it></CMD>");

                          //policy_id 分屏策略(0:互动单屏、1:互动(无VGA)、2:互动(无学生)、3:互动四分屏、4:精品课堂-三分屏、5:学生+VGA、6:精品课堂单屏、7:老师+VGA(画中画)、8:老师+VGA(左右)、9:老师+学生(画中画)、10:老师+学生(左右)、11:听课课堂)  pip_pos  画中画小画面位置(lu:左上、ld:左下、ru:右上、rd:右下)

                          logger.info("设备返回信息" + TCPClient.response());//返回画面状态

                      }

                  备注:mc1000分屏主要两个重要参数policy_id分屏策略)、pip_pos画中画小画面位置),其他的参数设置默认参数即可。

                  4.4.  画面切换

                  可以切换老师、学生、课件等某个画面到主画面或预览画面。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                   

                  /**

                       * 设置主画面

                       * @param major 主画面(tq:老师全景、tt:老师特写、bk:板书、sq:学生全景、st:学生特写、vga:vga hd:互动远端、-1:自动)

                  */

                  public void setMajor(String major) {

                          TCPClient.sendMag("<CMD id=\"set_major\"><major>" + major + "</major></CMD>");//设置主画面(参数:tq:老师全景、tt:老师特写、bk:板书、sq:学生全景、st:学生特写、vga:vga hd:互动远端、-1:自动

                          logger.info("设备返回信息" + TCPClient.response());//返回画面状态

                  }

                  备注:mc1000主画面支持老师全景(tq)、老师特写(tt)、板书(bk)、学生全景(sq)、学生特写(st)、vga(vga)、互动远端(hd)、自动(-1)。

                   

                  4.5.  直播功能

                  控制录播直播的配置,例如可配置直播开关、推流地址、协议、分辨率等。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  备注:

                  1.     如果录播提供多种直播类型,需要标注出RTMP协议的设置及配置方法;

                  2.     录播支持多路不同码流的直播时需要标注支持哪些类型;

                  3.     直播是否有前置条件必须要明确说明;

                  /**

                  * 设置直播参数

                  * @param params 直播相关参数(bwud:超清直播码率 、 bwhd:高清直播码率 、bwsd:标清直播码率 、resud:超清直播分辨率 、reshd:高清直播分辨率 、ressd:标清直播分辨率 、urlud:超清直播地址、urlhd"高清直播地址、urlsd:标清直播地址)

                   */

                  public void setBroadParam(Map<String,Object> params) {

                     TCPClient.sendMag("<CMD id=\"set_broad\"><res_ud>" + params.get("res_ud") + "</res_ud><res_hd>" + params.get("res_hd") + "</res_hd><res_sd>" + params.get("res_sd") + "</res_sd><bw_ud>" + params.get("bw_ud") + "</bw_ud><bw_hd>" + params.get("bw_hd") + "</bw_hd><bw_sd>" + params.get("bw_sd") + "</bw_sd><url_ud>" + params.get("url_ud") + "</url_ud><url_hd>" + params.get("url_hd") + "</url_hd><url_sd>" + params.get("url_sd") + "</url_sd></CMD>");

                      logger.info("设备返回信息" + TCPClient.response());

                  }

                  备注:mc1000支持推3路直播流,所以可设置三路直播参数。

                   

                  /**

                       * 打开直播

                       * @param isOuter 直播类型(0:本地直播 、 1:平台直播)

                       */

                      public void setLiveOn(String isOuter) {

                          TCPClient.sendMag("<CMD id=\"start_live\"><isOuter>" +isOuter + "</isOuter></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                   

                  /**

                       * 关闭直播

                       * @param isOuter 直播类型(0:本地直播 、 1:平台直播)

                       */

                      public void setLiveOn(String isOuter) {

                          TCPClient.sendMag("<CMD id=\"stop_live\"><isOuter>" +isOuter + "</isOuter></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                  备注:mc1000可以支持平台直播和本地直播,对应我们平台的需求,所以都会控制。

                   

                  5.  跟踪相关功能

                  5.1.  跟踪开关

                  通过录播控制跟踪的指令,必须包含控制老师、学生、板书跟踪的开启与关闭,同时提供同步状态方法。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  备注:mc1000支持设置老师学生分开控制,也支持同步控制。

                  1. 建议如果支持老师、学生分开控制提供分开控制方法;

                  /**

                       * 设置学生跟踪

                       * @param st_manual 学生跟踪(0:自动跟踪开、1:自动跟踪关)

                       */

                      public void setStudentTrackMode(String st_manual) {

                          TCPClient.sendMag("<CMD id=\"set_track_mode\"><st_manual>" + st_manual + "</st_manual></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                   

                  /**

                       * 设置老师跟踪

                       * @param tt_manual 老师跟踪(0:自动跟踪开、1:自动跟踪关)

                       */

                      public void seTeacherTrackMode(String tt_manual) {

                          TCPClient.sendMag("<CMD id=\"set_track_mode\"><tt_manual>" + tt_manual + "</tt_manual></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                  备注:学生跟踪和老师跟踪的参数都是(0:自动跟踪开、1:自动跟踪关)

                  2. 需要同步说明跟踪关后是否还会画面切换 。

                  /**

                       * 设置跟踪

                       * @param trackMode 跟踪(0:自动跟踪开、1:自动跟踪关)

                       */

                      public void seTeacherTrackMode(String trackMode) {

                          TCPClient.sendMag"<CMD id=\"set_track_mode\"><track_mode>" + trackMode + "</track_mode></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                  备注:这个是mc1000总体设置跟踪,参数trackMode(0:自动跟踪开、1:自动跟踪关)

                  5.2.  跟踪状态

                  通过录播获取老师、学生、板书、课件的状态,即需要通过接口能够自动获取到目标的状态,建议是发生动作后自己上报状态。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  备注:mc1000会推送设备状态

                  5.3.  摄像机控制

                  通过录播控制老师、学生、板书三个摄像机的云台控制、变焦、预置位等控制操作。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                   

                  /**

                  * 摄像机控制

                  * @param params 摄像机控制相关参数

                  *   cameraIndex:相机编号或者镜头选择

                  *   camAction:摄像机具体控制(left / right / up / down /zoom_in(特写) / zoom_out(全景))

                  *   turnDuration:摄像机运动时长

                  */

                  public void CameraControl(Map<String,Object> params) {

                      TCPClient.sendMag("<CMD id=\"move_pan\"><ptzcam_idx>" + params.get("cameraIndex") + "</ptzcam_idx><action>" + params.get("camAction") + "</action><speed>30</speed></CMD>");

                  //mc1000操控摄像机后,摄像机执行持续时间turnDuration

                      try {

                          Thread.sleep(Integer.parseInt((String)params.get("turnDuration")));

                      } catch (InterruptedException e) {

                      }

                  //mc1000操控摄像机后,会一直执行下去,所以需要下面的代码来终止操作

                      TCPClient.sendMag("<CMD id=\"move_pan\"><ptzcam_idx>" + params.get("cameraIndex") + "</ptzcam_idx><action>stop</action><speed>30</speed></CMD>");

                  }

                   

                  /**

                  * 预制位设置

                  *

                  * @param params 设置预制位相关信息

                  *   operatePos:具体操作预制位参数 recall_preset(调用预制位)、clear_preset(删除预制位)、set_preset(保存预制位)

                  *   cameraIndex:相机编号或者镜头选择

                  *   pos:预制位信息

                  */

                  public void setPreset(Map<String, Object> params) {

                      TCPClient.sendMag("<CMD id=\""+ params.get("operatePos") +"\"><ptzcam_idx>" + params.get("cameraIndex") + "</ptzcam_idx><pos>" + params.get("pos") + "</pos></CMD>");

                  }

                  6.  文件管理功能

                  6.1.  文件管理

                  提供录播获取录制文件列表的查询、修改、删除操作。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  备注:

                  1. 获取文件列表时建议提供详细的文件名称、讲课老师、录制时间、科目等详细的信息;

                   

                  6.2.  文件上传或获取

                  提供录播录像文件上传的方法,如果没有上传功能,需要提供获取录播录像文件的方法,通过平台先获取再上传。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  备注:

                  1. 如果录播支持自动上传(如FTP)功能,需要提供自动上传的方法及配置方案。

                  2. 自动上传的任务状态需要给出相应的解决方案。

                  /**

                       * 设置ftp文件上传

                       * @param ftp_ip 文件服务器地址

                       *        user_id 文件服务器用户名

                       *        passwd 文件服务器密码

                       *        auto_upload 是否自动上传(0:不自动上传、1:自动上传)

                       */

                      public void setFTP(String ftp_ip,String user_id,String passwd,String auto_upload) {

                          TCPClient.sendMag("<CMD id=\"set_ftp_svr\"><ftp_ip>" +ftp_ip + "</ftp_ip><user_id>" +user_id + "</user_id><passwd>" +passwd + "</passwd><auto_upload>" +auto_upload + "</auto_upload></CMD>");

                          logger.info("设备返回信息" + TCPClient.response());

                      }

                  备注:设置自动上传后,文件录制完成后会自动上传都我们的文件服务器。

                  7.  其它特有功能

                  其它录播厂商认为自己的特色功能,或用户强烈要求的功能,可在此进行详细的功能说明及控制接口说明。


                • 互动对接规范

                  亚博app买球-亚博app买球安全TSCloud平台控制第三方MCU流程图:

                  目测对接的图.png

                  1. 连接通讯

                  1.1. 基本通讯

                  需要提供:品牌及型号识别、传输协议、数据传输格式、验证方式、通讯端口等信息,

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <?xml version="1.0" encoding="UTF-8"?>

                  <TRANS_MCU>

                  <ACTION>

                  <LOGIN>

                  <MCU_IP>

                  <IP>127.0.0.1</IP> //MCUIP

                  <LISTEN_PORT>80</LISTEN_PORT> //MCU端口

                  <HOST_NAME />

                  </MCU_IP>

                  <USER_NAME>UNAME</USER_NAME> //登录名

                  <PASSWORD>PWORD</PASSWORD> //登录密码

                  <COMPRESSION>true</COMPRESSION>

                  </LOGIN>

                  </ACTION>

                  </TRANS_MCU>

                  发送XML给MCU。

                   

                  2. 管理功能

                  2.1. 设备状态

                  提供如何获取MCU的在线状态、序列号、软件版本、总资源数、剩余资源数等状态,

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_RSRC_REPORT>

                      <ACTION>

                          <GET_CARMEL_REPORT/> //获取资源数

                      </ACTION>

                  </TRANS_RSRC_REPORT>

                  <TRANS_MCU>

                  <ACTION>

                   <GET_CFS /> //获取序列号

                  </ACTION>

                  </TRANS_MCU>

                  发送XML给MCU。

                  2.2. 模版状态

                  包括模版列表的获取、模版的新增、模版的删除等

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_RES_LIST>

                  <ACTION>

                  <GET_PROFILE_LIST> //获取模版列表

                  <OBJ_TOKEN>-1</OBJ_TOKEN>

                  </GET_PROFILE_LIST>

                  </ACTION>

                  </TRANS_RES_LIST>

                  发送XML给MCU。

                  2.2.1. 创建模版

                  创建一个新的模版。

                  功能说明

                  条件



                  发送



                  返回



                  示例代码:

                  <TRANS_RES_1>

                  <ACTION>

                  <START>

                  <RESERVATION>

                  <OBJ_TOKEN>-1</OBJ_TOKEN>

                  <CHANGED>true</CHANGED>

                  <NAME>dairb_routing</NAME>

                  <ID>-1</ID>

                  <REMARK />

                  <NETWORK>h320_h323</NETWORK>

                  <MEDIA>video_audio</MEDIA>

                  <PASSWORD />

                  <VIDEO_SESSION>continuous_presence</VIDEO_SESSION>

                  <VIDEO_PROTOCOL>auto</VIDEO_PROTOCOL>

                  <TRANSFER_RATE>1920</TRANSFER_RATE>

                  <AUDIO_RATE>auto</AUDIO_RATE>

                  <VIDEO_FORMAT>auto</VIDEO_FORMAT>

                  <FRAME_RATE>auto</FRAME_RATE>

                  <ATTENDED_MODE>ivr</ATTENDED_MODE>

                  <AV_MSG>Conference IVR Service</AV_MSG>

                  <RESTRICT_MODE>derestricted</RESTRICT_MODE>

                  <T120_RATE>none</T120_RATE>

                  <ENTRY_TONE>false</ENTRY_TONE>

                  <EXIT_TONE>false</EXIT_TONE>

                  <END_TIME_ALERT_TONE>5</END_TIME_ALERT_TONE>

                  <STAND_BY>false</STAND_BY>

                  <PEOPLE_AND_CONTENT>false</PEOPLE_AND_CONTENT>

                  <ANNEX_N>false</ANNEX_N>

                  <ANNEX_P>false</ANNEX_P>

                  <ANNEX_F>false</ANNEX_F>

                  <OPERATOR_CONF>false</OPERATOR_CONF>

                  <SAME_LAYOUT>false</SAME_LAYOUT>

                  <DUO_VIDEO>false</DUO_VIDEO>

                  </RESERVATION>

                  </START>

                  </ACTION>

                  </TRANS_RES_1>

                  发送XML给MCU。

                  2.2.2. 删除模版

                  删除一个模版。

                  功能说明

                  条件



                  发送



                  返回



                  示例代码:

                  <TRANS_RES_2>

                  <ACTION>

                  <TERMINATE_PROFILE>

                  <ID>0</ID> //会议ID

                  </TERMINATE_PROFILE>

                  </ACTION>

                  </TRANS_RES_2>

                  发送XML给MCU。


                  3. 会议功能

                  3.1. 创建会议

                  需要说明创建会议的流程,包含创建会议是否设定参数信息、调取MCU存储的参数等详细过程及接口。

                  功能说明

                  条件



                  发送



                  返回



                  示例代码:

                  <TRANS_RES_1>

                  <ACTION>

                  <START>

                  <RESERVATION>

                  <OBJ_TOKEN+>-1</OBJ_TOKEN>

                  <CHANGED>true</CHANGED>

                  <NAME />

                  <ID>-1</ID>

                  <REMARK />

                  <NETWORK>h320_h323</NETWORK>

                  <MEDIA>video_audio</MEDIA>

                  <PASSWORD />

                  <VIDEO_SESSION>continuous_presence</VIDEO_SESSION>

                  <VIDEO_PROTOCOL>auto</VIDEO_PROTOCOL>

                  <TRANSFER_RATE>384</TRANSFER_RATE>

                  <AUDIO_RATE>auto</AUDIO_RATE>

                  <VIDEO_FORMAT>auto</VIDEO_FORMAT>

                  <FRAME_RATE>auto</FRAME_RATE>

                  <ATTENDED_MODE>ivr</ATTENDED_MODE>

                  <AV_MSG />

                  <RESTRICT_MODE>derestricted</RESTRICT_MODE>

                  <T120_RATE>none</T120_RATE>

                  <ENTRY_TONE>false</ENTRY_TONE>

                  <EXIT_TONE>false</EXIT_TONE>

                  <END_TIME_ALERT_TONE>5</END_TIME_ALERT_TONE>

                  <STAND_BY>false</STAND_BY>

                  <PEOPLE_AND_CONTENT>false</PEOPLE_AND_CONTENT>

                  <ANNEX_N>false</ANNEX_N>

                  <ANNEX_P>false</ANNEX_P>

                  <ANNEX_F>false</ANNEX_F>

                  <OPERATOR_CONF>false</OPERATOR_CONF>

                  <SAME_LAYOUT>false</SAME_LAYOUT>

                  <DUO_VIDEO>false</DUO_VIDEO>

                  </RESERVATION>

                  </START>

                  </ACTION>

                  </TRANS_RES_1>

                  发送XML给MCU。

                  3.1.1. 可召开的会议模式

                  设置会议模式。比如:

                  1. 可设置所有终端看相同画面,

                  2. 所有终端看除自己之外的其他终端画面,

                  3. 指定某个终端看其他终端画面,其他终端均看该的终端画面,

                  功能说明

                  条件



                  发送



                  返回



                   

                  3.1.2. 创建级联会议

                  需要说明会议级联的方案,建议是级联的逻辑有TSCloud平台实现,只需要提供创建级联会议的方法及接口文档即可。

                  备注:

                  1如果MCU自带级联方案,只需要提供接口即可;

                  2. 级联点需要特别说明;

                   

                  3.2. 会议管理

                  3.2.1. 会议信息

                  获取指定MCU上的议列表。

                  功能说明

                  条件



                  发送



                  返回



                  示例代码:

                  <TRANS_CONF_LIST>

                  <ACTION>

                  <GET_LS>

                  <OBJ_TOKEN>-1</OBJ_TOKEN>  //获取会议列表

                  </GET_LS>

                  </ACTION>

                  </TRANS_CONF_LIST>

                  发送XML给MCU。

                  3.2.2. 删除会议

                  删除指定MCU上的某个会议

                  功能说明

                  条件



                  发送



                  返回



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <TERMINATE_CONF>

                  <ID>0</ID> //要删除的会议的ID

                  </TERMINATE_CONF>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3. 会议控制

                  3.3.1. 获取终端信息

                  获取指定会议终端某个终端的详细信息

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_PARTY>

                  <ACTION>

                  <GET>

                  <CONF_ID>1</CONF_ID> //会议ID

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </GET>

                  </ACTION>

                  </TRANS_PARTY>

                  发送XML给MCU。

                  3.3.2. 添加终端

                  通过IP地址、H323短号、SIP短号呼叫各类视频会议终端

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_1>

                  <ACTION>

                  <ADD_PARTY>

                  <ID>157</ID>

                  <PARTY>

                  <NAME>1955558</NAME>

                  <ID>0</ID>

                  <INTERFACE>h323</INTERFACE>

                  <CONNECTION>dial_out</CONNECTION>

                  <MEET_ME_METHOD>party</MEET_ME_METHOD>

                  <NUM_TYPE>taken_from_service</NUM_TYPE>

                  <BONDING>auto</BONDING>

                  <MULTI_RATE>auto</MULTI_RATE>

                  <NET_CHANNEL_NUMBER>auto</NET_CHANNEL_NUMBER>

                  <VIDEO_PROTOCOL>auto</VIDEO_PROTOCOL>

                  <CALL_CONTENT>framed</CALL_CONTENT>

                  <ALIAS>

                  <NAME />

                  <ALIAS_TYPE>323_id</ALIAS_TYPE>

                  </ALIAS>

                  <IP>192.167.2.42</IP>

                  <SIGNALING_PORT>1720</SIGNALING_PORT>

                  <VOLUME>5</VOLUME>

                  <BONDING_PHONE />

                  <SERVICE_NAME />

                  <SUB_SERVICE_NAME />

                  <AUTO_DETECT>false</AUTO_DETECT>

                  <RESTRICT>false</RESTRICT>

                  <ENHANCED_VIDEO>false</ENHANCED_VIDEO>

                  <VIDEO_BIT_RATE>automatic</VIDEO_BIT_RATE>  

                  </PARTY>

                  </ADD_PARTY>

                  </ACTION>

                  </TRANS_CONF_1>

                  发送XML给MCU。

                  3.3.3. 挂断终端

                  挂断指定会议中的某个终端

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_CONNECT>

                  <ID>1</ID> //会议ID

                  <CONNECT>false</CONNECT> //true:连接,false:挂断

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </SET_CONNECT>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.4. 删除终端

                  将指定会议终端某个终端从会议中踢出

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <DELETE_PARTY>

                  <ID>1</ID> //会议ID

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </DELETE_PARTY>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.5. 静音

                  指定会议终端某个终端静音,静音后,其他终端无法听到该终端的声音

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_AUDIO_VIDEO_MUTE>

                  <ID>1</ID> //会议ID

                  <AUDIO_MUTE>true</AUDIO_MUTE> //true:静音,false:非静音

                  <VIDEO_MUTE>true</VIDEO_MUTE> // true:阻塞,false:非阻塞

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </SET_AUDIO_VIDEO_MUTE>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.6. 取消静音

                  指定会议终端某个终端取消静音,取消静音后,其他终端可听到该终端的声音

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_AUDIO_VIDEO_MUTE>

                  <ID>1</ID> //会议ID

                  <AUDIO_MUTE>true</AUDIO_MUTE> //true:静音,false:非静音

                  <VIDEO_MUTE>true</VIDEO_MUTE> // true:阻塞,false:非阻塞

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </SET_AUDIO_VIDEO_MUTE>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.7. 闭音

                  指定会议终端某个终端闭音,闭音后,该终端无法听到其他终端的声音

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_AUDIO_BLOCK>

                  <ID>1</ID> //会议ID

                  <AUDIO_BLOCK>true</AUDIO_BLOCK> //true:闭音,false:非闭音

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </SET_AUDIO_BLOCK>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.8. 取消闭音

                  指定会议终端某个终端取消闭音,取消闭音后,该终端可听到其他终端的声音

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_AUDIO_BLOCK>

                  <ID>1</ID> //会议ID

                  <AUDIO_BLOCK>true</AUDIO_BLOCK> //true:闭音,false:非闭音

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </SET_AUDIO_BLOCK>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.9. 阻塞视频

                  指定会议终端某个终端阻塞视频,阻塞后,该终端画面不可见

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_AUDIO_VIDEO_MUTE>

                  <ID>1</ID> //会议ID

                  <AUDIO_MUTE>true</AUDIO_MUTE> //true:静音,false:非静音

                  <VIDEO_MUTE>true</VIDEO_MUTE> // true:阻塞,false:非阻塞

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </SET_AUDIO_VIDEO_MUTE>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.10. 取消阻塞视频

                  指定会议终端某个终端取消阻塞视频,取消后,该终端画面可见。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_AUDIO_VIDEO_MUTE>

                  <ID>1</ID> //会议ID

                  <AUDIO_MUTE>true</AUDIO_MUTE> //true:静音,false:非静音

                  <VIDEO_MUTE>true</VIDEO_MUTE> // true:阻塞,false:非阻塞

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  </SET_AUDIO_VIDEO_MUTE>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.11. 双流者 

                  指定会议终端某个终端的为双流者,指定后此会议中只有该终端才可发送双流。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                      <ACTION>

                          <SET_EXCLUSIVE_CONTENT>

                              <ID>1</ID> //会议ID

                              <PARTY_ID>1</PARTY_ID> //终端ID

                          </SET_EXCLUSIVE_CONTENT>

                      </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.12. 取消双流者

                  取消当前会议中的双流者。取消双流者后,会议中所有的终端都可发送双流

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                      <ACTION>

                          <REMOVE_EXCLUSIVE_CONTENT>

                              <ID>1</ID> //会议ID

                          </REMOVE_EXCLUSIVE_CONTENT>

                      </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.13. 设置演讲者

                  可以设置会议的演讲者。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_1>

                  <ACTION>

                  <SET_LECTURE_MODE>

                  <ID>1</ID> //会议ID

                  <LECTURE_MODE>

                  <ON>true</ON>  

                  <LECTURE_NAME></LECTURE_NAME> // 演讲者名称

                  <LECTURE_ID>-1</LECTURE_ID> //演讲者ID

                  </LECTURE_MODE>

                  </SET_LECTURE_MODE>

                  </ACTION>

                  </TRANS_CONF_1>

                  发送XML给MCU。

                  3.3.14. 设置会议分屏

                  可以设置的会议分屏模式,如单屏、两分屏、四分屏,并指定分屏中每个位置的显示内容。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_1>

                  <ACTION>

                  <SET_VIDEO_LAYOUT>

                  <ID>1</ID> //会议ID

                  <FORCE>

                  <LAYOUT>1x1</LAYOUT> //分屏样式

                  </FORCE>

                  </SET_VIDEO_LAYOUT>

                  </ACTION>

                  </TRANS_CONF_1>

                  发送XML给MCU。

                  3.3.15. 设置终端分屏

                  可以设置某个终端的分屏,如单屏、两分屏、四分屏,并指定分屏中每个位置的显示内容。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_1>

                  <ACTION>

                  <SET_PARTY_VIDEO_LAYOUT_EX>

                  <ID>1</ID> //会议ID

                  <PARTY_ID>1</PARTY_ID> //终端ID

                  <LAYOUT_TYPE>personal</LAYOUT_TYPE>

                  <FORCE>

                  <LAYOUT>1x1</LAYOUT> //分屏样式

                  </FORCE>

                  </SET_PARTY_VIDEO_LAYOUT_EX>

                  </ACTION>

                  </TRANS_CONF_1>

                  发送XML给MCU。

                  3.3.16. 轮询

                  可以设置的会议的轮询终端数量、轮询顺序和轮询间隔。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  <TRANS_CONF_2>

                      <ACTION>

                          <SET_AUTO_SCAN_ORDER>

                              <ID>1</ID> //会议ID

                              <AUTO_SCAN_ORDER>

                                  <PARTY_ORDER>

                                      <ID>1</ID> //终端ID

                                      <ORDER>0</ORDER> //轮询位置

                                  </PARTY_ORDER>

                                  <PARTY_ORDER>

                                      <ID>0</ID> //终端ID

                                      <ORDER>1</ORDER> //轮询位置

                                  </PARTY_ORDER>

                              </AUTO_SCAN_ORDER>

                          </SET_AUTO_SCAN_ORDER>

                      </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。

                  3.3.17. 字幕或会场名称设置

                  提供会议过程中对字幕或会场名称设置的参数。

                  功能说明

                  条件



                  发送



                  返回



                  其它



                  示例代码:

                  会场名:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_MESSAGE_OVERLAY>

                  <ID>1953</ID>

                  <MESSAGE_OVERLAY>

                  <ON>true</ON>

                  <MESSAGE_TEXT>11</MESSAGE_TEXT>

                  <MESSAGE_FONT_SIZE>small</MESSAGE_FONT_SIZE>

                  <MESSAGE_COLOR>white_font_on_light_blue_background</MESSAGE_COLOR>

                  <NUM_OF_REPETITIONS>3</NUM_OF_REPETITIONS>

                  <MESSAGE_DISPLAY_SPEED>slow</MESSAGE_DISPLAY_SPEED>

                  <MESSAGE_DISPLAY_POSITION>bottom</MESSAGE_DISPLAY_POSITION>

                  <MESSAGE_DISPLAY_POSITION_INT>10</MESSAGE_DISPLAY_POSITION_INT>

                  <MESSAGE_FONT_SIZE_INT>24</MESSAGE_FONT_SIZE_INT>

                  <MESSAGE_TRANSPARENCE>50</MESSAGE_TRANSPARENCE>

                  </MESSAGE_OVERLAY>

                  </SET_MESSAGE_OVERLAY>

                  </ACTION>

                  </TRANS_CONF_2>

                  字幕:

                  <TRANS_CONF_2>

                  <ACTION>

                  <SET_MESSAGE_OVERLAY>

                  <ID>1953</ID>

                  <MESSAGE_OVERLAY>

                  <ON>true</ON>

                  <MESSAGE_TEXT>11</MESSAGE_TEXT>

                  <MESSAGE_FONT_SIZE>small</MESSAGE_FONT_SIZE>

                  <MESSAGE_COLOR>white_font_on_light_blue_background</MESSAGE_COLOR>

                  <NUM_OF_REPETITIONS>3</NUM_OF_REPETITIONS>

                  <MESSAGE_DISPLAY_SPEED>slow</MESSAGE_DISPLAY_SPEED>

                  <MESSAGE_DISPLAY_POSITION>bottom</MESSAGE_DISPLAY_POSITION>

                  <MESSAGE_DISPLAY_POSITION_INT>10</MESSAGE_DISPLAY_POSITION_INT>

                  <MESSAGE_FONT_SIZE_INT>24</MESSAGE_FONT_SIZE_INT>

                  <MESSAGE_TRANSPARENCE>50</MESSAGE_TRANSPARENCE>

                  </MESSAGE_OVERLAY>

                  </SET_MESSAGE_OVERLAY>

                  </ACTION>

                  </TRANS_CONF_2>

                  发送XML给MCU。


                  4. 其它

                  其它MCU厂商认为自己的特色功能,或用户强烈要求的功能,可在此进行详细的功能说明及控制接口说明。


                • 亚博app买球-亚博app买球安全直播小助手是一款免费的直播客户端软件,可将桌面、文字、摄像头、指定图片、指定视频任意组合直播、录制、相比于传统的直播工具,它更加简洁、易用,更适合老师使用,只需亚博app买球-亚博app买球安全,即可开始您的课程直播之旅。
                  • 软件下载
                    软件安装与操作下载
                  亚博app买球-亚博app买球安全云转码器是一款提供视频转码功能的工具,可以将当前主流的视频文件统一转换成MP4格式的文件。有别于网络上其他的转码工具,转码器配合亚博app买球-亚博app买球安全TSCloud平台使用,可以在本地将视频文件进行转码,上传到TSCloud平台后无需再次转码,即可发布提供视频点播。
                  • 软件下载
                    软件安装与操作下载
                  1. 亚博app买球-亚博app买球安全