Class v1.VideoIntelligenceServiceClient (5.0.0)

Service that implements the Video Intelligence API. v1

Package

@google-cloud/video-intelligence

Constructors

(constructor)(opts, gaxInstance)

constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);

Construct an instance of VideoIntelligenceServiceClient.

Parameters
NameDescription
opts ClientOptions
gaxInstance typeof gax | typeof fallback

: loaded instance of google-gax. Useful if you need to avoid loading the default gRPC version and want to use the fallback HTTP implementation. Load only fallback version and pass it to the constructor: ``` const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC const client = new VideoIntelligenceServiceClient({fallback: 'rest'}, gax); ```

Properties

apiEndpoint

static get apiEndpoint(): string;

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

auth

auth: gax.GoogleAuth;

descriptors

descriptors: Descriptors;

innerApiCalls

innerApiCalls: {
        [name: string]: Function;
    };

operationsClient

operationsClient: gax.OperationsClient;

port

static get port(): number;

The port for this API service.

scopes

static get scopes(): string[];

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

servicePath

static get servicePath(): string;

The DNS address for this API service.

videoIntelligenceServiceStub

videoIntelligenceServiceStub?: Promise<{
        [name: string]: Function;
    }>;

warn

warn: (code: string, message: string, warnType?: string) => void;

Methods

annotateVideo(request, options)

annotateVideo(request?: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress>,
        protos.google.longrunning.IOperation | undefined,
        {} | undefined
    ]>;

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
NameDescription
request IAnnotateVideoRequest

The request object that will be sent.

options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
Promise<[ LROperation<protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress>, protos.google.longrunning.IOperation | undefined, {} | undefined ]>

