日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

視頻審核增強版SDK及接入指南

視頻審核增強版支持SDK方式調(diào)用和原生HTTPS方式調(diào)用。推薦您使用SDK接入,可免去簽名驗證以及Body格式構建等細節(jié)步驟。本文介紹視頻審核增強版接入的方式。

步驟一:開通服務

訪問開通內(nèi)容審核增強版服務頁面,開通視頻審核增強版服務。接口接入使用后系統(tǒng)會按使用量自動出賬,具體信息,請參見計費說明您也可以購買按量抵扣資源包,資源包相較于后付費存在一定階梯折扣,適合使用量級可預期和較大的用戶。

開通視頻審核增強版服務后,默認付費方式是按量后付費,且按照實際用量結算當日費用,不調(diào)用服務不收費。

步驟二:為RAM用戶授權

在接入SDK或者API之前,您需要為RAM用戶授權。您可以為RAM用戶創(chuàng)建一個訪問密鑰(AccessKey)。在調(diào)用阿里云API時您需要使用AccessKey完成身份驗證。獲取方式,請參見獲取AccessKey

  1. 使用RAM管理員登錄RAM控制臺

  2. 創(chuàng)建RAM用戶。

    具體操作,請參見創(chuàng)建RAM用戶

  3. 向RAM用戶授權系統(tǒng)策略權限:AliyunYundunGreenWebFullAccess

    具體操作,請參見為RAM用戶授權

    完成以上配置后,您可以使用RAM用戶調(diào)用內(nèi)容安全API。

步驟三:安裝并接入視頻審核服務

目前支持的接入地域為:

地域

外網(wǎng)接入地址

內(nèi)網(wǎng)接入地址

支持的服務

華東2(上海)

green-cip.cn-shanghai.aliyuncs.com

green-cip-vpc.cn-shanghai.aliyuncs.com

videoDetection、liveStreamDetection

華北2(北京)

green-cip.cn-beijing.aliyuncs.com

green-cip-vpc.cn-beijing.aliyuncs.com

華東1(杭州)

green-cip.cn-hangzhou.aliyuncs.com

green-cip-vpc.cn-hangzhou.aliyuncs.com

華南1(深圳)

green-cip.cn-shenzhen.aliyuncs.com

green-cip-vpc.cn-shenzhen.aliyuncs.com

新加坡

green-cip.ap-southeast-1.aliyuncs.com

green-cip-vpc.ap-southeast-1.aliyuncs.com

videoDetection_cb、liveStreamDetection_cb

說明

如果需要其他語言的SDK示例代碼,您可以通過OpenAPI 開發(fā)者門戶在線調(diào)試工具調(diào)試API接口,該工具會自動生成相應API的SDK調(diào)用示例代碼。在線調(diào)試API接口如下:

阿里云SDK代碼通過定義ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET環(huán)境變量來創(chuàng)建默認的訪問憑證。調(diào)用接口時,程序直接訪問憑證,讀取您的訪問密鑰(即AccessKey)并自動完成鑒權。您在接入SDK代碼示例之前,請先配置環(huán)境變量。具體操作,請參見身份驗證配置

API接口字段說明請參考視頻文件審核增強版API視頻直播流審核增強版API

Java SDK

