ストリーム ライブ動画

このページでは、標準のライブ ストリーミング プロトコルから動画ストリームにアノテーションを付ける方法について説明します。

Video Intelligence Streaming API は、ライブメディアのリアルタイム ストリーミング分析を可能にします。サポートされている機能は次のとおりです。

  • ライブ動画のラベル検出

  • ライブ動画のショット変更検出

  • ライブ動画の不適切コンテンツ検出

  • ライブ動画のオブジェクト検出とトラッキング

AIStreamer 取り込みライブラリでは、Video Intelligence API Streaming API に接続するための、オープンソース インターフェースとサンプルコードのセットを用意しています。ライブラリは次のプロトコルをサポートしています。

  • HTTP Live Streaming(HLS): HTTP ベースのメディア ストリーミングと通信プロトコル。

  • リアルタイム ストリーミング プロトコル(RTSP): ストリーミング メディア サーバー用のネットワーク制御プロトコル。リアルタイム プロトコル(RTP)とリアルタイム制御プロトコル(RTCP)を組み合わせて使用されます。

  • リアルタイム メッセージング プロトコル(RTMP): インターネットを介した音声、動画、データのストリーミングのためのプロトコル。

AIStreamer を使い始めるには

AIStreamer 取り込みライブラリには、次の例が含まれています(Docker の例を含みます)。

コード アーキテクチャ

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: マルチメディアの処理やストリーミングをするためのクロス プラットフォーム フレームワーク。