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
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.
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
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.
Log on to the ApsaraVideo Live console.
In the left-side navigation pane, choose . The Content Moderation page appears.
In the domain name list, select the domain name that you want to configure and click Add.
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.
Click OK.
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": {}} ] } ] }NoteDomainName: 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.