Object Storage Service (OSS) のデータインデックス機能を使用して、インターネットプロトコル (IP) カメラで収集された動画向けのインテリジェントセマンティック検索システムを構築できます。このシステムにより、動画に対してセマンティック検索を実行でき、インテリジェントセキュリティなどのシナリオに最適です。
ソリューション概要
インテリジェントセマンティック検索システムを構築するには、次の 2 つのステップに従います:
バケットの作成と動画のアップロード:IP カメラで収集された元の動画ファイルを保存するためのバケットを作成します。次に、処理する動画ファイルをアップロードします。これにより、後続の動画検索の基盤が提供されます。
AISearch 機能の有効化:バケットの AISearch 機能を有効にして、自然言語の説明に基づいたインテリジェントな検索を可能にします。
メリット
セマンティック検索:自然言語の説明と複数の複合条件に基づいた正確な検索をサポートします。これにより、ターゲットフレームを迅速に特定し、複雑なシナリオでの検索要件を満たすことができます。
マルチモーダル検索:動画、画像、テキストなどのデータに対する統一された管理および検索機能を提供します。これにより、技術的な障壁と運用保守 (O&M) コストが削減されます。
水平スケーリング:OSS は無制限の容量と弾性的なスケーラビリティを提供します。大量のデータ増加にも容易に対応できます。
1. バケットの作成と動画のアップロード
OSS コンソールにログインします。
[バケット] ページに移動し、[バケットの作成] をクリックします。
[バケットの作成] ページで、
ipc-videos-oss-metaquery-demoのように、ビジネスに関連するバケット名を入力します。他のパラメーターはデフォルト設定のままでかまいません。[作成] をクリックします。バケットが作成されたら、[バケットの表示] をクリックします。
[ファイルリスト] ページで、 をクリックします。 アップロードしたい動画ファイル、例えば Video A.mp4、Video B.mp4、Video C.mp4 を選択します。他のパラメーターはデフォルト構成のままにし、[ファイルのアップロード] をクリックします。
(オプション) アップロードした動画ファイルにタグを設定します。対象ファイルの [操作] 列で、 を選択します。表示されるダイアログボックスで、タグのキーと値のペアを追加します。例えば、インデックス作成時のフィルター条件として使用するために、タグキーを
need-seek、値をtrueに設定します。インデックスクエリのフィルター条件として使用するために、タグキーをcamera、値をcamera-aに設定します。[OK] をクリックします。動画にタグを追加することで、インデックス作成時や検索時に、より正確なフィルタリングが可能になります。
2. AISearch 機能の有効化
バケットの AISearch 機能を有効にすると、自然言語の説明と複数の複合条件に基づいて動画を正確に検索できるようになります。
説明 メタデータインデックスの構築には時間がかかります。正確な所要時間は、バケット内のオブジェクト数によって異なります。時間がかかりすぎる場合は、ページをリフレッシュして有効化のステータスを確認できます。 |
|
結果の検証
a yard with a parked car (駐車された車のある庭) のような説明的なテキストを入力するだけで、システムは説明に一致する関連動画を返します。
|
|
本番環境への適用
この機能を本番環境に統合する必要がある場合は、次の点を考慮してください:
本番データのインジェスト
実際のビジネスシナリオでは、IP カメラなどの監視デバイスは、大量の動画データを継続的に生成します。OSS Software Development Kit (SDK) を統合して、録画された動画セグメントを指定されたバケットにリアルタイムでアップロードすることを推奨します。これにより、データアップロードの安定性と適時性が確保され、システム全体の可用性とリアルタイム処理能力が向上します。
次の例は、OSS Python SDK を使用してファイルアップロードマネージャーを呼び出し、動画をアップロードする方法を示しています:
検索機能の統合
本番環境では、検索機能をバックエンドサービスに統合することを推奨します。OSS SDK を使用して呼び出しを自動化し、コンソールでの手動操作を回避します。
次のコードサンプルは、OSS MetaQuery 仕様に準拠した XML リクエストを構築して検索結果を取得する方法を示しています:
プログラムを実行した後、a yard with a parked car のような説明的なテキストを入力して検索を実行できます。システムはデータインデックスを使用して、説明に一致する検索結果を返します。URL を使用して、動画の詳細を直接表示できます。
Found 1 matching result:
File 1:
URI: oss://ipc-videos-oss-metaquery-demo/VideoA.mp4
File name: VideoA.mp4
Size: 2311252
Modified time: 2025-05-23T17:38:10+08:00
ContentType: video/mp4
MediaType: video
File address (signed URL): https://ipc-videos-oss-metaquery-demo.oss-cn-beijing.aliyuncs.com/VideoA.mp4?x-oss-signature-version=OSS4-HMAC-SHA256&x-oss-date=20250523T094511Z&x-oss-expires=900&x-oss-credential=LTAI********************%2F20250523%2Fcn-beijing%2Foss%2Faliyun_v4_request&x-oss-signature=0bf38092c42a179ff0e8334c8bea3fd92f5a78599038e816e2ed3e02755542af
--------------------タグフィルターの設定
大量の動画データを扱う場合、パスだけでファイルを管理することは、検索や分類において非効率なことがよくあります。OSS のタギング機能を使用して、ファイルにキーと値のタグを追加することを推奨します。これにより、カメラ ID や地理的リージョンによるフィルタリングなど、ビジネスニーズに基づいてデータを迅速にフィルタリングおよび分類できます。
システムに分析対象の 3 つの動画ファイル (VideoA.mp4、VideoB.mp4、VideoC.mp4) が次のようにあると仮定します:
VideoA.mp4 | VideoB.mp4 | VideoC.mp4 |
|
|
|
裏庭の動画、camera-a で撮影されたものとしてマーク | 自動販売機の動画、camera-b で撮影されたものとしてマーク | 裏庭の動画、内容は Video A に似ており、camera-c で撮影されたものとしてマーク |
ファイルをアップロードする際に直接タグを設定できます。また、アップロード後に動的に管理して、さまざまなビジネスニーズに対応することもできます。
アップロード時のタグ設定
動画ファイルをアップロードする際にタグを設定して、アップロードとタグ管理の操作を統合できます。これにより、データ管理の効率が向上します。
次の例は、OSS Python SDK のファイルアップロードマネージャーを使用して動画ファイルをアップロードし、同時にタグを設定する方法を示しています:
アップロード後のタグ管理
ファイルが既にアップロードされている場合でも、いつでもタグを追加または変更できます。これにより、データタグの動的なメンテナンスと正確性が確保されます。
次の例は、Python SDK を使用して API 操作を呼び出し、タグを追加する方法を示しています:
タグフィルターを使用した検索
次の例は、OSS Python SDK を使用して、セマンティック理解とタグフィルタリングの両方を使用する複合クエリリクエストを送信する方法を示しています:
プログラムを実行した後、駐車された車のある庭を含む動画をフィルタリングするには、次の手順を実行します:
説明フィールドに、検索キーワード
a yard with a parked carを入力します。タグフィルター条件を
camera = camera-aに設定します。
この例では、Video A と Video C の両方に、説明 a yard with a parked car に一致するシーンが含まれています。ただし、camera-a のタグが付いた動画の検索結果のみを保持するタグフィルターを設定したため、最終的な検索結果には Video A のみが含まれます。
Sending DoMetaQuery request...
Request successful, HTTP status code: 200
Got 2 initial matching results from OSS, starting client-side tag filtering...
[1] File 'VideoA.mp4' matches all conditions:
File address: https://ipc-videos-oss-metaquery-demo.oss-cn-beijing.aliyuncs.com/VideoA.mp4?x-oss-signature-version=OSS4-HMAC-SHA256&x-oss-date=20250526T054908Z&x-oss-expires=900&x-oss-credential=LTAI********************%2Fcn-beijing%2Foss%2Faliyun_v4_request&x-oss-signature=01bbf29790763d8e0f177d4cb0469cb00ae1c69d565219edb3866f75110b37ab
File path: VideoA.mp4
-----------------------
Client-side filtering complete, found 1 final matching result.
> [その他] > [タギング]