{Promise} - The promise which resolves to an array. The first element of the array is an object representing a long running operation. Its promise() method returns a promise you can await for. Please see the documentation for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Input video location. Currently, only
   *  Cloud Storage (https://cloud.google.com/storage/) URIs are
   *  supported. URIs must be specified in the following format:
   *  `gs://bucket-id/object-id` (other URI formats return
   *  google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For
   *  more information, see Request
   *  URIs (https://cloud.google.com/storage/docs/request-endpoints). To identify
   *  multiple videos, a video URI may include wildcards in the `object-id`.
   *  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` must be unset.
   */
  // const inputUri = 'abc123'
  /**
   *  The video data bytes.
   *  If unset, the input video(s) should be specified via the `input_uri`.
   *  If set, `input_uri` must be unset.
   */
  // const inputContent = Buffer.from('string')
  /**
   *  Required. Requested video annotation features.
   */
  // const features = [1,2,3,4]
  /**
   *  Additional video context and/or feature-specific parameters.
   */
  // const videoContext = {}
  /**
   *  Optional. Location where the output (in JSON format) should be stored.
   *  Currently, only Cloud Storage (https://cloud.google.com/storage/)
   *  URIs are supported. These must be specified in the following format:
   *  `gs://bucket-id/object-id` (other URI formats return
   *  google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For
   *  more information, see Request
   *  URIs (https://cloud.google.com/storage/docs/request-endpoints).
   */
  // const outputUri = 'abc123'
  /**
   *  Optional. Cloud region where annotation should take place. Supported cloud
   *  regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no
   *  region is specified, the region will be determined based on video file
   *  location.
   */
  // const locationId = 'abc123'

  // Imports the Videointelligence library
  const {VideoIntelligenceServiceClient} = require('@google-cloud/video-intelligence').v1;

  // Instantiates a client
  const videointelligenceClient = new VideoIntelligenceServiceClient();

  async function callAnnotateVideo() {
    // Construct request
    const request = {
      features,
    };

    // Run request
    const [operation] = await videointelligenceClient.annotateVideo(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callAnnotateVideo();

annotateVideo(request, options, callback)

annotateVideo(request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, options: CallOptions, callback: Callback<LROperation<protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request IAnnotateVideoRequest
options CallOptions
callback Callback<LROperation<protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

annotateVideo(request, callback)

annotateVideo(request: protos.google.cloud.videointelligence.v1.IAnnotateVideoRequest, callback: Callback<LROperation<protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
Parameters
NameDescription
request IAnnotateVideoRequest
callback Callback<LROperation<protos.google.cloud.videointelligence.v1.IAnnotateVideoResponse, protos.google.cloud.videointelligence.v1.IAnnotateVideoProgress>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>
Returns
TypeDescription
void

checkAnnotateVideoProgress(name)

checkAnnotateVideoProgress(name: string): Promise<LROperation<protos.google.cloud.videointelligence.v1.AnnotateVideoResponse, protos.google.cloud.videointelligence.v1.AnnotateVideoProgress>>;

Check the status of the long running operation returned by annotateVideo().

Parameter
NameDescription
name string

The operation name that will be passed.

Returns
TypeDescription
Promise<LROperation<protos.google.cloud.videointelligence.v1.AnnotateVideoResponse, protos.google.cloud.videointelligence.v1.AnnotateVideoProgress>>

{Promise} - The promise which resolves to an object. The decoded operation object has result and metadata field to get information from. Please see the documentation for more details and examples.

Example

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Input video location. Currently, only
   *  Cloud Storage (https://cloud.google.com/storage/) URIs are
   *  supported. URIs must be specified in the following format:
   *  `gs://bucket-id/object-id` (other URI formats return
   *  google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For
   *  more information, see Request
   *  URIs (https://cloud.google.com/storage/docs/request-endpoints). To identify
   *  multiple videos, a video URI may include wildcards in the `object-id`.
   *  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` must be unset.
   */
  // const inputUri = 'abc123'
  /**
   *  The video data bytes.
   *  If unset, the input video(s) should be specified via the `input_uri`.
   *  If set, `input_uri` must be unset.
   */
  // const inputContent = Buffer.from('string')
  /**
   *  Required. Requested video annotation features.
   */
  // const features = [1,2,3,4]
  /**
   *  Additional video context and/or feature-specific parameters.
   */
  // const videoContext = {}
  /**
   *  Optional. Location where the output (in JSON format) should be stored.
   *  Currently, only Cloud Storage (https://cloud.google.com/storage/)
   *  URIs are supported. These must be specified in the following format:
   *  `gs://bucket-id/object-id` (other URI formats return
   *  google.rpc.Code.INVALID_ARGUMENT google.rpc.Code.INVALID_ARGUMENT). For
   *  more information, see Request
   *  URIs (https://cloud.google.com/storage/docs/request-endpoints).
   */
  // const outputUri = 'abc123'
  /**
   *  Optional. Cloud region where annotation should take place. Supported cloud
   *  regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no
   *  region is specified, the region will be determined based on video file
   *  location.
   */
  // const locationId = 'abc123'

  // Imports the Videointelligence library
  const {VideoIntelligenceServiceClient} = require('@google-cloud/video-intelligence').v1;

  // Instantiates a client
  const videointelligenceClient = new VideoIntelligenceServiceClient();

  async function callAnnotateVideo() {
    // Construct request
    const request = {
      features,
    };

    // Run request
    const [operation] = await videointelligenceClient.annotateVideo(request);
    const [response] = await operation.promise();
    console.log(response);
  }

  callAnnotateVideo();

close()

close(): Promise<void>;

Terminate the gRPC channel and close the client.

The client will no longer be usable and all future behavior is undefined.

Returns
TypeDescription
Promise<void>

{Promise} A promise that resolves when the client is closed.

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

getProjectId(callback)

getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter
NameDescription
callback Callback<string, undefined, undefined>
Returns
TypeDescription
void

initialize()

initialize(): Promise<{
        [name: string]: Function;
    }>;

Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.

You can await on this method if you want to make sure the client is initialized.

Returns
TypeDescription
Promise<{ [name: string]: Function; }>

{Promise} A promise that resolves to an authenticated service stub.