All Products
Search
Document Center

ApsaraVideo Live:High-frequency content moderation solution

Last Updated:Dec 18, 2025

It is a challenge for every live streaming platform to choose the most cost-effective content moderation solution while meeting the business requirements. This topic describes how to configure a content moderation template in ApsaraVideo Live.

Solution architecture

image
  • Moderation scenario: The content moderation feature captures video snapshots and reviews whether the captured images contain the following violations: pornography, terrorism and politically sensitive content, advertisements, and undesirable scenes.

  • Frame capture: For businesses with content of high risks, such as dating applications or major influencers live streaming, we recommend that you use the high-frequency frame capture policy to significantly reduce the possibility of exposing sensitive content. For businesses with relatively low risks, such as game live streaming or event live streaming, we recommend that you use the keyframe capture policy to optimize costs.

Note

There is no big difference between high-frequency frame capture and keyframe capture. However, you can use them to distinguish between different business scenarios.

Configuration methods

  • Method 1: Call an API operation to configure video moderation. For more information, see AddLiveSnapshotDetectPornConfig.

  • Method 2: Use the ApsaraVideo Live console to configure a content moderation template. For more information, see the Procedure section of this topic.

Procedure

Note

Prerequisites:

  • ApsaraVideo Live is activated and is granted the default permissions on Object Storage Service (OSS). For more information, see Activate service and purchase resource plans. After you perform the operations, moderated snapshots that are in question are saved to OSS.

  • An HTTP server is prepared for receiving callbacks.

  1. Log on to the ApsaraVideo Live console.

  2. In the left-side navigation pane, choose Feature Management > Content Moderation. The Content Moderation page appears.

  3. In the domain name list, select the domain name that you want to configure and click Add.

  4. Configure the moderation template. You can configure a video moderation template or audio moderation template on the Video Moderation or Audio Moderation tab based on your business requirements.

    • Video moderation template审核

      The following table describes the parameters for a video moderation template.

      Parameter

      Description

      AppName

      The name of the application. The value of the AppName parameter must be the same as the application name specified in the ingest URL. Otherwise, the configuration does not take effect. If you want to configure video moderation for all applications under the domain name, enter an asterisk (*).

      Scenario

      The moderation scenarios. Valid values:

      • Pornography

      • Terrorism

      • Ad Violation

      • Undesirable Scene

      Snapshot Interval

      The interval between two consecutive snapshots. Unit: seconds. Valid values: 5 to 3600.

      Storage Location

      The storage location of snapshots in OSS.

    • Audio moderation template语音审核

      The following table describes the parameters for an audio moderation template.

      Parameter

      Description

      AppName

      The name of the application. The value of the AppName parameter must be the same as the application name specified in the ingest URL. Otherwise, the configuration does not take effect. The application name is case-sensitive.

      StreamName

      The name of the stream. The value of the StreamName parameter must be the same as the stream name specified in the ingest URL. Otherwise, the configuration does not take effect. The stream name is case-sensitive.

  5. Click OK.

  6. Perform content moderation.

    • After you ingest a stream, content moderation is immediately performed based on the configured template.

    • If any violation is detected, the system sends a callback notification to the user and saves the snapshot in question to the specified OSS bucket. Example:

      {
          "DomainName": "example.aliyundoc.com",
          "AppName": "ondemand_oss",
          "StreamName": "gs0911_4",
          "OssEndpoint": "oss-cn-****.aliyuncs.com",
          "OssBucket": "mts-bucket-test",
          "OssObject": "customer/ondemand_oss/gs0911_4/150513102****.jpg",
          "Result": [
              {
                  "BizType": "default",
                  "Result": [
                      {"Label": "Porn", "Rate":100, "Suggestion": "review", "Scene":"porn", "Extent": {}},
                      {"Label": "Ad", "Rate":100, "Suggestion": "review", "Scene":"ad", "Extent": {}}
                  ]
              }
          ]
      }
      Note
      • DomainName: the domain name.

      • AppName: the application name.

      • StreamName: the stream name.

      • OssEndpoint: the OSS endpoint.

      • OssBucket: the name of the OSS bucket.

      • OssObject: the name of the OSS object.

      • Result: the moderation result.

        • Label: the label corresponding to the moderation result.

        • Rate: the confidence level.

        • Suggestion: the recommended handling method.

        • Scene: the moderation scenario.

        • Extent: the extended field.