ExtraDRM Media System : Video compression technologies

Introduction
Video compression technologies, along with the storage mediums they reside within, are an area of constant research and development from various quarters, including big business, academia, as well as hobbyist communities. With the strive to provide the highest quality content in the most convenient form possible, new formats regularly emerge as the current preferred choice to suit a certain purpose.

Currently though, the basic building blocks of video files are consistent, and understanding those core concepts is an essential step in discerning what’s what in the world of video.

Below is a simplified 3 stage “life cycle” of a video file, showing the encoding, storage (in the file), and playback stages.

formats, containers videos


Containers
Containers are file formats which are designed to contain varying kinds of encoding, usually of just audio, or audio and video. When a media player tries loading a container file, it first reads the header information which includes a summary of details about the information contained inside that file, such as the codecs used, and the bitrate and length of the streams.

Metadatas conteneurs vidéos
Additionally, there are freestanding utilities that may give you even more information.

If you are on PC, then a program called GSpot can provide additional information. http://www.headbands.com/gspot/
MediaInfo is a cross-platform program that can also provide some information about a video file beyond what the OS tells you.
Some related links about containers
http://en.wikipedia.org/wiki/Comparison_of_container_formats#cite_note-Matroska_tags-16
http://www.matroska.org/technical/specs/tagging/index.html

HTML5


https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFChap2/qtff2.html
http://www.alexander-noe.com/video/documentation/avi.pdf
http://www.videohelp.com/tools/MediaCoder
http://www.mediacoderhq.com/
http://www.fc-av.info/FCAV_Overview.html
http://www.webmproject.org/docs/container/


Streams
Video files are generally multimedia. That is, they contain video information, and the associated audio – the soundtrack.

These are described as the video stream and audio stream respectively, or occasionally as the video and audio tracks.


Codecs
Codecs encode information for storage or transmission, and subsequently decode it for playback.

Video files usually contain both video and audio streams, which can be created with various combinations of audio and video codecs and stored within a single container.

To successfully play a particular video file, the media player software used must have access to the codecs necessary to decode the streams present in the file.


Bitrate
Bitrate is the amount of bits per second used to encode a stream. For instance a 2000 kb/s video stream uses 2000 kilobits per second of video, which equates to about 150 MB of disk space to store a 10 minute video (in this case with no audio streams).

Some related links

Each stream in a file has it’s own distinct bitrate.


Frames
A video is made up of frames. Viewed by themselves, frames are still (that is, not moving) images, but when updated rapidly each second, frames become a moving image to the human eye. How many times a second the frames are updated is called the framerate.


Keyframes
Keyframes are used in compressed video formats which tell the codec useful information about the frames coming after them. This allows the frames in between keyframes to be compressed into a much smaller amount of data than if they each were a full description of the whole image. Often the in-between frame information can just be a list of the differences between the new frame and the previous one.

In files designed for maximum compression, the amount of keyframes can be kept to a minimum, and a keyframe might only be used when the entire scene changes between one frame and the next, thus requiring a keyframe to describe fully the frames to come. This can present difficulties when a user wants to jump to different part of the video; the player might have to spend a long time finding the last keyframe, then decoding all the frames from there to the desired spot in the video.


Transcoding
Transcoding is the process of changing some part of a video file format to another type. If you change frame size, or bit rate, or codec, or audio signal, you are said to be transcoding a file. The process of transcoding is generally pretty time-consuming, and can often add a significant hurdle to the production process.

Transcoding also introduces the possibility of errors into the file, particularly if the video signal is being transformed in some significant way, such as a change in frame rate. For critical applications, it’s best to review all transcoded footage before discarding the original footage or releasing the new footage to a client. Of course, this makes the transcoding process take even longer.

If you can accomplish your workflow without transcoding, you’ll generally save yourself time, money and storage costs.


Rewrapping video container
In some cases, you can change a file’s format without transcoding. When you rewrap a file, you typically change the container format, but you don’t change the video or audio signal itself (in some cases, you might be making a change to the color space or audio portion of the file). Rewrapping a file is much quicker than transcoding, since most of the bits are simply copied to the new file, rather than processed in some way.


Compressed video formats
In practice you’re probably already familiar with compression. You encounter lossy compression when you take photos using JPEG formats. JPEG compression, using a variety of techniques, can make a single image much smaller in size but can result in a considerable loss of quality. Much like still image compression, video compression can take one of two forms: lossless and lossy.

Lossless: Lossless compression makes a file smaller, but the decoded file is unaltered after decompression has taken place. The most common way lossless compression works is by using a scheme known as “run length encoding”. Lossless video codecs, such as the Animation codec (which is typically used for archiving or transferring files), have a low compression ratio. Usually, it’s no more than 2:1.
Lossy: As the word implies, lossy compression means you lose some image, video, or audio information. Lossy compression is a bit tricky because good lossy compression is a balancing act between quality, data rate/file size, color depth, and fluid motion. Almost every video compression scheme is lossy. Lossy compression schemes like H.264 (used on Canon video DSLRs) can have compression ratios of more than 100:1.
With video workflows, compression can be applied (or removed) at several stages.


Format obsolescence
A major challenge with regard to the preservation of and access to video files is the long term readability of file formats. This is especially true if they are proprietary, which is increasingly becoming common. For this reason, many choose to create archive versions of the final program (and sometimes source files) using several different formats.

extradrmtech

Since 30 years I work on Database Architecture and data migration protocols. I am also a consultant in Web content management solutions and medias protecting solutions. I am experienced web-developer with over 10 years developing PHP/MySQL, C#, VB.Net applications ranging from simple web sites to extensive web-based business applications. Besides my work, I like to work freelance only on some wordpress projects because it is relaxing and delightful CMS for me. When not working, I like to dance salsa and swing and to have fun with my little family.

You may also like...