tencent cloud

Feedback

Video Moderation

Last updated: 2022-08-10 15:06:27

    Overview

    This document provides an overview of APIs and SDK code samples for video moderation.

    Note:

    The COS Mini Program SDK version must be at least v1.1.1.

    API Description
    Submitting video moderation job Submits video moderation job.
    Querying video moderation job result Queries the result of specified video moderation job.

    Submitting Video Moderation Job

    Feature description

    This API is used to submit a video moderation job.

    Sample request

    var config = {
    // Replace with your own bucket information
    Bucket: 'examplebucket-1250000000', /* Bucket (required) */
    Region: 'COS_REGION', /* Bucket region (required) */
    };
    function postVideoAuditing() {
    var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
    var url = 'https://' + host + '/video/auditing';
    var body = COS.util.json2xml({
      Request: {
        Input: {
          Object: '1.mp4', /* Path of the video file to be moderated in the bucket */
        },
        Conf: {
          BizType: '',
          DetectType: 'Porn',
          Snapshot: {
            Count: 1000, // Number of frames captured
          },
          DetectContent: 1, // Whether to moderate the video sound. Valid values: `0` (moderates video image only); `1` (moderates both video image and sound)
        }
      }
    });
    cos.request({
        Bucket: config.Bucket,
        Region: config.Region,
        Method: 'POST',
        Url: url,
        Key: '/video/auditing', /** Fixed value (required) */
        ContentType: 'application/xml', /** Fixed value (required) */
        Body: body
    },
    function(err, data){
        console.log(err || data);
    });
    }
    

    Parameter description

    Request has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Input Request Video to be moderated. Container Yes
    Conf Request Moderation rule configuration. Container Yes

    Input has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Object Request.Input Name of the video file stored in the COS bucket; for example, if the file is video.mp4 in the test directory, then the filename is test/video.mp4. String Yes
    Url Request.Input Full URL of the video file, such as http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/test.mp4. Either Object or Url can be selected at a time. String No

    Conf has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    DetectType Request.Conf The scene to be moderated, such as Porn (pornography) and Ads (advertising). You can pass in multiple types and separate them by commas, such as Porn,Ads. String No
    Snapshot Request.Conf Video image moderation is implemented by taking a certain number of screenshots based on the video frame capturing capability and then moderating the screenshots one by one. This parameter is used to specify the configuration of video frame capturing. Container Yes
    Callback Request.Conf Callback address, which must start with http:// or https://. String No
    CallbackVersion Request.Conf Structure of the callback content. Valid values: Simple (the callback content contains basic information), Detail (the callback content contains detailed information). Default value: Simple. String No
    BizType Request.Conf Moderation policy. If this parameter is not specified, the default policy will be used. String No
    DetectContent Request.Conf Whether to moderate video sound. Valid values: 0 (moderates the video image only), 1 (moderates both the video image and video sound). Default value: 0. Integer No

    Snapshot has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Mode Request.Conf.Snapshot Frame capturing mode. Valid values: Interval (interval mode), Average (average mode), Fps (fixed frame rate mode).
    • Interval mode: The TimeInterval and Count parameters take effect. If Count is set but TimeInterval is not, all frames will be captured to generate a total of Count images.
    • Average mode: The Count parameter takes effect, indicating to capture a total of Count images at an average interval in the entire video.
    • Fps mode: TimeInterval indicates how many frames to capture per second, and Count indicates how many frames to capture in total.
    String No
    Count Request.Conf.Snapshot The number of captured frames. Value range: (0, 10000]. String No
    TimeInterval Request.Conf.Snapshot Video frame capturing frequency. Value range: (0, 60] seconds. The value supports the float format, accurate to the millisecond. Float No

    Response description

    For more information, see Submitting Video Moderation Job.

    Querying Video Moderation Job Result

    Feature description

    This API is used to query the status and result of a video moderation job.

    Sample request

    var config = {
    // Replace with your own bucket information
    Bucket: 'examplebucket-1250000000', /* Bucket (required) */
    Region: 'COS_REGION', /* Bucket region (required) */
    };
    function getVideoAuditingResult() {
    var jobId = 'av14d9ca15af3a11eca0d6525400d88xxx'; // `jobId`, which is returned after a video moderation job is submitted.
    var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
    var url = 'https://' + host + '/video/auditing/' + jobId;
    cos.request({
        Bucket: config.Bucket,
        Region: config.Region,
        Method: 'GET',
        Key: '/video/auditing/' + jobId,
        Url: url,
    },
    function(err, data){
        console.log(err || data);
    });
    }
    

    Parameter description

    Parameter Description Type Required
    jobId ID of the job to be queried. String Yes

    Response description

    For more information, see Querying Video Moderation Job Result.

    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support