Video Source File Specifications and Recommendations

Brightcove recommends that you use the following encoding specifications for video files that you upload to your media library.

Introduction

Brightcove recommends that you use the following encoding specifications for video files that you upload to your Media Library.

Video Cloud supports both H.264 and H.265 (see HEVC below) encoding. Generally, H.264 is recommended as it provides broader device support. H.264 video encoding will use AAC audio.

If you aren't familiar with the Media module for Video Cloud, read Getting Started with the Media Module, which explains the basic functionality of the Media module and how to launch it. Read also, Uploading Videos with the Upload Module, to get the instructions on how to upload videos to the Media module.

See Supported Video Formats, Codecs, and Containers for information on video formats that Brightcove does not support (there aren't many).

Brightcove recommends that you use the following specifications for video files that you upload to your Media Library:

HEVC (H.265) video

High Efficiency Video Coding (HEVC), also known as H.265, is a video compression standard, designed as a successor to the widely used Advanced Video Coding (AVC/H.264). In comparison to AVC, HEVC offers about 20% better data compression at the same level of video quality, or substantially improved video quality at the same bit rate.

The benefits of this improved compression include reduced bandwidth usage, enabling higher video quality at a lower bitrate, and reduced time to first frame (TTFF), all leading to increased end viewer satisfaction.

Disadvantages

The main disadvantage is that because it is a new technology, HEVC video is not yet widely supported by clients (meaning device + OS + browser/app). In addition, some clients are capable of switching between HEVC and AVC segments during playback, while others are not.

HEVC (H.265) video cannot be played on Windows 10 unless the viewer buys and installs this extension. For compatibility with Windows, AVC (H.264) renditions are recommended. See HEVC Video for more information on supported clients for HEVC video.

In addition, HEVC video takes about 2-4 times longer to transcode than H.264.

Availability

HEVC support is a paid add-on for Video Cloud. If you are interested in HEVC support, contact your Customer Success Manager.

Source file naming

During the ingestion process, the source file name will need to be passed as part of an API request URL. For that reason, the name must be URI compatible. Avoid the following in source file names for all videos and assets:

  • Spaces: instead of my video.mov, use my-video.mov or my_video.mov
  • Special characters: do not use the following characters in source file names: "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "?", "/", "\", "{", "}", "[", "]"

H.264 encoding recommendations

Video Codec: h264
Encoding: 2 pass H.264
Keyframe: At least every 6 seconds

High resolution encoding recommendations

For high resolution video renditions, upload H.264 source files to Video Cloud. Brightcove has tested H.264 files at different sizes and aspect ratios. Each of the following cases assumes H.264 2-pass encodes with 16-bit AAC audio at a sampling frequency of 44.1kHz and a bit rate of 192 kbps. All bit rates do not include the audio bit rate, just the video. In the discussion, we compensate for the audio and give an approximate maximum length of the video for uploading to the server-side transcoding service. If video is interlaced, Video Cloud de-interlaces it during transcoding. If you have not transcoded your video using Video Cloud, de-interlace your video file before uploading it. Key frames should have a maximum distance of 6 seconds and do not need to be equidistant.

Size Aspect Ratio Minimum Recommended Bit Rate
640x480 4:3 Video with little motion, such as talking heads, can go as low as 900 kbps with very good results. For overall high quality regardless of the level of motion, use at least 2672 kbps. This also refers to 720x480 sources as they are meant to be 640x480 but have a different pixel aspect ratio.
640x360 16:9 Video bit rate can safely go as low as 2132 kbps in almost all cases.
1024x768 4:3 This format is used principally in screencasts or cropped HD sources. In the case of video, 4864 kbps is sufficient. In the case of screencasts, we don't really need that much data, as very little changes from frame to frame. We can get away with the low end of what would do for 720p, which is 3136 kbps. That's actually quite a bit more than we'd need, but we recommend a higher bitrate to allow for more frequent keyframing. Because we don't want strange ghosting of the mouse, it's best to have very frequent keyframes placed equidistant and twice a second (so every 15 frames in the case of a very smooth screencast). If the frame rate of the screencast is not 30 (or 29.97), the data rate can be adjusted in parallel. So, if you have a screencast with a frame rate of 15, the data rate would be 1568 kbps. This is generous bandwidth for a screencast, but it's necessary to eliminate ghosting and page tearing that often occurs when moving to something like H.264.
1280x720 16:9 The data rate for this format can go as low as 3136 kbps for a talking head. When motion increases, even a little, the bit rate must increase quite a bit to compensate. In instances of low motion (meaning the subjects move, but the camera/frame does not), assuming lighting is adequate or ideal, 4512 kbps is sufficient. For high motion, or to compensate for other factors, 5928 kbps is sufficient (with a little bit of breathing room).
1920x1080 16:9 stretched source Many HDV and AVCHD cameras, even on the professional level, use 4:3 sensors and stretch the image from 1440x1080 to 1920x1080 in order to feign HD. In the end, this often results in an image that's almost equally as sharp at 960x540. With that in mind, there will be recommendations for this format at both 960x540 and 1920x1080. To compromise, upload in 720p, the previous 720p settings are applicable here. The 1920x1080 format will require a bit rate of 8024 kbps to handle high motion. A talking head can safely go as low as about 6000 kbps, but 8024 kbps should cover most cases. That will allow for a little over a half an hour. Using the 960x540 format, you can use the same 3136 kbps rate as a 720p talking head if you are not upscaling to a larger size and if the motion is not too heavy.

Encoding for mobile applications

H.264 is currently the best encoding standard for mobile applications. Mobile devices support H.264's Baseline profile. In addition to the actual video playback capabilities of the device, also consider network conditions and their effect on download speed. We recommend having at least one rendition under 130 kbps for reliable playback on cellular networks. This should perform reliably for most users while maintaining as much quality as possible.

Maintaining aspect ratios

When Video Cloud transcodes your videos, it maintains the same aspect ratio as the source file. For source files that are anamorphic, sometimes referred to as having non-square pixels, Video Cloud will detect and correct this so that the output videos have square pixels to ensure proper playback on desktops and mobile devices.

Audio

For audio, we recommend AAC format. In addition, the duration of the audio track should be the same as the video track - if they do not match, the video will still be ingested, but you will likely see playback failures in some situations.

Audio Tracks

Only one audio track is supported unless your account is enabled for Multiple Audio Tracks, in which case multiple audio tracks are treated as alternatives. Otherwise, Video Cloud uses the first audio track in the video file and skips any others.

Audio Channels

1 or 2 audio channels are supported. If there are additional audio channels, they will be merged into 2 - the results are often unsatisfying.