All Products
Search
Document Center

ApsaraVideo Live:Automated review

Last Updated:Nov 21, 2025

ApsaraVideo Live provides an automated review service to review live stream content for compliance. This service includes both video and audio review. The automated review service uses snapshots and audio to automatically detect potential violations. Content that violates the rules is stored in Object Storage Service (OSS), where you can query and manage it.

Prerequisites

  • The automated review feature is supported only in specific live centers. For more information about the supported live centers, see Supported regions.

  • Video review and audio review are paid services. Before you use these services, make sure that you understand their billing methods and pricing. For more information, see Billing of automated review.

  • Snapshots for video review are stored in OSS and incur storage fees. For more information, see Storage fees.

Background information

The automated review service uses large volumes of annotated data and deep learning algorithms to accurately detect prohibited content in live streams across multiple dimensions, such as voice and vision. The service can detect various types of violations, including pornography, terrorism, politically sensitive content, and advertisements. It also includes features to detect garbage content and review audio. This helps reduce compliance risks and lower manual review costs. Video review detects violations by analyzing snapshots. Audio review detects violations by identifying prohibited content in the audio stream. Notifications for all violations are sent through webhooks for you to process.

Configure review templates

Console

  1. Log on to the ApsaraVideo Live console.

  2. In the navigation pane on the left, click Feature Management > Content Moderation to go to the Content Moderation page.

  3. Select the streaming domain that you want to configure and click the Video Moderation or Audio Moderation tab.

  4. Click Add to configure a review template.

    • Video reviewimage

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

      Parameter

      Description

      Application Name

      The application name. The Application Name must be the same as the Application Name in the ingest URL for the configuration to take effect. You can also use a single asterisk (*) to match all AppNames.

      Scenario

      The following four scenarios are supported.

      • Pornography

      • Terrorism and politically sensitive content

      • Advertisements

      • Garbage content

      Snapshot Interval

      The snapshot interval. Unit: seconds. Value range: 5 to 3600.

      Storage Location

      Select the OSS storage location for the snapshots.

    • Audio reviewimage

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

      Parameter

      Description

      Application Name

      The application name. The Application Name must be the same as the Application Name in the ingest URL for the template to take effect. The value is case-sensitive.

      StreamName

      The StreamName must be the same as the StreamName in the ingest URL for the template to take effect. The value is case-sensitive.

  5. After you configure the parameters, click OK.

API operations

Configure a webhook address

Console operation guide

  1. On the Video Moderation or Audio Moderation tab, set the Callback URL.

    image

  2. Enter the Callback URL.

    image

  3. Check the webhook information on your server. For information about the format of and examples of webhook messages, see Automated review webhooks.

  4. Find the detected content in OSS.

    You can find the specified content in the OSS console based on the information in the webhook.

    • Find the content using the AppName and StreamName.

    • Find the content using the ingest date.

API operation guide

Webhook format description

Default webhook format for video review

A webhook notification is sent only for video content that is identified as problematic. The notification contains the review and storage information of the snapshot that contains the problematic video content.

{
 "DomainName": "example.com",
 "AppName": "liveApp****",
 "StreamName": "liveStream****",
 "OssEndpoint": "oss-cn-hangzhou.aliyuncs.com",
 "OssBucket": "liveBucket****",
 "OssObject": "liveObject****.jpg",
 "Result": [
     {
         "BizType": "example.com",
         "Result": [
             {"Label": "Porn", "Rate":11.1, "Suggestion": "review", "Scene":"porn", "Extent": {}},
             {"Label": "Ad", "Rate":11.1, "Suggestion": "review", "Scene":"ad", "Extent": {}}
         ]
     }
 ]
}
                    

Parameter description

Parameter

Type

Description

DomainName

String

The streaming domain.

AppName

String

The application name.

StreamName

String

The stream name.

OssEndpoint

String

The endpoint of the storage object.

OssBucket

String

The bucket of the storage object.

OssObject

String

The filename of the storage object.

Result

JSONArray

The detection results. For more information, see Result.

Table 1. Result

Parameter

Type

Description

BizType

String

The business type. You can use it to select a model. The default value is the domain name.

Scene

String

The detection scenario.

  • porn: pornography detection.

  • terrorism: terrorism and politically sensitive content.

  • ad: text and image violations.

  • live: undesirable scenes.

  • logo: image logos.

Label

String

The category of the detection result. The result categories vary based on the detection scenario. For more information, see Label.

Rate

Float

The confidence level score. Value range: 0 (lowest confidence) to 100 (highest confidence).

Note

This value is for reference only. We strongly recommend that you do not use it in your business. We recommend that you use the Label result to determine content violations.

Extent

JSONObject

A reserved field.

Table 2. Label

Parameter

Type

Description

porn

String

The result category for pornography detection in images:

  • normal: Normal.

  • sexy: Sexy.

  • porn: Pornographic.

terrorism

String

