REST Resource: projects.locations.channels.clips

Resource: Clip

Clip is a sub-resource under channel. Each clip represents a clipping operation that generates a VOD playlist from its channel given a set of timestamp ranges.

JSON representation
{
  "name": string,
  "createTime": string,
  "startTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "state": enum (State),
  "outputUri": string,
  "error": {
    object (Status)
  },
  "slices": [
    {
      object (Slice)
    }
  ],
  "clipManifests": [
    {
      object (ClipManifest)
    }
  ]
}
Fields
name

string

The resource name of the clip, in the following format: projects/{project}/locations/{location}/channels/{c}/clips/{clipId}. {clipId} is a user-specified resource id that conforms to the following criteria:

  1. 1 character minimum, 63 characters maximum
  2. Only contains letters, digits, underscores, and hyphens
createTime

string (Timestamp format)

Output only. The creation timestamp of the clip resource.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

startTime

string (Timestamp format)

Output only. The timestamp when the clip request starts to be processed.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. The update timestamp of the clip resource.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

The labels associated with this resource. Each label is a key-value pair.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Output only. The state of the clip.

outputUri

string

Specify the outputUri to determine where to place the clip segments and clip manifest files in Cloud Storage. The manifests specified in clipManifests fields will be placed under this URI. The exact URI of the generated manifests will be provided in clipManifests.output_uri for each manifest. Example: "outputUri": "gs://my-bucket/clip-outputs" "clipManifests.output_uri": "gs://my-bucket/clip-outputs/main.m3u8"

error

object (Status)

Output only. An error object that describes the reason for the failure. This property only presents when state is FAILED.

slices[]

object (Slice)

The specified ranges of segments to generate a clip.

clipManifests[]

object (ClipManifest)

Required. A list of clip manifests. Currently only one clip manifest is allowed.

State

State of clipping operation.

Enums
STATE_UNSPECIFIED State is not specified.
PENDING The operation is pending to be picked up by the server.
CREATING The server admitted this create clip request, and outputs are under processing.
SUCCEEDED Outputs are available in the specified Cloud Storage bucket. For additional information, see the outputs field.
FAILED The operation has failed. For additional information, see the error field.

Slice

Slice represents a slice of the requested clip.

JSON representation
{

  // Union field kind can be only one of the following:
  "timeSlice": {
    object (TimeSlice)
  }
  // End of list of possible types for union field kind.
}
Fields
Union field kind. The allowlist forms of a slice. kind can be only one of the following:
timeSlice

object (TimeSlice)

A slice in form of a tuple of Unix epoch time.

TimeSlice

TimeSlice represents a tuple of Unix epoch timestamps that specifies a time range.

JSON representation
{
  "markinTime": string,
  "markoutTime": string
}
Fields
markinTime

string (Timestamp format)

The mark-in Unix epoch time in the original live stream manifest.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

markoutTime

string (Timestamp format)

The mark-out Unix epoch time in the original live stream manifest.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

ClipManifest

ClipManifest identifies a source manifest for the generated clip manifest.

JSON representation
{
  "manifestKey": string,
  "outputUri": string
}
Fields
manifestKey

string

Required. A unique key that identifies a manifest config in the parent channel. This key is the same as channel.manifests.key for the selected manifest.

outputUri

string

Output only. The output URI of the generated clip manifest. This field will be populated when the clips.create request is accepted. Current output format is provided below but may change in the future. Please read this field to get the uri to the generated clip manifest. Format: {clip.output_uri}/{channel.manifest.fileName} Example: gs://my-bucket/clip-outputs/main.m3u8

Methods

create

Creates a clip with the provided clip ID in the specified channel.

get

Returns the specified clip.

list

Returns a list of all clips in the specified channel.