在pom.xml中加入相應依賴,就可以在Maven工程中使用SDK。

  1. dependencies中添加如下依賴:

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>green20220302</artifactId>
      <version>2.2.14</version>
    </dependency>
  2. 接入Java SDK。

    • 提交視頻檢測任務代碼示例

      import com.alibaba.fastjson.JSON;
      import com.alibaba.fastjson.JSONObject;
      import com.aliyun.green20220302.Client;
      import com.aliyun.green20220302.models.VideoModerationRequest;
      import com.aliyun.green20220302.models.VideoModerationResponse;
      import com.aliyun.green20220302.models.VideoModerationResponseBody;
      import com.aliyun.teaopenapi.models.Config;
      
      
      public class VideoModerationDemo {
      
          public static void main(String[] args) throws Exception {
              Config config = new Config();
             /**
               * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
               * 常見獲取環(huán)境變量方式:
               * 方式一:
               *     獲取RAM用戶AccessKey ID:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
               *     獲取RAM用戶AccessKey Secret:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
               * 方式二:
               *     獲取RAM用戶AccessKey ID:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
               *     獲取RAM用戶AccessKey Secret:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
               */
              config.setAccessKeyId("建議從環(huán)境變量中獲取RAM用戶AccessKey ID");
              config.setAccessKeySecret("建議從環(huán)境變量中獲取RAM用戶AccessKey Secret");
              //接入?yún)^(qū)域和地址請根據(jù)實際情況修改。
              config.setRegionId("cn-shanghai");
              config.setEndpoint("green-cip.cn-shanghai.aliyuncs.com");
              //連接時超時時間,單位毫秒(ms)。
              config.setReadTimeout(6000);
              //讀取時超時時間,單位毫秒(ms)。
              config.setConnectTimeout(3000);
              //設置http代理。
              //config.setHttpProxy("http://10.10.xx.xx:xxxx");
              //設置https代理。
              //config.setHttpsProxy("https://10.10.xx.xx:xxxx");
              Client client = new Client(config);
      
              JSONObject serviceParameters = new JSONObject();
              serviceParameters.put("url", "https://xxx.oss.aliyuncs.com/xxx.mp4");
      
              VideoModerationRequest videoModerationRequest = new VideoModerationRequest();
              // 檢測類型:videoDetection
              videoModerationRequest.setService("videoDetection");
              videoModerationRequest.setServiceParameters(serviceParameters.toJSONString());
      
              try {
                  VideoModerationResponse response = client.videoModeration(videoModerationRequest);
                  if (response.getStatusCode() == 200) {
                      VideoModerationResponseBody result = response.getBody();
                      System.out.println(JSON.toJSONString(result));
                      System.out.println("requestId = " + result.getRequestId());
                      System.out.println("code = " + result.getCode());
                      System.out.println("msg = " + result.getMessage());
                      Integer code = result.getCode();
                      if (200 == code) {
                          VideoModerationResponseBody.VideoModerationResponseBodyData data = result.getData();
                          System.out.println("taskId = [" + data.getTaskId() + "]");
                      } else {
                          System.out.println("video moderation not success. code:" + code);
                      }
                  } else {
                      System.out.println("response not success. status:" + response.getStatusCode());
                  }
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      }
    • 獲取視頻檢測任務代碼示例

      import com.alibaba.fastjson.JSON;
      import com.alibaba.fastjson.JSONObject;
      import com.aliyun.green20220302.Client;
      import com.aliyun.green20220302.models.VideoModerationResultRequest;
      import com.aliyun.green20220302.models.VideoModerationResultResponse;
      import com.aliyun.green20220302.models.VideoModerationResultResponseBody;
      import com.aliyun.teaopenapi.models.Config;
      
      public class VideoModerationResultDemo {
      
          public static void main(String[] args) throws Exception {
              Config config = new Config();
              /**
               * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
               * 常見獲取環(huán)境變量方式:
               * 方式一:
               *     獲取RAM用戶AccessKey ID:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
               *     獲取RAM用戶AccessKey Secret:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
               * 方式二:
               *     獲取RAM用戶AccessKey ID:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
               *     獲取RAM用戶AccessKey Secret:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
               */
              config.setAccessKeyId("建議從環(huán)境變量中獲取RAM用戶AccessKey ID");
              config.setAccessKeySecret("建議從環(huán)境變量中獲取RAM用戶AccessKey Secret");
              //接入?yún)^(qū)域和地址請根據(jù)實際情況修改。
              config.setRegionId("cn-shanghai");
              config.setEndpoint("green-cip.cn-shanghai.aliyuncs.com");
              //連接時超時時間,單位毫秒(ms)。
              config.setReadTimeout(6000);
              //讀取時超時時間,單位毫秒(ms)。
              config.setConnectTimeout(3000);
              //設置http代理。
              //config.setHttpProxy("http://10.10.xx.xx:xxxx");
              //設置https代理。
              //config.setHttpsProxy("https://10.10.xx.xx:xxxx");
              Client client = new Client(config);
      
              JSONObject serviceParameters = new JSONObject();
              // 提交任務時返回的taskId。
              serviceParameters.put("taskId", "vi_f_O5z5iaIis3iI0X2oNYj7qa-1x****");
      
      
              VideoModerationResultRequest videoModerationResultRequest = new VideoModerationResultRequest();
              // 檢測類型:videoDetection
              videoModerationResultRequest.setService("videoDetection");
              videoModerationResultRequest.setServiceParameters(serviceParameters.toJSONString());
      
              try {
                  VideoModerationResultResponse response = client.videoModerationResult(videoModerationResultRequest);
                  if (response.getStatusCode() == 200) {
                      VideoModerationResultResponseBody result = response.getBody();
                      System.out.println("requestId=" + result.getRequestId());
                      System.out.println("code=" + result.getCode());
                      System.out.println("msg=" + result.getMessage());
                      if (200 == result.getCode()) {
                          VideoModerationResultResponseBody.VideoModerationResultResponseBodyData data = result.getData();
                          System.out.println("dataId = " + data.getDataId());
                          System.out.println("audioResult = " + JSON.toJSONString(data.getAudioResult()));
                          System.out.println("frameResult = " + JSON.toJSONString(data.getFrameResult()));
                      } else {
                          System.out.println("video moderation result not success. code:" + result.getCode());
                      }
                  } else {
                      System.out.println("response not success. status:" + response.getStatusCode());
                  }
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      }
    • 取消視頻直播流檢測任務代碼示例

      import com.alibaba.fastjson.JSONObject;
      import com.aliyun.green20220302.Client;
      import com.aliyun.green20220302.models.VideoModerationCancelRequest;
      import com.aliyun.green20220302.models.VideoModerationCancelResponse;
      import com.aliyun.green20220302.models.VideoModerationCancelResponseBody;
      import com.aliyun.teaopenapi.models.Config;
      
      
      public class VideoModerationCancelDemo {
      
          public static void main(String[] args) throws Exception {
              Config config = new Config();
          		/**
               * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
               * 常見獲取環(huán)境變量方式:
               * 方式一:
               *     獲取RAM用戶AccessKey ID:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
               *     獲取RAM用戶AccessKey Secret:System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
               * 方式二:
               *     獲取RAM用戶AccessKey ID:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
               *     獲取RAM用戶AccessKey Secret:System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
               */
              config.setAccessKeyId("建議從環(huán)境變量中獲取RAM用戶AccessKey ID");
              config.setAccessKeySecret("建議從環(huán)境變量中獲取RAM用戶AccessKey Secret");
              //接入?yún)^(qū)域和地址請根據(jù)實際情況修改
              config.setRegionId("cn-shanghai");
              config.setEndpoint("green-cip.cn-shanghai.aliyuncs.com");
              //連接時超時時間,單位毫秒(ms)。
              config.setReadTimeout(6000);
              //讀取時超時時間,單位毫秒(ms)。
              config.setConnectTimeout(3000);
              //設置http代理。
              //config.setHttpProxy("http://xx.xx.xx.xx:xxxx");
              //設置https代理。
              //config.setHttpsProxy("https://xx.xx.xx.xx:xxxx");
              Client client = new Client(config);
      
              JSONObject serviceParameters = new JSONObject();
              // 提交任務時返回的taskId
              serviceParameters.put("taskId", "vi_f_O5z5iaIis3iI0X2oNYj7qa-1x****");
      
              VideoModerationCancelRequest videoModerationCancelRequest = new VideoModerationCancelRequest();
              
              videoModerationCancelRequest.setService("liveStreamDetection");
              videoModerationCancelRequest.setServiceParameters(serviceParameters.toJSONString());
      
              try {
                  VideoModerationCancelResponse response = client.videoModerationCancel(videoModerationCancelRequest);
                  if (response.getStatusCode() == 200) {
                      VideoModerationCancelResponseBody result = response.getBody();
                      System.out.println("requestId=" + result.getRequestId());
                      System.out.println("code=" + result.getCode());
                      System.out.println("msg=" + result.getMessage());
                      if (200 != result.getCode()) {
                          System.out.println("video moderation cancel not success. code:" + result.getCode());
                      }
                  } else {
                      System.out.println("response not success. status:" + response.getStatusCode());
                  }
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      }

Python SDK

支持Python 3.6及以上版本。

  1. 執(zhí)行如下命令安裝pip。

    pip install alibabacloud_green20220302==2.2.14
  2. 接入Python SDK。

    • 提交視頻檢測任務代碼示例

      #encoding:utf-8
      # python version >= 3.6
      from alibabacloud_green20220302.client import Client
      from alibabacloud_green20220302 import models
      from alibabacloud_tea_openapi.models import Config
      import json
      
      config = Config(
                  # 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
                  # 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
                  # 常見獲取環(huán)境變量方式:
                  # 獲取RAM用戶AccessKey ID:os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
                  # 獲取RAM用戶AccessKey Secret:os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
                  access_key_id='建議從環(huán)境變量中獲取RAM用戶AccessKey ID',
                  access_key_secret='建議從環(huán)境變量中獲取RAM用戶AccessKey Secret',
                  # 連接時超時時間,單位毫秒(ms)。
                  connect_timeout=3000,
                  # 讀取時超時時間,單位毫秒(ms)。
                  read_timeout=6000,
                  # 接入?yún)^(qū)域和地址請根據(jù)實際情況修改。
                  region_id='cn-shanghai',
                  endpoint='green-cip.cn-shanghai.aliyuncs.com'
      )
      
      clt = Client(config)
      
      serviceParameters = {
          'url': 'https://xxx.oss.aliyuncs.com/xxx.mp4'
      }
      videoModerationRequest = models.VideoModerationRequest(
          # 檢測類型:videoDetection
          service='videoDetection',
          service_parameters=json.dumps(serviceParameters)
      )
      
      try:
          response = clt.video_moderation(videoModerationRequest)
          if response.status_code == 200:
              # 調(diào)用成功。
              # 獲取審核結果。
              result = response.body
              print('response success. result:{}'.format(result))
          else:
              print('response not success. status:{} ,result:{}'.format(response.status_code, response))
      except Exception as err:
          print(err)
    • 獲取視頻檢測任務結果

      # coding=utf-8
      # python version >= 3.6
      from alibabacloud_green20220302.client import Client
      from alibabacloud_green20220302 import models
      from alibabacloud_tea_openapi.models import Config
      import json
      
      config = Config(
                  # 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
                  # 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
                  # 常見獲取環(huán)境變量方式:
                  # 獲取RAM用戶AccessKey ID:os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
                  # 獲取RAM用戶AccessKey Secret:os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
                  access_key_id='建議從環(huán)境變量中獲取RAM用戶AccessKey ID',
                  access_key_secret='建議從環(huán)境變量中獲取RAM用戶AccessKey Secret',
                  # 連接時超時時間,單位毫秒(ms)。
                  connect_timeout=3000,
                  # 讀取時超時時間,單位毫秒(ms)。
                  read_timeout=6000,
                  # 接入?yún)^(qū)域和地址請根據(jù)實際情況修改。
                  region_id='cn-shanghai',
                  endpoint='green-cip.cn-shanghai.aliyuncs.com'
      )
      
      clt = Client(config)
      
      # 提交任務時返回的taskId。
      serviceParameters = {
          "taskId": 'vi_f_11w5THcbVYctjdxz2C0Afa-1x****'
      }
      videoModerationResultRequest = models.VideoModerationResultRequest(
          # 檢測類型:videoDetection
          service='videoDetection',
          service_parameters=json.dumps(serviceParameters)
      )
      
      try:
          response = clt.video_moderation_result(videoModerationResultRequest)
          if response.status_code == 200:
              # 調(diào)用成功。
              # 獲取審核結果。
              result = response.body
              print('response success. result:{}'.format(result))
          else:
              print('response not success. status:{} ,result:{}'.format(response.status_code, response))
      except Exception as err:
          print(err)
    • 取消視頻直播流檢測任務代碼示例

      # coding=utf-8
      # python version >= 3.6
      from alibabacloud_green20220302.client import Client
      from alibabacloud_green20220302 import models
      from alibabacloud_tea_openapi.models import Config
      import json
      
      config = Config(
          # 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
          # 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
          # 常見獲取環(huán)境變量方式:
          # 獲取RAM用戶AccessKey ID:os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
          # 獲取RAM用戶AccessKey Secret:os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
          access_key_id='建議從環(huán)境變量中獲取RAM用戶AccessKey ID',
          access_key_secret='建議從環(huán)境變量中獲取RAM用戶AccessKey Secret',
          # 連接超時時間 單位毫秒(ms)
          connect_timeout=10000,
          # 讀超時時間 單位毫秒(ms)
          read_timeout=3000,
          region_id='cn-shanghai',
          endpoint='green-cip.cn-shanghai.aliyuncs.com'
      )
      
      clt = Client(config)
      
      # 提交任務時返回的taskId
      serviceParameters = {
          "taskId": 'vi_f_O5z5iaIis3iI0X2oNYj7qa-1x****'
      }
      videoModerationCancelRequest = models.VideoModerationCancelRequest(
          # 檢測類型
          service='liveStreamDetection',
          service_parameters=json.dumps(serviceParameters)
      )
      
      try:
          response = clt.video_moderation_cancel(videoModerationCancelRequest)
          if response.status_code == 200:
              # 調(diào)用成功
              result = response.body
              print('response success. result:{}'.format(result))
          else:
              print('response not success. status:{} ,result:{}'.format(response.status_code, response))
      except Exception as err:
          print(err)

PHP SDK

支持PHP 5.6及以上版本。

  1. 執(zhí)行如下命令引入相關依賴。

    composer require alibabacloud/green-20220302 2.2.14
  2. 接入PHP SDK。

    • 提交視頻檢測任務代碼示例

      <?php
      require('vendor/autoload.php');
      
      use AlibabaCloud\SDK\Green\V20220302\Models\VideoModerationRequest;
      use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
      use Darabonba\OpenApi\Models\Config;
      use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
      use AlibabaCloud\SDK\Green\V20220302\Green;
      
      $config = new Config([
          /**
           * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
           * 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
           * 常見獲取環(huán)境變量方式:
           * 獲取RAM用戶AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
           * 獲取RAM用戶AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
           */
          "accessKeyId" => '建議從環(huán)境變量中獲取RAM用戶AccessKey ID',
          "accessKeySecret" => '建議從環(huán)境變量中獲取RAM用戶AccessKey Secret',
          // 設置HTTP代理。
          // "httpProxy" => "http://10.10.xx.xx:xxxx",
          // 設置HTTPS代理。
          // "httpsProxy" => "https://10.10.xx.xx:xxxx",
          "endpoint" => "green-cip.cn-shanghai.aliyuncs.com",
          "regionId" => "cn-shanghai"
      
      ]);
      // 注意,此處實例化的client請盡可能重復使用,避免重復建立連接,提升檢測性能。
      $client = new Green($config);
      
      $request = new VideoModerationRequest();
      // 檢測類型: videoDetection 視頻文件檢測, liveStreamDetection 視頻直播流檢測
      $request->service = "videoDetection";
      $serviceParameters = array("url" => "https://xxx.oss.aliyuncs.com/xxx.mp4");
      
      $request->serviceParameters = json_encode($serviceParameters);
      
      $runtime = new RuntimeOptions();
      $runtime->readTimeout = 6000;
      $runtime->connectTimeout = 3000;
      
      try {
          $response = $client->videoModerationWithOptions($request, $runtime);
          print_r($response->body);
          if (200 != $response->statusCode) {
              print_r("response not success. code:" . $response->statusCode);
              return;
          }
          $body = $response->body;
          print_r("requestId = " . $body->requestId . "\n");
          print_r("code = " . $body->code . "\n");
          print_r("message = " . $body->message . "\n");
          if (200 != $body->code) {
              print_r("video moderation not success. code:" . $body->code);
          }
          $data = $body->data;
          print_r("taskId = " . $data->taskId);
      } catch (TeaUnableRetryError $e) {
          var_dump($e->getMessage());
          var_dump($e->getErrorInfo());
          var_dump($e->getLastException());
          var_dump($e->getLastRequest());
      }
    • 獲取視頻檢測任務代碼示例

      <?php
      require('vendor/autoload.php');
      
      use AlibabaCloud\SDK\Green\V20220302\Models\VideoModerationResultRequest;
      use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
      use Darabonba\OpenApi\Models\Config;
      use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
      use AlibabaCloud\SDK\Green\V20220302\Green;
      
      $config = new Config([
          /**
           * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
           * 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
           * 常見獲取環(huán)境變量方式:
           * 獲取RAM用戶AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
           * 獲取RAM用戶AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
           */
          "accessKeyId" => '建議從環(huán)境變量中獲取RAM用戶AccessKey ID',
          "accessKeySecret" => '建議從環(huán)境變量中獲取RAM用戶AccessKey Secret',
          // 設置HTTP代理。
          // "httpProxy" => "http://10.10.xx.xx:xxxx",
          // 設置HTTPS代理。
          // "httpsProxy" => "https://10.10.xx.xx:xxxx",
          "endpoint" => "green-cip.cn-shanghai.aliyuncs.com",
          "regionId" => "cn-shanghai"
      
      ]);
      // 注意,此處實例化的client請盡可能重復使用,避免重復建立連接,提升檢測性能。
      $client = new Green($config);
      
      $request = new VideoModerationResultRequest();
      // 檢測類型: videoDetection 視頻文件檢測, liveStreamDetection 視頻直播流檢測
      $request->service = "videoDetection";
      $serviceParameters = array("taskId" => "vi_f_O5z5iaIis3iI0X2oNYj7qa-1x****");
      
      $request->serviceParameters = json_encode($serviceParameters);
      
      $runtime = new RuntimeOptions();
      $runtime->readTimeout = 6000;
      $runtime->connectTimeout = 3000;
      
      try {
          $response = $client->videoModerationResultWithOptions($request, $runtime);
          if (200 != $response->statusCode) {
              print_r("response not success. code:" . $response->statusCode);
              return;
          }
          $body = $response->body;
          print_r("requestId = " . $body->requestId . "\n");
          print_r("code = " . $body->code . "\n");
          print_r("message = " . $body->message . "\n");
          if (280 == $body->code) {
              print_r("processing video moderation. code:" . $body->code);
              return;
          }
          if (200 != $body->code) {
              print_r("video moderation result not success. code:" . $body->code);
              return;
          }
          $data = $body->data;
          print_r("liveId = " . $data->liveId . "\n");
          print_r("dataId = " . $data->dataId . "\n");
          print_r("audioResult = " . json_encode($data->audioResult) . "\n");
          print_r("frameResult = " . json_encode($data->frameResult) . "\n");
      } catch (TeaUnableRetryError $e) {
          var_dump($e->getMessage());
          var_dump($e->getErrorInfo());
          var_dump($e->getLastException());
          var_dump($e->getLastRequest());
      }
    • 取消視頻直播流檢測任務代碼示例

      <?php
        require('vendor/autoload.php');
      
      use AlibabaCloud\SDK\Green\V20220302\Models\VideoModerationCancelRequest;
      use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
      use Darabonba\OpenApi\Models\Config;
      use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
      use AlibabaCloud\SDK\Green\V20220302\Green;
      
      $config = new Config([
          /**
           * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
           * 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
           * 常見獲取環(huán)境變量方式:
           * 獲取RAM用戶AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
           * 獲取RAM用戶AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
           */
          "accessKeyId" => '建議從環(huán)境變量中獲取RAM用戶AccessKey ID',
          "accessKeySecret" => '建議從環(huán)境變量中獲取RAM用戶AccessKey Secret',
          // 設置HTTP代理。
          // "httpProxy" => "http://10.10.xx.xx:xxxx",
          // 設置HTTPS代理。
          // "httpsProxy" => "https://10.10.xx.xx:xxxx",
          "endpoint" => "green-cip.cn-shanghai.aliyuncs.com",
          "regionId" => "cn-shanghai"
      
      ]);
      // 注意,此處實例化的client請盡可能重復使用,避免重復建立連接,提升檢測性能。
      $client = new Green($config);
      
      $request = new VideoModerationCancelRequest();
      // 檢測類型: videoDetection 視頻文件檢測, liveStreamDetection 視頻直播流檢測
      $request->service = "liveStreamDetection";
      $serviceParameters = array('taskId' => 'vi_s_lyxBXzWhSsxuJjiNHcpQ0N-*****');
      
      $request->serviceParameters = json_encode($serviceParameters);
      
      $runtime = new RuntimeOptions();
      $runtime->readTimeout = 6000;
      $runtime->connectTimeout = 3000;
      
      try {
        $response = $client->videoModerationCancel($request, $runtime);
        print_r($response->body);
        if (200 == $response->statusCode) {
          $body = $response->body;
          print_r("requestId = " . $body->requestId);
          print_r("code = " . $body->code);
          print_r("message = " . $body->message);
          if (200 != $body->code) {
            print_r("video moderation cancel not success. code:" . $body->code);
          }
        } else {
          print_r("response not success. code:" . $response->statusCode);
        }
      } catch (TeaUnableRetryError $e) {
        var_dump($e->getMessage());
        var_dump($e->getErrorInfo());
        var_dump($e->getLastException());
        var_dump($e->getLastRequest());
      }

Go SDK

  1. 執(zhí)行如下命令引入相關依賴。

    go git clone --branch v2.2.15 github.com/alibabacloud-go/green-20220302/v2
  2. 接入Go SDK。

    • 提交視頻檢測任務代碼示例

      package main
      
      import (
          "encoding/json"
          "fmt"
          openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
          green20220302 "github.com/alibabacloud-go/green-20220302/client"
          util "github.com/alibabacloud-go/tea-utils/v2/service"
          "github.com/alibabacloud-go/tea/tea"
          "net/http"
      )
      
      func main() {
          // 工程代碼泄露可能會導致AccessKey泄露,并威脅賬號下所有資源的安全性。以下代碼示例僅供參考,建議使用更安全的STS方式。
          config := &openapi.Config{
              /**
               * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
               * 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
               * 常見獲取環(huán)境變量方式:
               * 獲取RAM用戶AccessKey ID:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
               * 獲取RAM用戶AccessKey Secret:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
               */
              AccessKeyId: tea.String("建議從環(huán)境變量中獲取RAM用戶AccessKey ID"),
              AccessKeySecret: tea.String("建議從環(huán)境變量中獲取RAM用戶AccessKey Secret"),
              // 設置HTTP代理。
              // HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
              // 設置HTTPS代理。
              // HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
              RegionId: tea.String("cn-shanghai"),
              Endpoint: tea.String("green-cip.cn-shanghai.aliyuncs.com"),
              /**
      		 * 請設置超時時間。服務端全鏈路處理超時時間為10秒,請做相應設置。
      		 * 如果您設置的ReadTimeout小于服務端處理的時間,程序中會獲得一個ReadTimeout異常。
      		 */
              ConnectTimeout: tea.Int(3000),
              ReadTimeout:    tea.Int(6000),
          }
          client, _err := green20220302.NewClient(config)
          if _err != nil {
              panic(_err)
          }
      
          // 創(chuàng)建RuntimeObject實例并設置運行參數(shù)。
          runtime := &util.RuntimeOptions{}
          runtime.ReadTimeout = tea.Int(10000)
          runtime.ConnectTimeout = tea.Int(10000)
      
          serviceParameters, _ := json.Marshal(
              map[string]interface{}{
                  "url": "https://xxx.oss.aliyuncs.com/xxx.mp4",
              },
          )
          request := green20220302.VideoModerationRequest{
              Service:           tea.String("videoDetection"),
              ServiceParameters: tea.String(string(serviceParameters)),
          }
      
          result, _err := client.VideoModerationWithOptions(&request, runtime)
          if _err != nil {
              panic(_err)
          }
      
          if *result.StatusCode != http.StatusOK {
              fmt.Printf("response not success. status:%d\n", *result.StatusCode)
              return
          }
          body := result.Body
          fmt.Printf("response success. requestId:%s, code:%d, msg:%s\n", *body.RequestId, *body.Code, *body.Message)
          if *body.Code != http.StatusOK {
              fmt.Printf("video moderation not success. code:%d\n", *body.Code)
              return
          }
          
          data := body.Data
          fmt.Printf("video moderation taskId:%s\n", *data.TaskId)
      }
    • 獲取視頻檢測任務結果

      package main
      
      import (
      	"encoding/json"
      	"fmt"
      	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
      	green20220302 "github.com/alibabacloud-go/green-20220302/client"
      	util "github.com/alibabacloud-go/tea-utils/v2/service"
      	"github.com/alibabacloud-go/tea/tea"
      	"net/http"
      )
      
      func main() {
      	// 工程代碼泄露可能會導致AccessKey泄露,并威脅賬號下所有資源的安全性。以下代碼示例僅供參考,建議使用更安全的STS方式。
          config := &openapi.Config{
              /**
               * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
               * 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
               * 常見獲取環(huán)境變量方式:
               * 獲取RAM用戶AccessKey ID:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
               * 獲取RAM用戶AccessKey Secret:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
               */
              AccessKeyId: tea.String("建議從環(huán)境變量中獲取RAM用戶AccessKey ID"),
              AccessKeySecret: tea.String("建議從環(huán)境變量中獲取RAM用戶AccessKey Secret"),
              // 設置HTTP代理。
              // HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
              // 設置HTTPS代理。
              // HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
              RegionId: tea.String("cn-shanghai"),
              Endpoint: tea.String("green-cip.cn-shanghai.aliyuncs.com"),
              /**
      		 * 請設置超時時間。服務端全鏈路處理超時時間為10秒,請做相應設置。
      		 * 如果您設置的ReadTimeout小于服務端處理的時間,程序中會獲得一個ReadTimeout異常。
      		 */
              ConnectTimeout: tea.Int(3000),
              ReadTimeout:    tea.Int(6000),
          }
      	client, _err := green20220302.NewClient(config)
      	if _err != nil {
      		panic(_err)
      	}
      
      	// 創(chuàng)建RuntimeObject實例并設置運行參數(shù)。
      	runtime := &util.RuntimeOptions{}
      	runtime.ReadTimeout = tea.Int(10000)
      	runtime.ConnectTimeout = tea.Int(10000)
      
      	serviceParameters, _ := json.Marshal(
      		map[string]interface{}{
      			"taskId": "vi_f_O5z5iaIis3iI0X2oNYj7qa-1x****",
      		},
      	)
      	request := green20220302.VideoModerationResultRequest{
      		Service:           tea.String("videoDetection"),
      		ServiceParameters: tea.String(string(serviceParameters)),
      	}
      
      	result, _err := client.VideoModerationResultWithOptions(&request, runtime)
      	if _err != nil {
      		panic(_err)
      	}
      
      	if *result.StatusCode != http.StatusOK {
      		fmt.Printf("response not success. status:%d\n", *result.StatusCode)
      		return
      	}
      	body := result.Body
      	fmt.Printf("response success. requestId:%s, code:%d, msg:%s\n", *body.RequestId, *body.Code, *body.Message)
      	if *body.Code == 280 {
      		fmt.Printf("processing video moderation. code:%d\n", *body.Code)
      		return
      	}
      	if *body.Code != http.StatusOK {
      		fmt.Printf("video moderation result not success. code:%d\n", *body.Code)
      		return
      	}
      
      	data := body.Data
          fmt.Printf("video moderation result:%s\n", data)
      	fmt.Printf("video moderation result audioResult:%s\n", data.AudioResult)
      	fmt.Printf("video moderation result frameResult:%s\n", data.FrameResult)
      }
    • 取消視頻直播流檢測任務代碼示例

      package main
      
      import (
          "encoding/json"
          "fmt"
          openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
          green20220302 "github.com/alibabacloud-go/green-20220302/client"
          util "github.com/alibabacloud-go/tea-utils/v2/service"
          "github.com/alibabacloud-go/tea/tea"
          "net/http"
      )
      
      func main() {
      	// 工程代碼泄露可能會導致AccessKey泄露,并威脅賬號下所有資源的安全性。以下代碼示例僅供參考,建議使用更安全的STS方式。
          config := &openapi.Config{
              /**
               * 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
               * 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
               * 常見獲取環(huán)境變量方式:
               * 獲取RAM用戶AccessKey ID:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
               * 獲取RAM用戶AccessKey Secret:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
               */
              AccessKeyId: tea.String("建議從環(huán)境變量中獲取RAM用戶AccessKey ID"),
              AccessKeySecret: tea.String("建議從環(huán)境變量中獲取RAM用戶AccessKey Secret"),
              // 設置HTTP代理。
              // HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
              // 設置HTTPS代理。
              // HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
              RegionId: tea.String("cn-shanghai"),
              Endpoint: tea.String("green-cip.cn-shanghai.aliyuncs.com"),
              /**
      		 * 請設置超時時間。服務端全鏈路處理超時時間為10秒,請做相應設置。
      		 * 如果您設置的ReadTimeout小于服務端處理的時間,程序中會獲得一個ReadTimeout異常。
      		 */
              ConnectTimeout: tea.Int(3000),
              ReadTimeout:    tea.Int(6000),
          }
      	client, _err := green20220302.NewClient(config)
      	if _err != nil {
      		panic(_err)
      	}
      
          // 創(chuàng)建RuntimeObject實例并設置運行參數(shù)。
          runtime := &util.RuntimeOptions{}
          runtime.ReadTimeout = tea.Int(10000)
          runtime.ConnectTimeout = tea.Int(10000)
      
          serviceParameters, _ := json.Marshal(
              map[string]interface{}{
                  "taskId": "vi_s_lyxBXzWhSsxuJjiNHcpQ0N-*****",
              },
          )
          request := green20220302.VideoModerationCancelRequest{
              Service:           tea.String("liveStreamDetection"),
              ServiceParameters: tea.String(string(serviceParameters)),
          }
      
          result, _err := client.VideoModerationCancelWithOptions(&request, runtime)
          if _err != nil {
              panic(_err)
          }
      
          if *result.StatusCode != http.StatusOK {
              fmt.Printf("response not success. status:%d\n", *result.StatusCode)
              return
          }
          body := result.Body
          fmt.Printf("response success. requestId:%s, code:%d, msg:%s\n", *body.RequestId, *body.Code, *body.Message)
          if *body.Code != http.StatusOK {
              fmt.Printf("video moderation cancel not success. code:%d\n", *body.Code)
          }
      }