type

By default Zencoder will consider outputs to be standard audio or video files. Currently, there are two special types of outputs: segmented and playlist.

segmented: The typical use-case for segmentation is for Apple's Live HTTP Streaming (see Segmented Streaming). For segmented outputs the default format will be changed to ts instead of mp4.

captions: API V2 Only
The captions output type creates a file containing just the captions from the source video, rather than a video with captions added to it. Note: captions type outputs may not be the only outputs for a job.
Captions may be provided to Zencoder as a separate file (using the caption_url option), or will be extracted from the source video by default.
Supported formats for extracting captions from the source video are MP4 and TS. In an MP4 file, the captions may be located in a separate track (in CEA-608 format); otherwise captions in an MP4 or TS file must be embedded in an MPEG2 or AVC video stream, compliant to A/53 or SCTE-128 (CC1 and CC3) standards.
Supported output formats for captions type outputs: 'mp4', 'scc', 'webvtt', 'vtt', 'm3u8', 'dfxp'.

playlist: The playlist output type is used in multi-bitrate output streams to generate the master M3U8 playlist file. Note: playlist type outputs may not be the only outputs for a job.

transfer-only: API V2 Only
A transfer-only output skips encoding and sends the original video to a url.
A transfer-only output can also use source to transfer the video from another output to the specified url, rather than using the input.

dynamic_profile_rendition

The dynamic_profile_rendition setting specifies that this Output should use settings from the dynamically generated CAE profile, and specifically which rendition of the profile to use settings from. When dynamic_profile_rendition is set, there is no need to specify encoding settings such as resolution, bitrate, etc. (See the CAE Guide for the full list of settings that are automatically set by CAE.)

A full URL, including a filename, to which the output file will be uploaded. Please see base_url for more information about providers.

We officially support HTTP upload to S3, GCS, Cloud Files, and Akamai.

Notes on S3:

You must grant write permissions to Zencoder on the output bucket before submitting a job to Zencoder. Please note that it is the S3 bucket, and not the S3 "path" which needs write permission. For example, an asset at http://s3.amazonaws.com/my_files/0000/video.mp4 needs write access added to "my_files" (the bucket name), not "my_files/0000" (the path).

To create keys containing special characters that are not valid in URLs (? or #), you must URL encode them (%3F and %23, respectively). All other characters must not be URL encoded.

You may provide the region of the S3 bucket by setting the URL's protocol to s3+region-name, where "region-name" is defined by this document. For example, to access a file from a bucket in the Asia Pacific (Singapore) region, set the URL to s3+ap-southeast-1://my-bucket/file.mp4.

Notes on Cloud Files:

You can specify the region to use (DFW, ORD, or UK) by adding it to the protocol, like cf+ord://username:api_key@container/object. Currently the only Cloud Files regions supported are DFW, ORD and UK. The DFW region will be used by default.

This is a similar situation to you running an FTP server to make your files available and Zencoder using an FTP client for file transfer.

Notes on Akamai NetStorage via HTTPS:

Zencoder can upload content to Akamai NetStorage either via FTP or HTTPS. To upload content via HTTPS, construct an output url like https://[Host]-nsu.akamaihd.net/[CPCode]/[path]/[file.ext].

You can reference your Akamai NetStorage Keyname and Key as External Servercredentials by setting the External Server User field to the Akamai NetStorage Keyname and the External Server Password to the Akamai NetStorage Key.

A base S3, Cloud Files, GCS, FTP, FTPS, or SFTP directory URL where the transcoded file will be uploaded, without a filename. If filename is not specified, a random filename plus an appropriate extension will be generated.

Notes on S3:

You must grant write permissions to Zencoder on the output bucket before submitting a job to Zencoder. Please note that it is the S3 bucket, and not the S3 "path" which needs write permission. For example, an asset at http://s3.amazonaws.com/my_files/0000/video.mp4 needs write access added to "my_files" (the bucket name), not "my_files/0000" (the path).

You may provide the region of the S3 bucket by setting the URL's protocol to s3+region-name, where "region-name" is defined by this document. For example, to access a file from a bucket in the Asia Pacific (Singapore) region, set the URL to s3+ap-southeast-1://my-bucket/.

Notes on Cloud Files:

You can specify the region to use (DFW, ORD, or UK) by adding it to the protocol, like cf+ord://username:api_key@container/object. Currently the only Cloud Files regions supported are DFW, ORD and UK. The DFW region will be used by default.

package_filename

The filename of a packaged output. If the extension matches a valid package_format, this will set the default value for package_format as well. When specified, this value is used in combination with base_url to generate an output URL, rather than filename. If filename is not specified, it will default to the same as package_filename, but with the correct file extension for the media type.

package_format

Creates a zip or tar file containing all the media files of an output, and uploads this single package rather than all the individual files. Thumbnails without a separate base_url will be included in sub-directories inside the package file as well.

Zencoder's device profiles are shortcuts to a set of options that target the playback capability of a particular device or set of devices. Setting a device profile will do nothing more than change the default values used in the API call. That means you can completely override individual settings of a profile to suit your particular needs very easily.

Versioned device profiles are available and listed below. Specifying a version (v1/mobile/baseline) will ensure that you'll always get the same profile, while non-version specific profiles (mobile/baseline) may be changed over time as better options become available.

strict

Enable "strict" mode. By default, we will try to correct encoding problems for you. This is called "compatible" mode. For example, if you set a video bitrate that is too low for our encoder, we will automatically correct and use the lowest possible bitrate. So if you ask for a bitrate of 150kbps, but the encoder can't do anything lower than 200kbps, we will automatically encode the video at 200kbps for you.

If you enable "strict" mode, we will not correct encoding settings like these. Instead, we will fail the job, because we cannot meet your target spec.

credentials

Credentials can only be used with URLs that match their type; for example, S3 credentials paired with an FTP URL will be rejected.

Note: The most "precise" credentials specified take precedence. For instance, credentials passed in the URL will take precedence over the credentials parameter, just as the credentials parameter takes precedence over default credentials.

parallel_upload_limit

The maximum number of simultaneous uploads made when uploading multipart outputs, primarily HLS segments.

parallel_upload_limitmust be set for individual outputs, not the entire job.

This may speed up transfer times, depending on the bandwidth at your remote server. Be aware that more connections can place a heavier load on the server. If you have trouble with upload timeouts, or want to prevent Zencoder from using too much bandwidth when uploading files, set this to 1.

To use S3's Standard_IA feature, you will need to set the x-amz-storage-class header to the appropriate value. These values change and are controlled by AWS and Google, so you will need to get correct values from them.

The "goog" headers are supported for GCS output URLs, but not for URLs on S3.