このページでは、標準のライブ ストリーミング プロトコルから動画ストリームにアノテーションを付ける方法について説明します。
Video Intelligence Streaming API は、ライブメディアのリアルタイム ストリーミング分析を可能にします。サポートされている機能は次のとおりです。
ライブ動画のラベル検出
ライブ動画のショット変更検出
ライブ動画の不適切コンテンツ検出
ライブ動画のオブジェクト検出とトラッキング
AIStreamer 取り込みライブラリでは、Video Intelligence API Streaming API に接続するための、オープンソース インターフェースとサンプルコードのセットを用意しています。ライブラリは次のプロトコルをサポートしています。
HTTP Live Streaming(HLS): HTTP ベースのメディア ストリーミングと通信プロトコル。
リアルタイム ストリーミング プロトコル(RTSP): ストリーミング メディア サーバー用のネットワーク制御プロトコル。リアルタイム プロトコル(RTP)とリアルタイム制御プロトコル(RTCP)を組み合わせて使用されます。
リアルタイム メッセージング プロトコル(RTMP): インターネットを介した音声、動画、データのストリーミングのためのプロトコル。
AIStreamer を使い始めるには
AIStreamer 取り込みライブラリには、次の例が含まれています(Docker の例を含みます)。
ライブ ストリーミング: Video Intelligence API でライブ ストリーミング プロトコル(HLS、RTSP、RTMP)をサポートするための説明。
Docker & Kubernetes: Docker の例と Kubernetes のデプロイメントを使用するための説明。
ライブ動画のラベル検出: ストリーミングのラベル分析についての説明。
ライブ動画のショット変更検出: ストリーミングのショット変更分析についての説明。
ライブ動画の不適切コンテンツ検出: ストリーミングの不適切コンテンツ分析についての説明。
ライブ動画のオブジェクト検出とトラッキング: ストリーミングのオブジェクト検出とトラッキング分析についての説明。
コード アーキテクチャ
AIStreamer の取り込みライブラリには、次の 3 つのディレクトリがあります。
client: Video Intelligence に接続するための Python と C++ クライアント ライブラリ。
env: AIStreamer の取り込みについての Docker の例。
proto: Video Intelligence 用の proto 定義と gRPC インタフェース。
サードパーティの依存関係
オープンソースの AIStreamer 取り込みライブラリは、次の Google 製やサードパーティ製のオープンソース ライブラリに基づいています。
Bazel: 多言語サポートのビルドとテストツール。
gRPC: 高パフォーマンスのオープンソース ユニバーサル RPC フレームワーク。
Protobuf: Google による、言語やプラットフォームに依存しない、構造化データをシリアル化するための拡張可能なメカニズム。
rules_protobuf: プロトコル バッファと gRPC サービスをビルドするための Bazel のルール。
glog: Google によるロギング モジュールの C++ 実装。
gflags: コマンドライン フラグ処理を実装する C++ ライブラリ。
ffmpeg: 音声と動画を、記録、変換、ストリーミングするための完全なクロス プラットフォーム ソリューション。
gStreamer: マルチメディアの処理やストリーミングをするためのクロス プラットフォーム フレームワーク。