Class v1p3beta1.StreamingVideoIntelligenceServiceClient (5.0.2)

Service that implements streaming Video Intelligence API. v1p3beta1

Package

@google-cloud/video-intelligence

Constructors

(constructor)(opts, gaxInstance)

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

Construct an instance of StreamingVideoIntelligenceServiceClient.

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 StreamingVideoIntelligenceServiceClient({fallback: true}, 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;
    };

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.

streamingVideoIntelligenceServiceStub

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

warn

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

Methods

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.

streamingAnnotateVideo(options)

streamingAnnotateVideo(options?: CallOptions): gax.CancellableStream;

Performs video annotation with bidirectional streaming: emitting results while sending video/audio bytes. This method is only available via the gRPC API (not REST).

Parameter
NameDescription
options CallOptions

Call options. See CallOptions for more details.

Returns
TypeDescription
gax.CancellableStream

{Stream} An object stream which is both readable and writable. It accepts objects representing StreamingAnnotateVideoRequest for write() method, and will emit objects representing StreamingAnnotateVideoResponse on 'data' event asynchronously. 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.
   */
  /**
   *  Provides information to the annotator, specifing how to process the
   *  request. The first `AnnotateStreamingVideoRequest` message must only
   *  contain a `video_config` message.
   */
  // const videoConfig = {}
  /**
   *  The video data to be annotated. Chunks of video data are sequentially
   *  sent in `StreamingAnnotateVideoRequest` messages. Except the initial
   *  `StreamingAnnotateVideoRequest` message containing only
   *  `video_config`, all subsequent `AnnotateStreamingVideoRequest`
   *  messages must only contain `input_content` field.
   *  Note: as with all bytes fields, protobuffers use a pure binary
   *  representation (not base64).
   */
  // const inputContent = Buffer.from('string')

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

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

  async function callStreamingAnnotateVideo() {
    // Construct request
    const request = {
    };

    // Run request
    const stream = await videointelligenceClient.streamingAnnotateVideo();
    stream.on('data', (response) => { console.log(response) });
    stream.on('error', (err) => { throw(err) });
    stream.on('end', () => { /* API call completed */ });
    stream.write(request);
    stream.end(); 
  }

  callStreamingAnnotateVideo();