<ruby id="rdk4i"><bdo id="rdk4i"><form id="rdk4i"></form></bdo></ruby>
  • <th id="rdk4i"><track id="rdk4i"></track></th>
    <dd id="rdk4i"><noscript id="rdk4i"></noscript></dd>
    <nav id="rdk4i"><big id="rdk4i"></big></nav>
    <rp id="rdk4i"></rp>
  • <dd id="rdk4i"><track id="rdk4i"></track></dd><rp id="rdk4i"><ruby id="rdk4i"><u id="rdk4i"></u></ruby></rp>

      <tbody id="rdk4i"></tbody>
    1. <em id="rdk4i"><tr id="rdk4i"></tr></em>

        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平臺后無需再次轉碼,即可發布提供視頻點播。
          • 軟件下載
            軟件安裝與操作下載
        日本特黄特色大片免费视频,A一级一片男女牲交,一级日本一级做人爱,A级毛片