on 03-24-201509:51 AM - edited on 01-29-201801:42 AM by iresetina
Encoding Your Video Files
We have begun enforcing our creative specifications and limiting which files qualify to be used in our adplayer. So, it is more important than ever that the video files you upload are correctly encoded. We do this to ensure that the files you upload are, beyond a doubt, viewable by your visitors. This will become increasingly important as you start to deliver to different targets, like different computer browsers and mobile devices. Incorrectly encoded video files can lead to poor viewing quality, long download duration, or the video not being displayed at all.
This tutorial uses the free video encoding tool "Handbrake" to encode h.264 video. If you are familiar with other tools, our settings can be easily applied to your favorite one.
The raw files used when recording and processing video are massive and unwieldy. Before a video can be distributed to a TV, on a DVD, or over the net, the video files have to be compressed or encoded to obtain a video of an appropriate size and quality for each target. There are endless numbers of ways to encode video files, but a number of standard encoding techniques, or "codecs" have emerged and each target has its preferred codec and compression rate.
There are a large number of codecs but this article only covers those used to display ads on Ooyala.
Flash and FLV
Flash has long been the method of choice for distributing video over the Internet and still dominates this market. Its proprietary file format, FLV, has long been the standard encoding format for video distribution over the Internet. The FLV file format contains video that can be encoded with the ON2 (VP6) codec or the older Sorenson Spark codec (not officially supported by Ooyala). From the release of Flash version 9.0.115 (released December 2008), the Flash player also supports the H.264 codec (described below), which is more and more becoming the codec of choice for web distribution.
Today, there is no real reason to encode to the FLV file format unless you want to deliver very small files at low resolution. In this case, FLV still delivers a better quality/size ratio. That said, there is no reason to re-encode FLV files to H.264 unless you want to specifically target a HTML5 video player.
H.264 (MP4, M4V, F4V)
The most dominant codec for high-resolution video on the Internet today is H.264, which is part of the MPEG-4 family. H.264 is a codec which can be stored in several different types of container file formats, such as MP4, M4V, F4V. Although these file containers may work in most situations with Ooyala, we recommend, and only officially support, the use of the MP4 container.
The H.264 codec can be used for Flash players and HTML5 video players. Devices such as the iPhone or iPad that cannot run Flash are dependent on video being encoded with H.264. H.264 running in a HTML5 video player is supported by the Internet Explorer 9+, Chrome 3+, and Safari 3.1+ browsers. Unfortunately, it is not currently supported on any default configuration of Firefox or Opera.
HTML5 video players that want to deliver to browsers like Firefox and Opera, which dominate almost a fourth of the market (article), must offer an alternative encoded video. Theora is an open-source video codec that uses the Ogg file format and is compatible with the Firefox 3.5+, Chrome 3+, and Opera 10.5 browsers. Safari is supported if the user installs a plugin, but Internet Explorer is not supported. Flash does not support Theora.
WebM (VP8) is an alternative to the Theora codec . WebM is a free open-source video codec sponsored by Google and aspires to be the HTML5 standard for video. WebM uses the WebM file format (.webm) and is compatible with FireFox 4, Opera 10.6 and Chrome. Internet Explorer supports WebM if a plugin is installed, and Safari can play the video through Quicktime only if a third party plugin is installed. Adobe Flash does not support the WebM codec.
Bitrate refers to the data transmitted in a given amount of time and it is commonly measured in bits per second (bps), kilobits per second (Kbps), or megabits per second (Mbps). The higher the number, the better quality of audio and video. When encoding, separate bitrate values are used for audio and video, and the sum of these two is the total bitrate of the file, which refers to the connection speed needed to display the file seamlessly to the viewer.
The bitrate for video can range from 100 kbps to 20000 kbps (and more) dependent on the resolution of the video (height and width), the codec, frame rate, and the desired quality. Video for Internet will often range from about 300 kbps for slow connections to 2500 or 3000 for fast connections.
The bitrate for sound spans from 320 kbps for CD quality music to about 32 kbps for normal speech. The bitrates 128 and 160 kbps are often used for MP3 music files and video for the Internet.
It is often recommended to use the same frame rate as the source video otherwise blurring and other rendering issues can appear when the encoder tries to interpolate uneven frames.
The resolution, or width and height of the video, has a large impact on the bitrate needed to produce good quality video. That said, video usually presents better when encoded with a high resolution and low bitrate than when encoded with low resolution and high bitrate, especially when shown in fullscreen. The challenge is to find the "Goldilocks zone" with good quality video and small file sizes.