ビデオライブストリームモデレーション 2.0 は、ライブストリームの動画と音声に含まれるリスクのあるコンテンツの検出に役立ちます。このトピックでは、API 操作を使用してライブストリームモデレーションを実行する方法について説明します。
オンボーディングガイド
Alibaba Cloud アカウントを登録し、指示に従って登録を完了します。
AI ガードレールの従量課金を有効化します。サービスが有効化されていることを確認してください。詳細については、「サービスの有効化」をご参照ください。サービスの有効化に料金は発生しません。API を使用すると、システムが使用量に基づいて自動的に課金します。詳細については、「課金の説明」をご参照ください。
RAM コンソールで AccessKey を作成します。詳細については、「AccessKey の作成」をご参照ください。RAM ユーザーの AccessKey を使用する場合は、Alibaba Cloud アカウントを使用して、RAM ユーザーに AliyunYundunGreenWebFullAccess 権限を付与する必要があります。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
サービスを開発して統合します。SDK を使用してオペレーションを呼び出すことを推奨します。詳細については、「ビデオモデレーション SDK v2.0 と統合ガイド」をご参照ください。
ライブ動画ストリームモデレーションサービスには、次の 3 つの API オペレーションが含まれます。
VideoModeration: ライブストリームモデレーションタスクの送信
VideoModerationResult: ライブストリームモデレーションタスクの結果のクエリ
VideoModerationCancel: ライブストリームモデレーションタスクのキャンセル
モデレーションジョブの送信
API の説明
API オペレーション: VideoModeration。このオペレーションは、ライブビデオストリームの非同期モデレーションのみをサポートしています。
対応リージョンとエンドポイント:
リージョン
パブリックエンドポイント
VPC エンドポイント
対応サービス
Singapore
green-cip.ap-southeast-1.aliyuncs.com
green-cip-vpc.ap-southeast-1.aliyuncs.com
liveStreamDetection_global, liveStreamDetectionByVL_global
US (Virginia)
green-cip.us-east-1.aliyuncs.com
green-cip-vpc.us-east-1.aliyuncs.com
liveStreamDetection_global
US (Silicon Valley)
green-cip.us-west-1.aliyuncs.com
利用不可
Germany (Frankfurt)
green-cip.eu-central-1.aliyuncs.com
利用不可
課金:
本オペレーションは有料です。ライブビデオフレームと音声に対して設定したモデレーションポリシーに基づいて課金されます。ライブビデオフレームでは、複数のサービスを選択できます。合計料金は、ビデオスナップショットの数に各サービスの単価を乗じて計算されます。ライブストリーム内の音声も違反がないかモデレーションする場合、追加料金が課金されます。この料金は、動画の再生時間に音声モデレーション機能の単価を乗じて計算されます。課金方法の詳細については、「課金」をご参照ください。
検出対象: ライブビデオストリーム。
応答: 非同期モデレーションジョブは、結果をリアルタイムでは返しません。コールバックまたはポーリングを使用してモデレーション結果を取得する必要があります。
コールバックを使用してモデレーション結果を取得する: 非同期モデレーションジョブを送信する際に、リクエストで callback パラメーターを指定すると、モデレーション結果を自動的に受信できます。
ポーリングを使用してモデレーション結果を取得する: 非同期モデレーションジョブを送信する際に、callback パラメーターを指定しないでください。ジョブの送信後、結果クエリ操作を呼び出してモデレーション結果を取得できます。
ライブストリームの要件:
対応プロトコル: RTMP、HLS、HTTP-FLV、RTSP。
ライブストリームの持続時間制限: 1 回のライブビデオストリームモデレーションジョブは、最大 24 時間まで継続できます。この制限を超えると、ジョブは自動的に終了します。
-
検出ルールの設定:
-
初回の呼び出しでは、Content Moderation コンソールでライブストリームモデレーションのルールを設定できます。
-
ルールを設定しない場合、Live Stream Moderation V2.0 API は、次のデフォルト設定を使用します:
サービス
デフォルト設定
ライブストリーム検出 (liveStreamDetection_global)
-
固定フレームキャプチャ頻度: 1 フレーム/秒
-
ビデオフレーム検出サービス: 汎用ベースライン検出 (baselineCheck_global)
-
ビデオ音声検出: 有効
-
ビデオ音声検出サービス: Social and entertainment live stream detection (live_stream_detection_global)
-
結果の返却方法: 検出された脅威を含む結果のみを返します
ライブストリーム検出 (大規模モデル) (liveStreamDetectionByVL_global)
説明現在は Beijing リージョンと Shanghai リージョンでのみサポートされています。大規模モデル版は、同時インジェストエンドポイントが 10 に制限されています。
-
固定フレームキャプチャ頻度: 1 フレーム/秒
-
ビデオフレーム検出サービス: Image moderation service with large and small models (postImageCheckByVL)
-
ビデオ音声検出: 有効
-
ビデオ音声検出サービス: Social and entertainment live stream detection (live_stream_detection)
-
結果の返却方法: 検出された脅威を含む結果のみを返します
-
-
QPS 制限
このオペレーションの 1 秒あたりのクエリ数 (QPS) 制限は、ユーザーごとに 100 です。同時モデレーションストリームの数は 50 に制限されています。つまり、最大 50 個のジョブを同時に処理できます。制限を引き上げるには、ビジネスマネージャーにお問い合わせください。制限を超えると、API 呼び出しがスロットリングされます。これはビジネスに影響を及ぼす可能性があります。オペレーションは適切に呼び出してください。
デバッグ
統合前に、Alibaba Cloud OpenAPI を使用して、VideoModeration API のオンラインでのデバッグ、サンプルコードと SDK 依存関係情報の確認、API メソッドとパラメーターの概要の取得も可能です。
オンラインデバッグ機能は、ログイン中のアカウントで AI ガードレールの API オペレーションを呼び出します。そのため、呼び出し回数はアカウントの課金対象の使用量に加算されます。
リクエストパラメータ
名前 | タイプ | 必須 | 例 | 説明 |
Service | 文字列 | はい | liveStreamDetection_global | モデレーションサービスの種類です。有効な値:
|
ServiceParameters | JSONString | はい | モデレーションサービスに必要なパラメーターです。値は JSONString です。パラメーターの詳細については、「表 1. ServiceParameters」をご参照ください。 |
表 1. サービスパラメーター
名前 | 型 | 必須 | 例 | 説明 |
url | 文字列 | はい | http://www.aliyundoc.com/a.flv | モデレーション対象オブジェクトの URL です。URL がインターネット経由でアクセス可能であることを確認してください。URL の長さは最大 2,048 文字です。 説明 URL に中国語の文字を含めることはできません。各リクエストで指定する URL は 1 つのみにしてください。 |
callback | 文字列 | いいえ | http://www.aliyundoc.com | モデレーション結果をコールバックで送信する URL です。HTTP と HTTPS がサポートされています。このパラメーターを空にした場合は、モデレーション結果をポーリングする必要があります。 コールバックインターフェイスは、POST リクエスト、UTF-8 でエンコードされたデータ、および checksum と content のフォームパラメーターをサポートする必要があります。 AI Guardrails は、次のルールと形式に基づいて checksum および content パラメーターを設定し、コールバックインターフェイスを呼び出してモデレーション結果を返します。
説明 コールバックサーバーが AI Guardrails によってプッシュされた結果を受信した後、返された HTTP ステータスコードが 200 の場合、結果の受信は成功とみなされます。その他の HTTP ステータスコードは失敗を意味します。結果の受信に失敗した場合、AI Guardrails は結果が正常に受信されるまで、モデレーション結果のプッシュを最大 16 回再試行します。16 回再試行しても結果が受信されない場合、結果はそれ以上プッシュされません。コールバックインターフェイスのステータスを確認することを推奨します。 |
seed | 文字列 | いいえ | abc**** | コールバック通知リクエストの署名に使用されるランダムな文字列です。 文字列には、英字、数字、アンダースコア (_) を含めることができ、長さは最大 64 文字です。この値をカスタマイズして、コールバック通知リクエストが Alibaba Cloud AI Guardrails サービスによって開始されたことを確認できます。 説明 このパラメーターは、コールバックを使用する場合に必須です。 |
cryptType | 文字列 | いいえ | SHA256 | コールバック通知の署名に使用する暗号化アルゴリズムです。AI Guardrails は、指定した暗号化アルゴリズムに基づいて、返された結果 (ユーザー UID + シード + content 文字列) の署名を計算し、その署名をコールバック URL に送信します。有効な値:
|
dataId | 文字列 | いいえ | videoId**** | オブジェクトのデータ ID です。 ID には、英大文字、英小文字、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.) を含めることができ、長さは最大 128 文字です。この ID を使用して、ビジネスデータを一意に識別できます。 |
liveId | 文字列 | いいえ | liveId**** | ライブビデオストリームの ID です。 このパラメーターは、重複するライブビデオストリームのモデレーションタスクを排除し、繰り返しのモデレーションを防ぐために使用されます。このパラメーターを指定すると、システムは uid+service+liveId の組み合わせに基づいてライブストリームモデレーションタスクが進行中かどうかを確認します。タスクが進行中の場合、システムは既存のタスクの taskId を返し、新しいタスクは開始しません。 |
コールバックサーバーが AI ガードレールからプッシュされた結果を受信した後、HTTP ステータスコード 200 は結果が正常に受信されたことを意味します。その他の HTTP ステータスコードは失敗を意味します。結果が受信されない場合、AI ガードレールはモデレーション結果のプッシュを最大 16 回再試行します。16 回の再試行後も結果が受信されない場合、AI ガードレールは結果のプッシュを停止します。コールバックインターフェイスのステータスを確認してください。
応答パラメーター
名前 | 型 | 例 | 説明 | |
Code | 整数 | 200 | ステータスコードです。詳細については、「コードの説明」をご参照ください。 | |
Data | JSONObject | {"TaskId": "AAAAA-BBBBB"} | モデレーション結果のデータです。 | |
Message | 文字列 | OK | リクエストのレスポンスメッセージです。 | |
RequestId | 文字列 | ABCD1234-1234-1234-1234-123**** | リクエスト ID です。 | |
例
サンプルリクエスト
{
"Service": "liveStreamDetection_global",
"ServiceParameters": {
"url": "http://www.aliyundoc.com/a.flv",
"dataId": "videoId****",
"liveId": "liveId****"
}
}成功レスポンスのサンプル
{
"Msg": "OK", // メッセージ
"Code": 200, // コード
"Data": // データ
{
"TaskId": "AAAAA-BBBBB", // タスク ID
"DataId": "videoId****" // データ ID
},
"RequestId": "ABCD1234-1234-1234-1234-123****" // リクエスト ID
}ライブストリームモデレーションジョブの結果をクエリする
API の説明
API オペレーション: VideoModerationResult
課金:このオペレーションは課金されません。
クエリタイムアウト:クエリ間隔を 30 秒に設定できます。つまり、非同期モデレーションジョブを送信してから 30 秒後に結果をクエリできます。クエリの最大期間は24 時間です。24 時間が経過すると、結果は自動的に削除されます。
結果の返却:ライブストリームが配信中の場合、クエリごとに直近 10 件のモデレーション結果が返されます。ライブストリームが終了している場合は、すべてのモデレーション結果が返されます。
QPS 制限
このオペレーションの QPS 制限は、ユーザーごとに 100 です。制限を超えると、API 呼び出しがスロットリングされます。これにより、お客様のビジネスに影響が出る可能性があります。適切な頻度でオペレーションを呼び出してください。
デバッグ
統合前に、Alibaba Cloud OpenAPI を使用して VideoModerationResult API をオンラインでデバッグすることもできます。その際、サンプルコードと SDK の依存関係情報を参照し、API メソッドとパラメーターの概要を取得できます。
リクエストパラメーター
名前 | タイプ | 必須 | 例 | 説明 |
Service | 文字列 | はい | liveStreamDetection_global | モデレーションサービスのタイプ。値は、モデレーションタスクを送信したときに指定したサービスタイプと一致する必要があります。 |
ServiceParameters | JSON 文字列 | はい | モデレーションサービスに必要なパラメーター。このパラメーターは JSON 文字列です。パラメーターの詳細については、表 1. サービスパラメーターをご参照ください。 |
テーブル 1. ServiceParameters
名前 | 型 | 必須 | 例 | 説明 |
taskId | 文字列 | はい | abcd**** | 照会するモデレーションタスクの taskId。一度に 1 つの taskId のみ指定できます。 説明 モデレーションタスクの taskId は、タスクを送信した後の応答データから取得できます。 |
レスポンス パラメーター
名前 | 型 | 例 | 説明 |
RequestId | 文字列 | ABCD1234-1234-1234-1234-123**** | リクエストの ID。Alibaba Cloud がリクエストに対して生成した一意の識別子で、トラブルシューティングに使用できます。 |
Data | オブジェクト | ライブストリームコンテンツモデレーションの結果。詳細については、テーブル 2. Data をご参照ください。 | |
Code | 文字列 | "200" | 状態コード。詳細については、コードの説明 をご参照ください。 |
Message | 文字列 | OK | リクエストの応答メッセージ。 |
テーブル 2:データ
名前 | 型 | 例 | 説明 |
DataId | 文字列 | videoId**** | オブジェクトのデータ ID。 説明 モデレーションリクエストで dataId パラメーターを指定した場合、対応する DataId が返されます。 |
LiveId | 文字列 | liveId**** | ライブストリームの ID。 説明 モデレーションリクエストで liveId パラメーターを指定した場合、対応する LiveId が返されます。 |
TaskId | 文字列 | AAAAA-BBBBB | モデレーションタスクの ID。 |
RiskLevel | 文字列 | high | ライブストリームのリスクレベル。値は、ビデオフレームとオーディオの両方のモデレーション結果に基づいて決定されます。有効な値:
説明 高リスクコンテンツは直接処理し、中リスクコンテンツは手動でレビューし、低リスクコンテンツは高い再現率が必要な場合のみ処理することを推奨します。その他の場合は、低リスクコンテンツをリスクなしのコンテンツと同じ方法で処理することを推奨します。ビデオフレームのリスクスコアは、AI ガードレール コンソールで設定できます。 |
FrameResult | JSON オブジェクト | ビデオフレームのモデレーション結果。呼び出しが成功した場合 (code=200)、構造体が返されます。構造体の詳細については、テーブル 3. FrameResult をご参照ください。 説明 ビデオストリームモデレーションの場合、ステータスコード 280 はモデレーションが進行中であること、200 はモデレーションが完了したことを示します。モデレーションが進行中の場合、モデレーション結果にはモデレーション開始から現在までに検出された結果が含まれます。 | |
AudioResult | JSON オブジェクト | オーディオのモデレーション結果。構造体が返されます。構造体の詳細については、テーブル 8. AudioResult をご参照ください。 |
表 3. FrameResult
名前 | 型 | 例 | 説明 |
FrameNum | 整数 | 200 | 返されるビデオフレームのスナップショット数。 |
FrameSummarys | JSON 配列 | ビデオフレームのラベルのサマリー。構造体の詳細については、「表 4. FrameSummarys」をご参照ください。 | |
RiskLevel | 文字列 | high | ビデオフレームのリスクレベル。値は、すべてのライブストリームスナップショットに基づいて計算されます。有効な値:
|
Frames | JSON 配列 | ラベルにヒットしたライブストリームフレームに関する情報。構造体の詳細については、「表 5. Frames」をご参照ください。 |
テーブル 4. フレームサマリー
名前 | 型 | 例 | 説明 |
Label | 文字列 | violent_armedForces | ビデオフレームのラベルです。 |
Description | 文字列 | 花火を含むと疑われる |
重要 このフィールドは |
LabelSum | 整数 | 8 | ラベルが出現する回数です。 |
表5. フレーム
名前 | 型 | 例 | 説明 |
TempUrl | 文字列 | http://www.aliyundoc.com/test.jpg | ライブストリームフレームの一時 URL。URL は 30 分間有効です。フレームを速やかに保存してください。 説明 動画証拠ストレージが有効になっている場合、保存されたビデオフレームの OSS URL が返されます。 |
Offset | Float | 50.5 | ライブストリームの開始時点を基準とした、ライブストリームフレームのタイムスタンプ。単位:秒。 |
Timestamp | Integer | 1684559739000 | フレームが処理された絶対タイムスタンプ。単位:ミリ秒。 |
RiskLevel | 文字列 | high | ライブストリームフレームのリスクレベル。設定された高リスクスコアと低リスクスコアに基づいて返されます。有効な値:
説明 高リスクコンテンツは直接対処し、中リスクコンテンツは手動でレビューし、低リスクコンテンツは高い再現率が必要な場合のみ対処することを推奨します。その他の場合は、低リスクコンテンツをリスクが検出されなかったコンテンツと同じ方法で対処することを推奨します。ビデオフレームのリスクスコアは、AI ガードレール コンソールのルール設定で設定できます。 |
Results | JSONArray | ライブストリームフレームのモデレーションの結果。リスクラベルと信頼度スコアが含まれます。詳細については、「表 6. 結果」をご参照ください。 |
テーブル 6:結果
名前 | タイプ | 例 | 説明 |
Service | 文字列 | baselineCheck_global | 呼び出すフレームモデレーションサービス。 |
Result | 配列 | ライブストリームフレームモデレーションの結果です。リスクラベルと信頼度スコアが含まれます。詳細については、「テーブル 7. Result」をご参照ください。 |
表 7:結果
名前 | 型 | 例 | 説明 |
ラベル | 文字列 | violent_explosion | ライブストリームフレームのモデレーションによって返されるリスクラベルで、フレーム内で検出された政治的なコンテンツ、アダルトコンテンツ、暴力的なコンテンツ、広告違反などの特定のリスクタイプを示します。1 つのフレームに複数のラベルが付くことがあり、各ラベルには対応する信頼度スコアがあります。ラベルは、リクエストで設定されたモデレーションサービス (
各モデレーションサービスでサポートされているラベルの完全なリストについては、「Video File Moderation Enhanced 2.0 API」をご参照ください。 |
信頼度 | 浮動小数点数 | 81.22 | 信頼度スコア。0 から 100 の範囲です。値は小数点以下 2 桁まで正確です。 |
説明 | 文字列 | 花火を含むと疑われる |
重要 このフィールドは、 |
表 8. 音声結果
名前 | タイプ | 例 | 説明 |
AudioSummarys | JSONArray | 音声ラベルの概要一覧。構造体の詳細については、「Table 9. AudioSummarys」をご参照ください。 | |
RiskLevel | 文字列 | high | 音声のリスクレベル。この値は、すべての音声セグメントに基づいて算出されます。有効な値は次のとおりです:
|
SliceDetails | JSONArray | 音声から変換されたテキストの詳細。各要素は 1 つの文に対応します。値には 1 つ以上の要素が含まれます。構造体の詳細については、「Table 10. SliceDetails」をご参照ください。 |
各 SliceDetails 要素で返されるリスク結果のフィールドは、ライブストリームモデレーションルールで設定された音声モデレーションサービスのバージョンによって異なります:
大規模モデルバージョン (例:
liveStreamDetectionByVL、liveStreamDetectionByVL_cb、liveStreamDetectionByVL_global):リスク結果はresultフィールドで返されます。小規模モデルバージョン (例:
liveStreamDetection、liveStreamDetection_cb、liveStreamDetection_global):リスク結果はLabels、RiskLevel、RiskWords、RiskTipsの各フィールドで返されます。
表 9. 音声要約
名前 | 型 | 例 | 説明 |
Label | 文字列 | profanity | 動画の音声のラベル。 |
LabelSum | 整数 | 8 | ラベル数。 |
表 10. スライス詳細
名前 | タイプ | 例 | 説明 |
StartTime | Integer | 0 | センテンスの開始時刻です。単位:秒。 |
EndTime | Integer | 4065 | センテンスの終了時刻です。単位:秒。 |
StartTimestamp | Integer | 1678854649720 | セグメントの開始タイムスタンプです。単位:ミリ秒。 |
EndTimestamp | Integer | 1678854649720 | セグメントの終了タイムスタンプです。単位:ミリ秒。 |
Text | 文字列 | disgusting | 音声から変換されたテキストコンテンツです。 |
Url | 文字列 | https://aliyundoc.com/test.wav | モデレートされたコンテンツが音声ストリームの場合、このパラメーターはテキストに対応する音声ストリームの一時的な URL を示します。URL の有効期限は 30 分です。音声ストリームは速やかに保存してください。 |
RiskLevel | 文字列 | high | 音声セグメントのリスクレベルです。有効な値:
|
Labels | 文字列 | political_content,xxxx | ラベルの詳細です。複数のラベルはカンマで区切られます。音声モデレーションサービスの小規模モデルバージョンを選択した場合、リスク結果は
|
RiskWords | 文字列 | AAA,BBB,CCC | ヒットしたリスクワードです。複数のワードはカンマで区切られます。 |
RiskTips | 文字列 | porn_vulgar_words,porn_description | サブラベルです。複数のラベルはカンマで区切られます。 |
Extend | 文字列 | {"riskTips":"porn_vulgar_words","riskWords":"pornographic_service"} | 予約済みフィールドです。 |
Result | JSONArray | この音声スライスの詳細なリスク検出結果です。このフィールドは、音声モデレーションサービスで大規模モデルバージョンが設定されている場合にのみ返されます。小規模モデルバージョンが使用されている場合、このフィールドは返されず、代わりにリスク結果は |
表 10-1. 結果
パラメーター | タイプ | 例 | 説明 |
Label | String | political_entity | 音声コンテンツ検出後に返されるラベルです。複数のラベルとスコアが検出される場合があります。テキストポリシーのラベルと音声固有のラベルが含まれます:
説明 指定した音声と呻き声はデフォルトでは検出されません。検出を有効にするには、アカウントマネージャーにお問い合わせください。 |
Description | String | Suspected pornographic content | Label フィールドの説明です。 重要 このフィールドは Label フィールドを説明するもので、変更される可能性があります。結果を処理する際は、このフィールドではなく Label フィールドを使用してください。 |
Confidence | Float | 81.22 | 0~100 の範囲の信頼度スコアで、小数点以下第 2 位に丸められます。一部のラベルには信頼度スコアがない場合があります。 |
RiskLevel | String | high | このラベルのリスクレベルです。有効な値:
|
Riskwords | String | AA,BB,CC | 検出された機微な単語がカンマで区切られています。一部のラベルは機微な単語を返さない場合があります。 |
CustomizedHit | JSONArray | [{"LibName":"...","Keywords":"..."}] | カスタムライブラリに一致した場合、 Label は |
RiskPositions | JSONArray | 検出された機微な単語の位置情報です。詳細については、「表 10-3 RiskPositions」をご参照ください。 |
表 10-2. CustomizedHit
パラメーター | タイプ | 例 | 説明 |
LibName | 文字列 | CustomLib1 | カスタムライブラリ名。 |
Keywords | 文字列 | keyword1,keyword2 | キーワード。カンマで区切ります。 |
表 10-3. リスクポジション
パラメーター | タイプ | 例 | 説明 |
RiskWord | 文字列 | AA | 検出されたセンシティブな単語 |
StartPos | 整数 | 10 | センシティブな単語の開始位置 |
EndPos | 整数 | 12 | センシティブな単語の終了位置 |
例
サンプルリクエスト
{
"Service": "liveStreamDetection_global",
"ServiceParameters": {
"taskId": "abcd****"
}
}成功レスポンスのサンプル
ライブストリームビデオのみのモデレート
{
"Code": 200,
"RequestId": "25106421-XXXX-XXXX-XXXX-15DA5AAAC546",
"Message": "成功",
"Data": {
"DataId": "dc16c28f-xxxx-xxxx-xxxx-51efe0131080",
"LiveId": "live0307-0728-****",
"RiskLevel": "high",
"FrameResult": {
"FrameNum": 2,
"FrameSummarys": [
{
"Label": "violent_explosion",
"Description": "花火が含まれている疑いがあります",
"LabelSum": 8
},
{
"Label": "sexual_cleavage",
"Description": "ヌードまたは性的コンテンツが含まれている疑いがあります",
"LabelSum": 8
}
],
"RiskLevel": "medium",
"Frames": [
{
"Offset": 1,
"RiskLevel": "none",
"Results": [
{
"Result": [
{
"Label": "nonLabel",
"Description": "リスクは検出されませんでした"
}
],
"Service": "baselineCheck_global"
}
],
"TempUrl": "http://abc.oss-ap-southeast-1.aliyuncs.com/test1.jpg",
"Timestamp": 1704769999000
},
{
"Offset": 2,
"RiskLevel": "medium",
"Results": [
{
"Result": [
{
"Confidence": 78.88,
"Label": "sexual_cleavage",
"Description": "ヌードまたは性的コンテンツが含まれている疑いがあります"
},
{
"Confidence": 74.18,
"Label": "violent_explosion",
"Description": "花火が含まれている疑いがあります"
}
],
"Service": "baselineCheck_global"
}
],
"TempUrl": "http://abc.oss-ap-southeast-1.aliyuncs.com/test2.jpg",
"Timestamp": 1704769989000
}
]
}
}
}ライブストリームのビデオおよびオーディオのモデレーション
{
"Code": 200,
"RequestId": "25106421-XXXX-XXXX-XXXX-15DA5AAAC546",
"Message": "正常に終了しました",
"Data": {
"DataId": "dc16c28f-xxxx-xxxx-xxxx-51efe0131080",
"LiveId": "live0307-0728-****",
"RiskLevel": "high",
"AudioResult": {
"AudioSummarys": [
{
"Label": "sexual_sounds",
"LabelSum": 3
}
],
"RiskLevel": "high",
"SliceDetails": [
{
"EndTime": 60,
"EndTimestamp": 1698912813192,
"Labels": "",
"RiskLevel": "none",
"StartTime": 30,
"StartTimestamp": 1698912783192,
"Text": "AI Guardrails",
"Url": "http://abc.oss-ap-southeast-1.aliyuncs.com/test.wav"
},
{
"EndTime": 30,
"EndTimestamp": 1698912813192,
"Extend": "{\"customizedWords\":\"service\",\"customizedLibs\":\"test\"}",
"Labels": "C_customized",
"RiskLevel": "high",
"StartTime": 0,
"StartTimestamp": 1698912783192,
"Text": "Alibaba Cloud AI Guardrails サービスへようこそ",
"Url": "http://abc.oss-ap-southeast-1.aliyuncs.com/test.wav"
}
]
},
"FrameResult": {
"FrameNum": 2,
"FrameSummarys": [
{
"Label": "violent_explosion",
"Description": "花火が含まれている疑いがあります",
"LabelSum": 8
},
{
"Label": "sexual_cleavage",
"Description": "ヌードまたは性的コンテンツが含まれている疑いがあります",
"LabelSum": 8
}
],
"RiskLevel": "medium",
"Frames": [
{
"Offset": 1,
"RiskLevel": "none",
"Results": [
{
"Result": [
{
"Label": "nonLabel",
"Description": "リスクは検出されませんでした"
}
],
"Service": "baselineCheck_global"
}
],
"TempUrl": "http://abc.oss-ap-southeast-1.aliyuncs.com/test1.jpg",
"Timestamp": 1704769999000
},
{
"Offset": 2,
"RiskLevel": "medium",
"Results": [
{
"Result": [
{
"Confidence": 74.18,
"Label": "violent_explosion",
"Description": "花火が含まれている疑いがあります"
},
{
"Confidence": 78.88,
"Label": "sexual_cleavage",
"Description": "ヌードまたは性的コンテンツが含まれている疑いがあります"
}
],
"Service": "baselineCheck_global"
}
],
"TempUrl": "http://abc.oss-ap-southeast-1.aliyuncs.com/test2.jpg",
"Timestamp": 1704769989000
}
]
}
}
}ライブストリームモデレーションジョブのキャンセル
API の説明
このオペレーションを呼び出すと、ライブストリーム モデレーション ジョブをキャンセルできます。
API オペレーション: VideoModerationCancel
課金:このオペレーションに料金は発生しません。
デバッグ
統合の前に、Alibaba Cloud OpenAPI を使用して VideoModerationCancel API をオンラインでデバッグし、サンプル呼び出しコードと SDK の依存関係情報を表示して、API の使用量とパラメーターの概要を確認することもできます。
リクエストパラメータ
名前 | タイプ | 必須 | 例 | 説明 |
Service | 文字列 | はい | liveStreamDetection_global | モデレーションサービスの種類です。値は、モデレーションジョブの送信時に指定したサービスタイプと一致させる必要があります。 |
ServiceParameters | JSON 文字列 | はい | サービスに必要なパラメーターです。このパラメーターは JSON 文字列です。パラメーターの詳細については、「表 11. ServiceParameters」をご参照ください。 |
表 11. サービス パラメーター
名前 | タイプ | 必須 | 例 | 説明 |
taskId | 文字列 | はい | abcd**** | キャンセルするモデレーションタスクの taskId。一度に指定できる taskId は 1 つのみです。 注: モデレーションタスクの taskId は、タスクの送信後に返される応答データから取得できます。 |
レスポンスパラメーター
名前 | タイプ | 例 | 説明 |
Code | Integer | 200 | ステータスコードです。詳細については、「Code description」をご参照ください。 |
Message | 文字列 | OK | リクエストに対するレスポンスメッセージです。 |
RequestId | 文字列 | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | リクエスト ID です。 |
例
サンプルリクエスト
{
"Service": "liveStreamDetection",
"ServiceParameters": {
"taskId": "abcd****"
}
}サンプルレスポンス
{
"Msg": "OK",
"Code": 200,
"RequestId": "70ED13B0-BC22-576D-9CCF-1CC12FEAC477"
}コードの説明
このトピックでは、動画ライブストリーム審査 2.0 API の応答コードについて説明します。応答コードが 200 または 280 のリクエストのみが課金対象となります。その他の応答コードを返すリクエストは課金されません。
コード | 説明 |
200 | リクエストが成功した、またはモデレーションが完了しました。 |
280 | モデレーションが進行中です。 |
400 | リクエストパラメーター が空です。 |
401 | リクエストパラメーター が無効です。 |
402 | リクエストパラメーターの長さが要件を満たしていません。パラメーターを確認して、再試行してください。 |
403 | 1 秒あたりのクエリ数 (QPS) が上限を超えています。同時リクエスト数を確認して、再試行してください。 |
404 | 動画のダウンロード中にエラーが発生しました。動画を確認して、再試行してください。 |
405 | 動画のダウンロードがタイムアウトしました。動画にアクセスできない可能性があります。動画を確認して、再試行してください。 |
406 | 動画のサイズが大きすぎます。動画のサイズを確認して、再試行してください。 |
407 | 動画のフォーマット がサポートされていません。フォーマット を確認して、再試行してください。 |
408 | このオペレーション を呼び出す権限がありません。アカウントでサービスが有効化されていない、支払いが遅延している、または必要な権限が付与されていない可能性があります。 |
409 | 指定された TaskId は存在しません。結果が 24 時間以上保持され、期限切れになった可能性があります。 |
480 | 同時モデレーションストリーム数が上限を超えています。同時リクエスト数を確認して、再試行してください。 |
500 | システムエラーが発生しました。 |