/green/video/asyncscan オペレーションを呼び出して、動画に危険なコンテンツや違法なコンテンツがないかモデレートし、/green/video/results オペレーションを呼び出して、モデレーション結果を照会できます。これらのオペレーションは、ポルノ検出、テロコンテンツ検出、広告違反検出、好ましくないシーン検出、ロゴ検出、音声アンチスパムなどのシナリオに適用できます。このトピックでは、動画を非同期的にモデレートするために呼び出すことができるオペレーションについて説明します。
/green/video/asyncscan オペレーションの説明
オペレーション: /green/video/asyncscan
このオペレーションを呼び出して、非同期動画モデレーションタスクを送信できます。 HTTP リクエストを作成する方法の詳細については、リクエスト構文をご参照ください。既存の HTTP リクエストを選択することもできます。詳細については、SDK の概要をご参照ください。
課金
このオペレーションの呼び出しには料金が発生します。課金方法の詳細については、をご参照ください。
一度に複数のシナリオでモデレーションが発生した場合、すべてのシナリオの累積料金が請求されます。各シナリオの料金は、そのシナリオでモデレートされた動画フレーム数に、そのシナリオの単価を掛けた値に等しくなります。動画の音声を同時にモデレートする場合、音声アンチスパムの追加料金が発生します。追加料金は、動画の長さに音声アンチスパムの単価を掛けた値に等しくなります。
モデレート対象
このオペレーションを呼び出して、動画またはビデオストリームをモデレートできます。動画からキャプチャされた一連のフレームを送信するか、動画 URL を送信して、モデレートする動画を指定できます。
結果の返却
非同期モデレーションリクエストを送信した場合、モデレーション結果はリアルタイムで返されません。モデレーション結果を取得するには、モデレーション結果を定期的にポーリングするか、コールバック通知を有効にすることができます。モデレーション結果は最大 1 時間保持されます。
コールバック通知を有効にしてモデレーション結果を取得する: 非同期モデレーションタスクを送信するときに、モデレーションリクエストの callback パラメーターでモデレーション結果を受信するためのコールバック URL を指定できます。 callback パラメーターの詳細については、リクエストパラメーターをご参照ください。
定期的にモデレーション結果をポーリングする: 非同期モデレーションタスクを送信するときに、callback パラメーターを設定する必要はありません。タスクを送信した後、/green/video/results オペレーションを呼び出して、モデレーション結果を照会できます。このオペレーションの詳細については、 /green/video/results オペレーションの説明をご参照ください。
動画の制限
動画の URL は、HTTP または HTTPS URL である必要があります。
動画は、AVI、FLV、MP4、MPG、ASF、WMV、MOV、WMA、、RM、FLASH、または TS 形式である必要があります。
動画のサイズは最大 200 MB です。
モデレートする動画が 200 MB を超える場合は、動画を分割する必要があります。DingTalkグループ(DingTalkグループ番号:35573806)に参加して、テクニカルサポート担当者に連絡し、サイズ制限の調整を依頼してください。
ビデオストリームは、RTMP、HLS、HTTP-FLV、または RTSP プロトコルを使用して転送する必要があります。
ビデオストリームモデレーションタスクの期間は最大 24 時間です。 24 時間を超えると、モデレーションタスクは自動的に終了します。
ビデオモデレーションタスクの期間は、ビデオのダウンロードにかかる時間によって異なります。モデレートするビデオを保存するために、安定した信頼性の高いストレージサービスを使用してください。オブジェクトストレージサービス(OSS)のご利用をお勧めします。
シナリオ | 説明 | モデレーション結果のカテゴリ |
ポルノ検出 | 動画内のポルノコンテンツを検出します。 | normal と porn |
テロコンテンツ検出 | 動画内のテロコンテンツを検出します。 | normal と terrorism |
不適切なシーンの検出 | 動画内の不適切なシーンを検出します。 | normal と live |
ロゴ検出 | 動画内の特定のロゴを検出します。 | normal と logo |
広告違反の検出 | 動画内の広告またはテキスト違反を検出します。 | normal と ad |
音声アンチスパム 説明 このシナリオでは、/green/video/asyncscan オペレーションを呼び出して、非同期動画モデレーションタスクを送信する必要があります。 詳細については、「/green/video/asyncscan and /green/video/results」をご参照ください。 | 動画内の音声アンチスパムを検出します。 説明 デフォルトでは、モデレートされる音声は中国語である必要があります。 英語の音声をモデレートする必要がある場合は、営業担当者にお問い合わせください。 | normal、spam、ad、politics、terrorism、abuse、porn、flood、contraband、および customized |
QPS 制限
この操作は、アカウントごとに 1 秒あたり最大 50 回呼び出すことができます。一度に処理できるモデレーションタスクは 20 件のみです。同時実行モデレーションタスクの数を増やす必要がある場合は、ビジネス マネージャーにご相談ください。1 秒あたりの呼び出し数が制限を超えると、スロットリングがトリガーされます。その結果、ビジネスに影響が出る可能性があります。この操作を呼び出すときは、制限に注意することをお勧めします。
リアルタイムでデータをモデレートする必要がない場合は、オフライン モデレーションを有効にすることをお勧めします。オフライン モデレーション モードでは、タスクを送信してから 24 時間以内にシステムがモデレーションを開始します。
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
bizType | String | いいえ | default | ビジネスシナリオ。 ビジネスシナリオを作成できます。 Content Moderation console。詳細については、「機械支援モデレーションのポリシーのカスタマイズ」をご参照ください。 |
live | Boolean | いいえ | false | ライブストリームをモデレートするかどうかを指定します。有効な値:
|
offline | Boolean | いいえ | false | オフラインモデレーションモードを有効にするかどうかを指定します。有効な値:
説明 このパラメーターはビデオモデレーションにのみ適用されます。このパラメーターはビデオストリームモデレーションには必要ありません。 |
scenes | StringArray | はい | ["porn"] | ビデオモデレーションシナリオ。有効な値:
|
audioScenes | StringArray | いいえ | ["antispam"] | 音声モデレーションシナリオ。値を antispam に設定します。 このパラメーターを設定しない場合、コンテンツモデレーションはビデオ内の画像のみをモデレートします。このパラメーターを設定すると、コンテンツモデレーションはビデオ内の音声もモデレートします。 説明 ビデオ内の音声をモデレートするには、task パラメーターの url パラメーターを設定して、ビデオまたはビデオストリームの URL を送信する必要があります。task パラメーターの frames パラメーターを設定してビデオからキャプチャされた一連のフレームを送信する場合、音声モデレーションは適用されません。 |
callback | String | いいえ | http://www.aliyundoc.com | 非同期モデレーション結果を通知するためのコールバック URL。 HTTP および HTTPS URL がサポートされています。このパラメーターを設定しない場合は、モデレーション結果を定期的にポーリングする必要があります。 モデレーションリクエストで callback パラメーターを設定する場合は、指定した HTTP または HTTPS URL が次の要件を満たしていることを確認してください。POST メソッドをサポートし、UTF-8 を使用して送信データ 続きはこちら: をエンコードし、checksum パラメーターと content パラメーターをサポートします。指定されたコールバック URL にモデレーション結果を送信するために、コンテンツモデレーションは次のルールと形式に基づいてコールバック通知で checksum パラメーターと content パラメーターを返します。
説明 サーバーがコールバック通知を正常に受信した場合、サーバーは HTTP 200 ステータスコードをコンテンツモデレーションに送信します。サーバーがコールバック通知の受信に失敗した場合、サーバーは他の HTTP ステータスコードをコンテンツモデレーションに送信します。サーバーがコールバック通知の受信に失敗した場合、コンテンツモデレーションはサーバーが受信するまでコールバック通知のプッシュを続けます。コンテンツモデレーションはコールバック通知を最大 16 回まで繰り返しプッシュできます。16 回後、コンテンツモデレーションはコールバック通知のプッシュを停止します。この場合、コールバック URL のステータスを確認することをお勧めします。 |
seed | String | いいえ | abc**** | コールバック通知リクエストの署名を生成するために使用されるランダムな文字列。 文字列は最大 64 文字で、文字、数字、アンダースコア(_)を含めることができます。この文字列はカスタマイズできます。コンテンツモデレーションがサーバーにコールバック通知をプッシュするときに、コールバック通知リクエストを検証するために使用されます。 説明 このパラメーターは、callback パラメーターを設定する場合に必須です。 |
cryptType | String | いいえ | SHA256 | コールバック通知を有効にしたときに、コールバック通知コンテンツの暗号化に使用する暗号化アルゴリズム。コンテンツモデレーションは、指定した暗号化アルゴリズムを使用して返された文字列を暗号化し、暗号化された文字列をコールバック URL に送信します。返される文字列は UID + Seed + Content 形式です。有効な値:
|
tasks | JSONArray | はい | モデレートするオブジェクトのリスト。JSON 配列には 1 つ以上の要素を含めることができます。各要素は構造体です。JSON 配列には最大 100 個の要素を含めることができます。つまり、一度に最大 100 個のテキストエントリを送信できます。一度に 100 個のテキストエントリを送信するには、関連する同時実行制限を 100 より大きい数に上げる必要があります。構造体の詳細については、「task」をご参照ください。 |
パラメーター | タイプ | 必須 | 例 | 説明 |
clientInfo | JSONObject | いいえ | {"userId":"12023****","userNick":"Mike","userType":"others"} | クライアントに関する情報。詳細については、「共通パラメーター」の「共通リクエストパラメーター」セクションをご参照ください。 サーバーは、グローバル clientInfo パラメーターを使用するか、この表で説明されている clientInfo パラメーターを使用するかを決定します。 説明 この表の clientInfo パラメーターは、グローバル パラメーターよりも優先されます。 |
dataId | String | いいえ | videoId**** | モデレーションオブジェクトの ID。 ID には、文字、数字、アンダースコア(_)、ハイフン(-)、ピリオド(.)を含めることができます。最大 128 文字まで使用できます。この ID は、ビジネスデータを一意に識別します。 |
liveId | String | いいえ | liveId**** | ビデオライブストリームの ID。 このパラメーターは、ビデオライブストリームの繰り返しモデレーションを防ぐために使用されます。このパラメーターを指定すると、コンテンツモデレーションは、Alibaba Cloud アカウントの ID と bizType パラメーターおよび liveId パラメーターに基づいて、指定されたビデオライブストリームをモデレートするタスクが進行中かどうかを確認します。 モデレーションタスクが進行中の場合、タスクの taskId が返され、新しいタスクは開始されません。 |
url | String | いいえ | http://www.aliyundoc.com/a.flv | インターネット経由でアクセスできる HTTP または HTTPS URL。URL の長さは最大 2,048 文字です。 説明 frames パラメーターと url パラメーターのいずれかを設定する必要があります。url パラメーターを設定すると、URL を指定して送信されたビデオをモデレートするための単価に基づいて、ビデオモデレーションタスクの料金が発生します。 |
frames | JSONArray | いいえ | モデレートするビデオからキャプチャされたフレームに関する情報。frames パラメーターの JSON 配列の各要素は構造体です。各要素の構造体の詳細については、「frame」をご参照ください。 説明 frames パラメーターと url パラメーターのいずれかを設定する必要があります。frames パラメーターを設定すると、URL を指定して送信されたビデオをモデレートするための単価に基づいて、ビデオモデレーションタスクの料金が発生します。 | |
framePrefix | String | いいえ | http://www.aliyundoc.com/video/ | キャプチャされたフレームの URL のプレフィックス。これは、 |
interval | Integer | いいえ | 1 | ビデオからフレームをキャプチャする間隔。単位:秒。有効な値:1 ~ 600。デフォルト値:1。 |
maxFrames | Integer | いいえ | 200 | ビデオからキャプチャできるフレームの最大数。有効な値:5 ~ 3600。デフォルト値:200。このパラメーターをより大きい値に設定する必要がある場合は、[サポートとサービス] でチケットを送信してください。 説明
|
パラメーター | タイプ | 必須 | 例 | 説明 |
url | String | いいえ | http://www.aliyundoc.com/0B860000586C0A0300038A0460000 | キャプチャされたフレームの URL。これは、 |
offset | Integer | いいえ | 10 | ビデオの開始とキャプチャされたフレームの間隔。単位:秒。 |
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
taskId | String | taskId**** | モデレーションタスクの ID です。 |
dataId | String | videoId**** | モデレーションオブジェクトの ID です。 説明 モデレーションリクエストで dataId パラメーターを設定した場合、dataId リクエストパラメーターの値がここに返されます。 |
例
リクエストの例
動画からキャプチャされたフレームのモデレート
http(s)://[Endpoint]/green/video/asyncscan &<共通リクエストパラメーター> { "scenes": [ "porn" ], "tasks": [ { "dataId": "videoId****", "frames": [ { "offset": 10, "url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460000" }, { "offset": 20, "url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460001" }, { "offset": 30, "url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460002" }, { "offset": 40, "url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460003" }, { "offset": 50, "url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460003" }, { "offset": 60, "url": "http://www.aliyundoc.com/0B860000586C0A0300038A046000x" } ] } ] }動画のモデレート
http(s)://[Endpoint]/green/video/asyncscan &<共通リクエストパラメーター> { "scenes": [ "porn" ], "audioScenes": [ "antispam" ], "tasks": [ { "dataId": "videoId****", "url": "http://www.aliyundoc.com/a.mp4", "interval": 1, "maxFrames": 200 } ] }ライブストリームのモデレート
http(s)://[Endpoint]/green/video/asyncscan &<共通リクエストパラメーター> { "scenes": [ "porn" ], "live": true, "tasks": [ { "dataId": "videoId****", "url": "http://www.aliyundoc.com/a.flv", "interval": 1, "maxFrames": 200 } ] }
正常なレスポンスの例
{
"code": 200,
"msg": "OK",
"requestId": "requestID****",
"data": [
{
"dataId": "videoId****",
"taskId": "taskId****"
}
]
}/green/video/results 操作の説明
操作: /green/video/results
この操作を呼び出して、非同期ビデオモデレーションの結果をクエリできます。 HTTP リクエストを構成する方法の詳細については、「リクエスト構文」をご参照ください。既存の HTTP リクエストを選択することもできます。詳細については、「SDK の概要」をご参照ください。
課金
この操作は無料です。
レスポンスタイムアウト
非同期モデレーションリクエストを送信してから少なくとも 30 秒後にモデレーション結果をクエリすることをお勧めします。コンテンツモデレーションは、モデレーション結果を最大 4 時間保持します。 4 時間後、結果は削除されます。
QPS 制限
この操作は、アカウントごとに 1 秒あたり最大 50 回呼び出すことができます。1 秒あたりの呼び出し回数が制限を超えると、スロットリングがトリガーされます。その結果、ビジネスに影響が出る可能性があります。この操作を呼び出す際は、制限に注意することをお勧めします。
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
body | JSONArray | はい | ["taskId****","taskId****"] | クエリを実行する非同期モデレーションタスクの ID のリスト。 配列には最大 100 個の要素を含めることができます。 モデレーションタスクを送信した後、レスポンスからタスクの ID を取得できます。 |
QPS 制限
パラメーター | タイプ | 例 | 説明 |
code | Integer | 200 | 返された HTTP ステータスコードです。 詳細については、「一般的なエラーコード」をご参照ください。 |
msg | String | OK | リクエストに応じて返されるメッセージです。 |
dataId | String | videoId**** | モデレーションオブジェクトの ID です。 説明 モデレーションリクエストで dataId パラメーターを設定した場合、dataId リクエストパラメーターの値がここに返されます。 |
taskId | String | taskId**** | モデレーションタスクの ID です。 |
results | JSONArray | 呼び出しが成功した場合、HTTP ステータスコード 200 とモデレーション結果が返されます。モデレーション結果には、1 つ以上の要素が含まれています。各要素は構造体です。構造体の詳細については、「result」をご参照ください。 説明 ビデオストリームをモデレートするシナリオでは、HTTP ステータスコード 280 はモデレーションタスクが進行中であることを示し、HTTP ステータスコード 200 はモデレーションタスクが完了したことを示します。モデレーションタスクが進行中の場合、返されるモデレーション結果には、コンテンツモデレーションがタスクで検出したすべての問題が含まれます。 | |
audioScanResults | JSONArray | 音声モデレーションの結果です。構造体の詳細については、「audioScanResult」をご参照ください。 |
パラメーター | タイプ | 例 | 説明 |
scene | String | porn | モデレーションリクエストで指定した動画モデレーションシナリオ。有効な値:
|
label | String | porn | 動画モデレーション結果のカテゴリ。有効な値:
|
sublabel | String | porn | scenes パラメーターが porn または terrorism に設定されている場合、モデレーション結果のサブカテゴリがこのパラメーターで返される場合があります。 このパラメーターはデフォルトでは返されません。 |
suggestion | String | block | 推奨される後続操作。有効な値:
|
rate | Float | 99.2 | 信頼レベルのスコア。有効な値: 0 から 100。値が大きいほど、信頼レベルが高いことを示します。 suggestion パラメーターに pass の値が返された場合、信頼レベルが高いほど、コンテンツが正常である可能性が高くなります。 提案レビューブロックsuggestion パラメーターに または の値が返された場合、信頼レベルが高いほど、コンテンツに違反が含まれている可能性が高くなります。 重要 suggestion、label、および sublabel パラメーターに返される値を使用して、コンテンツに違反が含まれているかどうかを判断することをお勧めします。 sublabel パラメーターは、特定の操作によって返されます。 |
frames | JSONArray | 違反が含まれているキャプチャされたフレームに関する情報。構造の詳細については、frame をご参照ください。 | |
hintWordsInfo | JSONArray | モデレートされた動画で検出された広告または不正なテキストによってヒットした用語に関する情報。構造の詳細については、hintWordsInfo をご参照ください。 説明 このパラメーターは、広告違反検出にのみ適用されます。 | |
logoData | JSONArray | モデレートされた動画で検出されたロゴに関する情報。構造の詳細については、logoData をご参照ください。 説明 このパラメーターは、ロゴ検出にのみ適用されます。 | |
sfaceData | JSONArray | モデレートされた動画で検出されたテロコンテンツに関する情報。構造の詳細については、sfaceData をご参照ください。 説明 このパラメーターは、テロコンテンツ検出にのみ適用されます。 |
パラメーター | タイプ | 例 | 説明 |
url | String | http://www.aliyundoc.com/0B860000586C0A0 | キャプチャされたフレームの URL です。 |
offset | Integer | 50 | ビデオの開始からキャプチャされたフレームまでの間隔です。単位:秒。 |
label | String | porn | キャプチャされたフレームのモデレーション結果のカテゴリです。有効な値:
|
rate | Float | 99.1 | 信頼レベルのスコアです。有効な値: 0 から 100 まで。信頼レベルが高いほど、モデレーション結果の信頼性が高いことを示します。このスコアをビジネスで使用しないことをお勧めします。 |
パラメーター | タイプ | 例 | 説明 |
scene | String | antispam | モデレートされたビデオの音声モデレーションシナリオ。値は antispam です。 |
label | String | customized | モデレートされたビデオの音声モデレーション結果のカテゴリ。有効な値:
|
suggestion | String | block | 推奨される後続操作。有効な値:
|
rate | Float | 99.91 | 信頼レベルのスコア。有効な値: 0 から 100。値が大きいほど、信頼レベルが高いことを示します。 suggestion パラメーターに pass の値が返された場合、信頼レベルが高いほど、コンテンツが正常である可能性が高くなります。提案レビューブロックsuggestion パラメーターに または の値が返された場合、信頼レベルが高いほど、コンテンツに違反が含まれている可能性が高くなります。 重要 suggestion、label、および sublabel パラメーターに返される値を使用して、コンテンツに違反が含まれているかどうかを判断することをお勧めします。 sublabel パラメーターは、特定の操作によって返されます。 |
details | JSONArray | モデレートされた音声内のテキストに関する詳細。 JSON 配列には、1 つ以上の要素が含まれています。各要素はテキストエントリに対応します。詳細については、detail をご参照ください。 |
パラメーター | タイプ | 例 | 説明 |
startTime | Integer | 24 | テキスト入力の開始時間。単位:秒。 |
endTime | Integer | 60 | テキスト入力の終了時間。単位:秒。 |
text | String | Computer | 音声から変換されたテキスト入力の内容。 |
label | String | normal | テキスト入力のモデレーション結果のカテゴリ。有効な値:
|
keyword | String | On | テキスト入力でヒットしたカスタム用語。 |
libName | String | Human | テキスト入力でヒットしたカスタム用語を含むカスタムテキストライブラリの名前。 |
パラメーター | タイプ | 例 | 説明 |
type | String | TV | 検出されたロゴのタイプ。たとえば、値 TV は、管理されたメディアロゴを示します。 |
name | String | ***TV | 検出されたロゴの名前。 |
x | Float | 140 | ロゴ領域の左上隅と y 軸の間の距離。画像の左上隅が座標の原点です。単位:ピクセル。 |
y | Float | 68 | ロゴ領域の左上隅と x 軸の間の距離。画像の左上隅が座標の原点です。単位:ピクセル。 |
w | Float | 106 | ロゴ領域の幅。単位:ピクセル。 |
h | Float | 106 | ロゴ領域の高さ。単位:ピクセル。 |
| パラメーター | 型 | 例 | 説明 |
| x | Float | 444 | 顔領域の左上隅と y 軸の間の距離。画像の左上隅が座標の原点です。 |
| y | Float | 174 | 顔領域の左上隅と x 軸の間の距離。画像の左上隅が座標の原点です。 |
| w | Float | 467 | 顔領域の幅。 |
| h | Float | 467 | 顔領域の高さ。 |
| smileRate | Float | 0 | 笑顔の確率。 |
| glasses | Boolean | false | 人物が眼鏡をかけているかどうかを示します。 |
| faces | Array | 認識された顔の情報。構造の詳細については、次の表 face をご参照ください。 |
パラメーター | タイプ | 例 | 説明 |
name | String | xxxx | 認識された顔の人の名前。 |
rate | Float | 97.03 | 検出された顔が認識された顔と一致する確率。 |
id | String | AliFace_001**** | 認識された顔の ID。 |
パラメーター | タイプ | 例 | 説明 |
context | String | xxxx | 検出されたテキストがヒットしたカスタムテキスト。 |
libCode | String | 69751 | 検出されたテキストがヒットしたカスタムテキストを含むライブラリのコード。 |
libName | String | Human | 検出されたテキストがヒットしたカスタムテキストを含むライブラリの名前。 |
パラメーター | 型 | 例 | 説明 |
context | String | xxxx | 検出されたテキストが一致する用語。 |
リクエストパラメーター
サンプルリクエスト
http(s)://[Endpoint]/green/video/results
&<共通リクエストパラメーター>
[
"taskId****",
"taskId****"
]正常なレスポンスの例
動画内の画像のみをモデレートする
{ "code": 200, "msg": "OK", "requestId": "requestID****", "data": [ { "code": 200, "msg": "OK", "dataId": "videoId****", "taskId": "taskId****", "results": [ { "label": "porn", "rate": 99.2, "scene": "porn", "suggestion": "block" } ] } ] }動画内の画像と音声の両方をモデレートする
{ "code": 200, "msg": "OK", "requestId": "requestID****", "data": [ { "code": 200, "msg": "OK", "dataId": "videoId****", "taskId": "taskId****", "results": [ { "label": "porn", "rate": 99.2, "scene": "porn", "suggestion": "block" } ], "audioScanResults": [ { "scene": "antispam", "label": "customized", "suggestion": "block", "rate": 99.91, "details": [ { "startTime": 0, "endTime": 24, "text": "Computer", "label": "customized" }, { "startTime": 24, "endTime": 60, "text": "Computer", "label": "normal" } ] } ] } ] }