stream2videointelligence

command module
v0.0.0-...-6de6b18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2023 License: GPL-3.0 Imports: 10 Imported by: 0

README

stream2videointelligence

A simple and effective tool to access the Google Cloud Platform's Video Intelligence API and get near real-time insights

AboutFeaturesBuildConfigurationUsageLicense

About

Cloud Video Intelligence API Streaming is a simple and efficient tool for streaming to the Google Cloud Platform Video Intelligence API.

Features

  • ✅ A single statically compiled binary for each OS/architecture
  • ✅ Can retrieve the data to be streamed directly via a pipe
  • ✅ Can retrieve the data to be streamed from a file
  • ✅ Can save annotations in a Cloud Storage bucket
  • ✅ Can save annotations in real-time to a local file
  • ✅ Can pass annotation data in real-time to another program through its stdout output

Build

First check that you have Golang installed on your machine.
Then, run:

make 

Quite simply!

Configuration

This program has a number of options, as follows:

Options Description Mandatory
-creds Service account JSON key file path Yes
-source Path of a file used as a source instead of a pipe No
-feature API Cloud Video Intelligence streaming feature Yes
-gcs GCS URI to store all annotation results No
-stdout Print in stdout results from the API No
-export Export the annotation results from the API to a file No

Note:

  • You must choose to enable at least one option between -gcs, -stdout or -export
  • If -source is not set, the data must be piped from another program
  • The different features supported by the Cloud Video Intelligence API in streaming mode are STREAMING_OBJECT_TRACKING, STREAMING_LABEL_DETECTION, STREAMING_EXPLICIT_CONTENT_DETECTION, STREAMING_SHOT_CHANGE_DETECTION

Usage

Example of use with a pipe:

gst-launch-1.0 -q -v v4l2src device=/dev/video0 ! video/x-raw,framerate=30/1,width=640,height=480 ! videoconvert ! videoscale ! videorate ! x264enc tune=zerolatency speed-preset=6 ! flvmux ! queue ! fdsink | ./stream2videointelligence -creds ./credientials.json -feature STREAMING_OBJECT_TRACKING -stdout

Example of use with a video file:

./stream2videointelligence -creds ./credentials.json -source video.flv -feature STREAMING_OBJECT_TRACKING -stdout

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL