Search Documentation
Search across all documentation pages
Containers

Containers

A container format packages video, audio, subtitles, and metadata into a single file. The container you choose determines which codecs you can use and how the file can be delivered to viewers.

Transcodely supports four container formats for direct file-based outputs — MP4, WebM, MKV, and MOV — plus HLS and DASH for adaptive streaming (covered in Streaming). A fifth container, TS (MPEG Transport Stream), is available only through presets and is delivered as an HLS stream rather than a standalone file.

Container Overview

ContainerAPI ValueFile ExtensionPrimary Use Case
MP4mp4.mp4General-purpose delivery, progressive download
WebMwebm.webmWeb-optimized delivery, open-source workflows
MKVmkv.mkvArchival, maximum codec flexibility
MOVmov.movApple ecosystem, professional editing workflows
TS†ts (preset container only).m3u8 + .ts segmentsBroadcast, legacy streaming infrastructure

Codec Compatibility

Video codecs by container:

ContainerH.264H.265VP9AV1
MP4YesYesNoYes
WebMNoNoYesYes
MKVYesYesYesYes
MOVYesYesNoPreset‡
TS†YesYesNoNo

Audio codecs by container:

ContainerAACOpusMP3
MP4YesYesYes
WebMNoYesNo
MKVYesYesYes
MOVYesYesYes
TS†YesNoYes

The API validates codec-container combinations and returns a validation_error if you specify an unsupported pairing.

† TS is not a valid inline output type — it is selectable only through a preset’s container field, and a TS-container preset is delivered as an HLS stream (segmented .ts files with an .m3u8 manifest), not a single .ts file.

‡ MOV accepts AV1 only when the output is defined through a preset (container: "mov"). Inline type: "mov" outputs are limited to H.264 and H.265.

MP4

The most widely supported container format. MP4 files play natively in every browser, operating system, and media player.

Features:

  • Supports moov atom at the start (faststart) for progressive playback without downloading the full file
  • Chapter markers, subtitle tracks, and metadata
  • Broad tool and editor support

Best for: General delivery, social media uploads, progressive download, mobile playback

{
  "type": "mp4",
  "video": [
    {"codec": "h264", "resolution": "1080p", "quality": "standard"}
  ]
}

WebM

Google’s open container format, designed for web delivery. WebM is the native container for VP9 and AV1 content on the web.

Features:

  • Based on Matroska (MKV) container
  • Royalty-free, no licensing costs
  • Natively supported in Chrome, Firefox, and Edge
  • Smaller overhead than MP4 for web delivery

Best for: Web-first delivery, open-source projects, VP9/AV1 content

{
  "type": "webm",
  "video": [
    {"codec": "vp9", "resolution": "1080p", "quality": "standard"}
  ]
}

MKV

Matroska is the most flexible container format, supporting every codec Transcodely offers. It is the only container that accepts all four video codecs and all three audio codecs.

Features:

  • Supports unlimited audio, video, and subtitle tracks
  • Chapter markers and rich metadata
  • No codec restrictions
  • Not natively supported in most browsers (requires a player like VLC)

Best for: Archival, internal processing, maximum flexibility, multi-track content

{
  "type": "mkv",
  "video": [
    {"codec": "av1", "resolution": "2160p", "quality": "premium"}
  ]
}

MOV

Apple’s QuickTime container format. MOV is commonly used in professional video production workflows and is natively supported on macOS and iOS.

Features:

  • Native support in Final Cut Pro, Motion, and other Apple tools
  • ProRes support (source format, not transcoding target)
  • Timecode tracks for professional editing
  • Inline type: "mov" outputs are limited to H.264 and H.265 video codecs (AV1 is additionally accepted when MOV is set through a preset’s container field)

Best for: Apple ecosystem, professional editing, Final Cut Pro workflows

{
  "type": "mov",
  "video": [
    {"codec": "h265", "resolution": "2160p", "quality": "premium"}
  ]
}

TS (MPEG Transport Stream)

The broadcast industry standard for reliable video transport. TS is designed for environments where data loss is expected (satellite, cable TV).

Features:

  • Error resilience — playback can recover from data corruption
  • Fixed-size packets (188 bytes) for broadcast compatibility
  • Limited to H.264/H.265 video and AAC/MP3 audio
  • Commonly used as HLS segment format (legacy)

Best for: Broadcast workflows, legacy HLS infrastructure, satellite distribution

TS is not a valid inline output type. To produce TS-based output, create a preset with container: "ts" and reference it from your output spec. A TS-container preset is delivered as an HLS stream — segmented .ts files with an .m3u8 manifest — not a single .ts file.

{
  "preset": "pst_broadcast_ts"
}

Choosing a Container

RequirementRecommended Container
Maximum browser compatibilityMP4
VP9 or web-first deliveryWebM
Archival or multi-codec storageMKV
Apple ecosystem deliveryMOV
Broadcast or satelliteTS
Adaptive streamingHLS or DASH (see Streaming)

For most web applications, MP4 with H.264 is the safest choice. If you need better compression for modern browsers, use WebM with VP9 or MP4 with AV1 as a secondary format.