Supported Video and Audio Formats, Codecs, and Containers

Product(s)
Video Cloud
Zencoder
Role(s)
Studio User
API Developer
Task(s)
Add Videos/Assets

This document lists the supported containers and codecs you can use when you upload videos to Video Cloud

Understanding codecs, containers, and file extensions

Codecs, containers and file extensions are not equivalent but are often confused with one another. For example, H.264 video does not just mean a file with the extension .mp4. Video files contain both metadata (duration, dimensions, etc.) as well as the encoded and often compressed audio and video data.

  • The container format defines how the metadata is stored along with the audio and video data. It does not define the coding or compression of the data.
  • Codecs are responsible for encoding and decoding the video and audio streams in a video file. They can be lossy or lossless and are usually optimized for certain types of transmission. Note that there are some cases where the codec and container share a single definition, but these are uncommon.

Other terms that are often confused are encoding/decoding and muxing/demuxing.

  • Encoding and decoding refer to converting the encoded video and audio data to and from streams that can be played.
  • Muxing and demuxing refers to the writing and reading of audio and video streams into and from various container formats.

For more information see:

  • Containers are described in this article.
  • More details on codecs can be found in this article.
  • Additional references for codec IDs and codes can be found here and here.

Supported source video types

Since Brightcove generally handles the complexity of creating renditions with codecs and formats appropriate to different platforms, browsers, and device apps, what concerns you most is what kinds of source videos we can transcode for you.

Since Brightcove supports so many video input types, it is actually more helpful to talk about the formats we do not support. At the moment, there are only a few. The list below shows the formats not supported for Zencoder , the Video Cloud Upload module and Once Ingest API .

  • Apple Intermediate
  • HDV 720p60
  • Go2Meeting3 (G2M3)
  • Avid Meridien Uncompressed
  • Windows Media Audio Lossless
  • CineForm - partly supported; there are variants that can come from the software used to encode the source, or from OS, that make the source unusable by Zencoder. We are still trying to identify the exact factors that cause problems.
  • SWF - partly supported by Zencoder; if the SWF contains a video or audio track, those can be processed, but many SWFs do not.

Special cases

  • Content encrypted with KMS is supported but requires that you pre-sign your object URLs, ala what is outlined here: https://aws.amazon.com/blogs/developer/generating-amazon-s3-pre-signed-urls-with-sse-kms-part-2/.

    Steps to implement:

    1. Create a KMS managed encrypted bucket
    2. Add the Video Cloud/Zencoder Ingest Policy
    3. Create a pre-signed URL using the KMS key
    4. Use this URL when ingesting the video

Aside from those listed above, we believe we support pretty much all known video formats. If you have problems with another video format, please Contact Brightcove Support and also let Brightcove Learning Services know.

Audio formats

Ingestion

On the ingestion side, most formats are supported, except when they get over 8 channels of audio. (And the audio must either be configured as a single multichannel track, or multiple mono tracks.)

Encoding and transcoding

For Dolby, both AC3 and EAC3 are supported, up to 5.1 channels. Many other non-Dolby formats are supported as well, including AAC.

Playback (in the Brightcove Player)

AAC, in mono or stereo.

Notes

  • Windows: Content with audio above 48kHz for AAC is not supported on Windows and it will cause the player to fail. See this Microsoft document for more information.