VideoIntelligenceServiceClient

VideoIntelligenceServiceClient

Service that implements Google Cloud Video Intelligence API.

Constructor

new VideoIntelligenceServiceClient(optionsopt)

Construct an instance of VideoIntelligenceServiceClient.

Parameters:
Name Type Attributes Description
options object <optional>

The configuration object. See the subsequent parameters for more details.

Properties
Name Type Attributes Description
credentials object <optional>

Credentials object.

Properties
Name Type Attributes Description
client_email string <optional>
private_key string <optional>
email string <optional>

Account email address. Required when using a .pem or .p12 keyFilename.

keyFilename string <optional>

Full path to the a .json, .pem, or .p12 key downloaded from the Google Developers Console. If you provide a path to a JSON file, the projectId option below is not necessary. NOTE: .pem and .p12 require you to specify options.email as well.

port number <optional>

The port on which to connect to the remote host.

projectId string <optional>

The project ID from the Google Developer's Console, e.g. 'grape-spaceship-123'. We will also check the environment variable GCLOUD_PROJECT for your project ID. If your app is running in an environment which supports Application Default Credentials, your project ID will be detected automatically.

promise function <optional>

Custom promise module to use instead of native Promises.

apiEndpoint string <optional>

The domain name of the API remote host.

Source:

Members

(static) apiEndpoint

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

Source:

(static) port

The port for this API service.

Source:

(static) scopes

The scopes needed to make gRPC calls for every method defined in this service.

Source:

(static) servicePath

The DNS address for this API service.

Source:

Methods

annotateVideo(request, optionsopt, callbackopt) → {Promise}

Performs asynchronous video annotation. Progress and results can be retrieved through the google.longrunning.Operations interface. Operation.metadata contains AnnotateVideoProgress (progress). Operation.response contains AnnotateVideoResponse (results).

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
inputUri string <optional>

Input video location. Currently, only Google Cloud Storage URIs are supported, which must be specified in the following format: gs://bucket-id/object-id (other URI formats return google.rpc.Code.INVALID_ARGUMENT). For more information, see Request URIs. A video URI may include wildcards in object-id, and thus identify multiple videos. Supported wildcards: '*' to match 0 or more characters; '?' to match 1 character. If unset, the input video should be embedded in the request as input_content. If set, input_content should be unset.

inputContent Buffer <optional>

The video data bytes. If unset, the input video(s) should be specified via input_uri. If set, input_uri should be unset.

features Array.<number> <optional>

Requested video annotation features.

The number should be among the values of Feature

videoContext Object <optional>

Additional video context and/or feature-specific parameters.

This object should have the same structure as VideoContext

outputUri string <optional>

Optional location where the output (in JSON format) should be stored. Currently, only Google Cloud Storage URIs are supported, which must be specified in the following format: gs://bucket-id/object-id (other URI formats return google.rpc.Code.INVALID_ARGUMENT). For more information, see Request URIs.

locationId string <optional>

Optional cloud region where annotation should take place. Supported cloud regions: us-east1, us-west1, europe-west1, asia-east1. If no region is specified, a region will be determined based on video file location.

options Object <optional>

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback function <optional>

The function which will be called with the result of the API call.

The second parameter to the callback is a gax.Operation object.

Source:
Example
const videoIntelligence = require('@google-cloud/video-intelligence');

const client = new videoIntelligence.v1p3beta1.VideoIntelligenceServiceClient({
  // optional auth parameters.
});

const inputUri = 'gs://cloud-samples-data/video/cat.mp4';
const featuresElement = 'LABEL_DETECTION';
const features = [featuresElement];
const request = {
  inputUri: inputUri,
  features: features,
};

// Handle the operation using the promise pattern.
client.annotateVideo(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Operation#promise starts polling for the completion of the LRO.
    return operation.promise();
  })
  .then(responses => {
    const result = responses[0];
    const metadata = responses[1];
    const finalApiResponse = responses[2];
  })
  .catch(err => {
    console.error(err);
  });

const inputUri = 'gs://cloud-samples-data/video/cat.mp4';
const featuresElement = 'LABEL_DETECTION';
const features = [featuresElement];
const request = {
  inputUri: inputUri,
  features: features,
};

// Handle the operation using the event emitter pattern.
client.annotateVideo(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Adding a listener for the "complete" event starts polling for the
    // completion of the operation.
    operation.on('complete', (result, metadata, finalApiResponse) => {
      // doSomethingWith(result);
    });

    // Adding a listener for the "progress" event causes the callback to be
    // called on any change in metadata when the operation is polled.
    operation.on('progress', (metadata, apiResponse) => {
      // doSomethingWith(metadata)
    });

    // Adding a listener for the "error" event handles any errors found during polling.
    operation.on('error', err => {
      // throw(err);
    });
  })
  .catch(err => {
    console.error(err);
  });

const inputUri = 'gs://cloud-samples-data/video/cat.mp4';
const featuresElement = 'LABEL_DETECTION';
const features = [featuresElement];
const request = {
  inputUri: inputUri,
  features: features,
};

// Handle the operation using the await pattern.
const [operation] = await client.annotateVideo(request);

const [response] = await operation.promise();

getProjectId(callback)

Return the project ID used by this class.

Parameters:
Name Type Description
callback function

the callback to be called with the current project Id.

Source: