Clipping

Operations related to clipping and stitching videos and live streams.

Create a clip

This operation creates (or replaces) a video object in Wowza Video by clipping a video or live stream or, clipping and stitching together video or live stream clips.

Create a clip

To create a clip off of an existing video or live stream, send the id of the video or live stream you want to clip along with the asset_type, mode, start, and stop parameters.

Create clips and stitch the clips

To create multiple clips and stitch the clips together as one clip, send the id of the videos or live streams you want to clip along with the asset_type, mode, start, and stop parameters.

Create a clip and replace the original video

To create a clip and replace the original video with the clip, send the replace_video_id parameter where replace_video_id is the video id of the video to be replaced, along with the asset_type, mode, start, and stop parameters.

Note: The replace option works only with videos and not live streams. The replace_video_id is specifically a video ID and not a live stream ID.

Caution! Once you replace the original video with the clip, you will no longer be able to retrieve the original video.

Request
Request Body schema: application/json
object (CreateClipStitch)
required
Array of objects (clips)

Represents an array of videos or live streams to be included in the clip/stitch operation. If you include only one video or live stream, it is clipped based on start and stop. If you include more than one video or live stream, they are clipped based on start and stop, and stitched as one clip.

mode
required
string

Specifies the mode for clipping/stitching operations. In QUICK mode, clipping can only be performed on segment breakpoints, optimizing for speed. For example, for a video or live stream that has 8-second interval breakpoint, if you specify a breakpoint outside the 8-second interval, the breakpoint is defaulted to the closest 8-second breakpoint. If you set your start as 00:00:10:00 (HH:MM:SS:FF), it will set your start to 00:00:08:00 ((HH:MM:SS:FF). In PRECISE mode, clipping can be performed on the frame level, ensuring higher accuracy but requiring more processing time. PRECISE mode incurs additional encoding time and cost.

Note: If you are clipping or stitching live streams, the start and stop times must be in ISO-8601 format, which is YYYY-MM-DDThh:mm:ssZ.

Enum: "QUICK" "PRECISE"
name
string

A descriptive name of the video that's displayed in the player. If not specified, it will default to the input file's name.

description
string

A description of the video that's displayed in the player.

category_id
string
Default: "<The account's default category>"

The unique identifier for the category that the video belongs to.

tags
Array of strings

A list of tags.

published_at
string <date-time>

Date and time, in ISO-8601 format, when video is available for publishing. Before this date the video is not visible in the player if using ovp-plugin to request the video.

published
boolean

Determines, together with published_at and unpublished_at, if this video will be visible in public listings such as MRSS-feeds, endscreens, and playlists. If true, and if published_at and unpublished_at allow, the video will be visible.

unpublish
boolean
Default: false

If true, the unpublished_at is respected and the video will not be available after unpublished_at. If false, the video will not be unpublished.

unpublished_at
string <date-time>

Date and time, in ISO-8601, format when video no longer is available for publishing. After this date, the video is not visible in the player if using ovp-plugin to request the video.

no_ads
boolean

When set to true, no ads will be displayed during this video.

Note: This feature only works for Iframe embeds.

ad_keywords
string

Used for replacing the ad_keywords macro in the VAST-tag in any player that plays the video.

replace_video_id
string

Specifies the video id of the video to be replaced by the clip/stitch operation. If the video id is not provided, a new video will be created.

Caution! Once you replace the original video with the clip, you will no longer be able to retrieve the original video.

Responses
200

Success

Response Schema: application/json
object (video)
id
string

Specifies the id of the video that is clipped or stitched based on the live stream(s) or video(s) sent in the request.

name
string

A descriptive name of the video that's displayed in the player. If not specified, it will default to the input file's name.

description
string

A description of the video that's displayed in the player.

duration_in_ms
integer <int64>

Duration of the video in milliseconds.

unpublish
boolean
Default: false

If true, the unpublished_at is respected and the video will not be available after unpublished_at. If false, the video will not be unpublished.

unpublished_at
string <date-time>

Date and time, in ISO-8601 format when video is no longer available for publishing. After this date, the video is not visible in the player if using ovp-plugin to request the video.

published
boolean

Determines, together with published_at and unpublished_at, if this video will be visible in public listings such as MRSS-feeds, endscreens, and playlists. If true, and if published_at and unpublished_at allow, the video will be visible.

published_at
string <date-time>

Date and time, in ISO-8601 format, when video is available for publishing. Before this date the video is not visible in the player if using ovp-plugin to request the video.

tags
Array of strings

A list of tags.

remote
boolean
Default: false

If true, it indicated that the source file of the video is hosted in an external storage location.

category_id
string
Default: "<The account's default category>"

The unique identifier for the category that the video belongs to.

no_ads
boolean

When set to true, no ads will be displayed during this video.

Note: This feature only works for Iframe embeds.

ad_keywords
string

Used for replacing the ad_keywords macro in the VAST-tag in any player that plays the video.

created_at
string <date-time>

Date and time, in ISO-8601 format, when video was created.

updated_at
string <date-time>

Date and time, in ISO-8601 format, when video was updated.

state
string

The current state of the video. The state reflects the current status of the video files for the video asset. Possible states listed below:

State Description
UPLOADING The source file is currently being uploaded or waiting to be downloaded by our API.
WAITING_FOR_ENCODER The source file was successfully downloaded by the platform and is in queue to be encoded.
PROCESSING Source file for the asset is encoding. The current encoding progress can be found on encoding_progress property.
FINISHED The encoding is done and the encoded files can be fetched. In this state it's possible to embed the video.
ERROR If the platform, for some reason, could not download the source file or failed during the encoding process. error_messsage property can give more information about why it errored.
DELETED The video files have been deleted. Usually the Video asset have been deleted when this state is reached and because of that it's very uncommon to see assets with this state.
encoding_progress
number <double>

Progress of video encoding, in percentage. The max value, 100, is reached when all video files have been encoded.

upload_progress
number <double>

Progress of source file upload, in percentage. If the value is 100, the source file is uploaded.

error_message
string

If the platform failed to encode the source file, a message describing the error reason will be presented in this property.

deactivated
boolean
Default: false

If true, this video has been deactivated and is no longer available for embedding. This usually happens if the account was cancelled or trial limits were exceeded.

Array of objects (ImageModel)

Images used together with the video in the platform and the player.

For platform video images specified in create and update requests, these are uploaded and delivered through the platform. For remote assets, the specified image URLs are passed along to the player using the URL specified in the request.

Array of objects (EncodingModel)

Array containing all available video files and their metadata.

shallow_copy
boolean

Specifies whether this video is a shallow copy of another video. A shallow copy uses video files controlled by another video, usually on another workspace.

Videos that are shallow copies can't use all features available for normal videos. For example, it's not possible to upload a new version of the video.

Another difference is that deleting the video will not delete any video files. If the video asset that is the source of the copy is deleted, the files will no longer be available for this asset.

shallow_copy_source_id
string

If the video is a shallow copy, this field contains the ID of the source video entity.

Note: There are cases where it is not possible to identify the source and in those cases this value will be null.

multiple_audio_tracks
boolean

If true, this video has several different audio tracks available for the player. For example, there may be audio tracks in different languages.

audio_only
boolean

If true, this video has no video track but only audio tracks.

version
integer <int32>

Tracks the number of times a new source file was uploaded for this video asset. For each time a new source file is uploaded, the value increases by one.

401

Unauthorized

403

Forbidden

404

Not Found

410

Gone

422

Unprocessable Entity

post/clipping
Request samples
application/json
{
  • "clipping": {
    }
}
Response samples
application/json
{
  • "video": {
    }
}