Stream live videos

This page describes how to annotate a video stream from standard live streaming protocols.

The Video Intelligence API Streaming API enables real-time streaming analysis for live media. Supported features include:

  • Live Label Detection

  • Live Shot Change Detection

  • Live Explicit Content Detection

  • Live Object Detection and Tracking

The AIStreamer ingestion library provides a set of open source interfaces and example code to connect to the Video Intelligence API Streaming API. The library supports:

  • HTTP Live Streaming (HLS): an HTTP based media streaming and communication protocol.

  • Real Time Streaming Protocol (RTSP): a network control protocol for streaming media servers. It is used in conjunction with Real Time Protocol (RTP) and Real Time Control Protocol (RTCP).

  • Real Time Messaging Protocol (RTMP): a protocol for streaming audio, video, and data over the Internet.

To start using AIStreamer

The AIStreamer ingestion library includes the following examples (incuding a Docker example).

Code architecture

The AIStreamer ingestion library includes the following three directories:

  • client: Python & C++ client libraries for connecting to Video Intelligence.

  • env: Docker example for AIStreamer ingestion.

  • proto: Proto definitions and gRPC interface for Video Intelligence.

Third-party dependencies

The open source AIStreamer ingestion library is based on the following Google-owned and third-party open source libraries.

  • Bazel: A build and test tool with multi-language support.

  • gRPC: A high performance, open-source universal RPC framework.

  • Protobuf: Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.

  • rules_protobuf: Bazel rules for building protocol buffers and gRPC services.

  • glog: C++ implementation of the Google logging module.

  • gflags: C++ library that implements command-line flags processing.

  • ffmpeg: A complete, cross-platform solution to record, convert and stream audio and video.

  • gStreamer: Another cross-platform multimedia processing and streaming framework.