精品国产_亚洲人成在线,最新亚洲人成网站在线观看,国产精品亚洲精品日韩已满

  • <th id="x4qn2"><video id="x4qn2"><acronym id="x4qn2"></acronym></video></th>

    <code id="x4qn2"></code>
    <del id="x4qn2"></del>
    <th id="x4qn2"><video id="x4qn2"><acronym id="x4qn2"></acronym></video></th>
  • 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.  背景

      此文檔僅用于實現用戶的應用場景使用,其它任何人都不能用于其它用途。

       

      三步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.  其它特有功能

      其它錄播廠商認為自己的特色功能,或用戶強烈要求的功能,可在此進行詳細的功能說明及控制接口說明。


    • 互動對接規范

      三步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廠商認為自己的特色功能,或用戶強烈要求的功能,可在此進行詳細的功能說明及控制接口說明。


    • 三步直播小助手簡介
      三步直播小助手是一款免費的直播客戶端軟件,可將桌面、文字、攝像頭、指定圖片、指定視頻任意組合直播、錄制、相比于傳統的直播工具,它更加簡潔、易用,更適合老師使用,只需三步,即可開始您的課程直播之旅。
      • 軟件下載
        軟件安裝與操作下載
      三步云轉碼器簡介
      三步云轉碼器是一款提供視頻轉碼功能的工具,可以將當前主流的視頻文件統一轉換成MP4格式的文件。有別于網絡上其他的轉碼工具,轉碼器配合三步TSCloud平臺使用,可以在本地將視頻文件進行轉碼,上傳到TSCloud平臺后無需再次轉碼,即可發布提供視頻點播。
      • 軟件下載
        軟件安裝與操作下載
    精品国产_亚洲人成在线,最新亚洲人成网站在线观看,国产精品亚洲精品日韩已满