The result category for detecting terrorism and politically sensitive content in images:

  • normal: Normal.

  • bloody: Contains blood or gore.

  • explosion: Explosion and smoke.

  • outfit: Special attire.

  • logo: Special logo.

  • weapon: Weapon.

  • politics: Politically sensitive.

  • violence : Fighting.

  • crowd: Crowd gathering

  • parade: Parade.

  • carcrash: Car crash scene.

  • flag: Flag.

  • location: Landmark.

  • others: Others.

ad

String

The result category for text and image violations:

  • normal: Normal.

  • ad: Other advertisements.

  • npx: Spam advertisements.

  • qrcode: Contains a QR code.

  • programCode: Contains a miniapp code.

live

String

The result category for undesirable scenes:

  • normal: Normal.

  • meaningless: No content in the image (for example, a black screen or white screen).

  • PIP: Picture-in-Picture (PiP).

  • smoking: Smoking.

  • drivelive: In-car streaming.

logo

String

The result category for image logos:

  • normal: Normal.

  • TV: Contains controlled logos.

  • trademark: Contains trademarks.

Note

By default, new users use this version. Existing users continue to use their current version. To use this version, submit a ticket. For more information about how to submit a ticket, see Contact us.

Default webhook format for audio review

A webhook notification is sent only for audio content that is identified as problematic. The notification contains the text of the problematic audio and its context from the preceding minute.

{
    "domain": "example.com",
    "app": "liveApp****",
    "stream": "5d9747eba39b44769852d276f9ff****",
    "timestamp": 1572248095,
    "result": [
        {
            "scene": "antispam",
            "label": "ad",
            "suggestion": "block",
            "rate": 99.91,
            "details": [
                {
                    "startTime": 1572248023,
                    "endTime": 1572248040,
                    "text": "Free 120-day accommodation rights at hotels in Dali, Longchuan, and other locations. The rights can be shared with family and friends. Visit the Yunqi Community International Hotel reception center at 96 Tuanjie Street, Mangshi, next to Yiyi KTV. Hotline: 2285699",
                    "label": "ad"
                },
                {
                    "startTime": 1572248040,
                    "endTime": 1572248070,
                    "text": "Classic villas at Lianghe Jinta and the second phase of the Binhu Yuan tourist town. Grand opening on November 2nd. Natural spring water, diverse and classic designs, and great value. You deserve to own one. Special offers available on the opening day. We welcome you to visit. Address: 229 Xianfeng Road, Zhedao Town, Ranhe County. Hotline: 069269557776955777",
                    "label": "normal"
                },
                {
                    "startTime": 1572248072,
                    "endTime": 1572248077,
                    "text": "Happy times are spent with you. Relaxing days are especially easy.",
                    "label": "normal"
                },
                {
                    "startTime": 1572248078,
                    "endTime": 1572248086,
                    "text": "fme043 Take a break with music. Warm songs and a cinema you miss.",
                    "label": "normal"
                }
            ]
        }
    ]
}

Parameter

Type

Description

domain

String

The streaming domain.

app

String

The application name.

stream

String

The stream name.

timestamp

Int

The UNIX timestamp of the webhook. Unit: seconds.

result

JSONArray

The detection results. For more information, see Result.

Table 2. Result

Parameter

Type

Description

scene

String

The detection scenario.

label

String

The category of the detection result. Valid values:

  • normal: Normal text

  • spam: Contains spam

  • ad: Advertisement

  • politics: Politically sensitive

  • terrorism: Terrorist acts

  • abuse: Verbal abuse

  • porn: Pornographic

  • flood: Flooding

  • contraband: Contraband

  • meaningless: Meaningless

  • customized: Custom (for example, hits a custom keyword)

suggestion

String

The recommended action. Valid values:

  • pass: The result is normal. No further action is required.

  • review: The result is uncertain. Manual review is required.

  • block: The result is a violation. We recommend that you delete the content or restrict its public access.

rate

Float

The confidence level score. Value range: 0 (lowest confidence) to 100 (highest confidence).

Note

This value is for reference only. We strongly recommend that you do not use it in your business. We recommend that you use the Label result to determine content violations.

details

JSONArray

The text details corresponding to the audio. Each sentence corresponds to an element. It can contain one or more elements. For the structure of each element, see Detail.

Table 3. Detail

Parameter

Type

Description

startTime

Int

The start timestamp of the sentence. Unit: seconds.

endTime

Int

The end timestamp of the sentence. Unit: seconds.

text

String

The text converted from the problematic audio.

label

String

The category of the detection result. Valid values:

  • normal: Normal text

  • spam: Contains spam

  • ad: Advertisement

  • politics: Politically sensitive

  • Terrorism

  • abuse: Abuse

  • porn: Pornographic

  • flood: Flooding

  • contraband: Contraband

  • meaningless: meaningless

  • customized: Custom (for example, hits a custom keyword)

FAQ

Does the automated review service support custom sensitive words?

No. The automated review service does not support custom sensitive words.

Does the automated review service support ingest URLs from other platforms that have authentication parameters?

No. The automated review feature does not support ingest URLs from other platforms.