Google Cloud Video Intelligence: Node.js Client
Google Cloud Video Intelligence API client for Node.js
A comprehensive list of changes in each version may be found in the CHANGELOG .
- Google Cloud Video Intelligence Node.js Client API Reference
- Google Cloud Video Intelligence Documentation
- github.com/googleapis/nodejs-video-intelligence
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained .
Table of contents:
Quickstart
Before you begin
- Select or create a Cloud Platform project .
- Enable billing for your project .
- Enable the Google Cloud Video Intelligence API .
- Set up authentication with a service account so you can access the API from your local workstation.
Installing the client library
npm install @google-cloud/video-intelligence
Using the client library
// Imports the Google Cloud Video Intelligence library
const videoIntelligence = require(' @google-cloud/video-intelligence
');
// Creates a client
const client = new videoIntelligence. VideoIntelligenceServiceClient
();
// The GCS uri of the video to analyze
const gcsUri = 'gs://cloud-samples-data/video/cat.mp4';
// Construct request
const request = {
inputUri: gcsUri,
features: ['LABEL_DETECTION'],
};
// Execute request
const [operation] = await client.annotateVideo(request);
console.log(
'Waiting for operation to complete... (this may take a few minutes)'
);
const [operationResult] = await operation.promise();
// Gets annotations for video
const annotations = operationResult.annotationResults[0];
// Gets labels for video from its annotations
const labels = annotations.segmentLabelAnnotations;
labels.forEach(label => {
console.log(`Label ${label.entity.description} occurs at:`);
label.segments.forEach(segment => {
segment = segment.segment;
if (segment.startTimeOffset.seconds === undefined) {
segment.startTimeOffset.seconds = 0;
}
if (segment.startTimeOffset.nanos === undefined) {
segment.startTimeOffset.nanos = 0;
}
if (segment.endTimeOffset.seconds === undefined) {
segment.endTimeOffset.seconds = 0;
}
if (segment.endTimeOffset.nanos === undefined) {
segment.endTimeOffset.nanos = 0;
}
console.log(
`\tStart: ${segment.startTimeOffset.seconds}` +
`.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s`
);
console.log(
`\tEnd: ${segment.endTimeOffset.seconds}.` +
`${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s`
);
});
});
Samples
Samples are in the samples/
directory. Each sample's README.md
has instructions for running its sample.
Sample | Source Code | Try it |
---|---|---|
Analyze-face-detection-gcs
|
source code | ![]() |
Analyze-face-detection
|
source code | ![]() |
Analyze-person-detection-gcs
|
source code | ![]() |
Analyze-person-detection
|
source code | ![]() |
Analyze-streaming-annotation-to-storage
|
source code | ![]() |
Analyze-streaming-automl-classification
|
source code | ![]() |
Analyze-streaming-automl-object-tracking
|
source code | ![]() |
Analyze-streaming-labels
|
source code | ![]() |
Analyze-streaming-object
|
source code | ![]() |
Analyze-streaming-safe-search
|
source code | ![]() |
Analyze-streaming-shot-change
|
source code | ![]() |
Analyze
|
source code | ![]() |
Analyze.v1p2beta1
|
source code | ![]() |
Detect_logo
|
source code | ![]() |
Detect_logo_gcs
|
source code | ![]() |
Quickstart
|
source code | ![]() |
The Google Cloud Video Intelligence Node.js Client API Reference documentation also contains samples.
Supported Node.js Versions
Our client libraries follow the Node.js release schedule . Libraries are compatible with all current active and maintenance versions of Node.js.
Client libraries targeting some end-of-life versions of Node.js are available, and
can be installed via npm dist-tags
.
The dist-tags follow the naming convention legacy-(version)
.
Legacy Node.js versions are supported as a best effort:
- Legacy versions will not be tested in continuous integration.
- Some security patches may not be able to be backported.
- Dependencies will not be kept up-to-date, and features will not be backported.
Legacy tags available
-
legacy-8
: install client libraries from this dist-tag for versions compatible with Node.js 8.
Versioning
This library follows Semantic Versioning .
This library is considered to be General Availability (GA). This means it is stable; the code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against GAlibraries are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributing
Contributions welcome! See the Contributing Guide .
Please note that this README.md
, the samples/README.md
,
and a variety of configuration files in this repository (including .nycrc
and tsconfig.json
)
are generated from a central template. To edit one of these files, make an edit
to its template in this directory
.
License
Apache Version 2.0
See LICENSE