Hardware Reference
In-Depth Information
+ / =
Volume Up
For the full list of control keys, see the output of omxplayer -k .
Enable Additional Video Codecs
The Raspberry Pi hardware is capable of decoding audio and video for-
mats directly. It ships with support for the most common formats, but
you can unlock more.
One of the powerful features of the Raspberry Pi lies in the BCM2835 system-on-chip's
ability to do fast hardware decoding (and encoding) of video formats. Without this,
the Raspberry Pi would have to process video files with software codecs for decoding/
encoding, and the Raspberry Pi is not a fast computer in this regard. As a general rule,
if you can do it natively with hardware, it will run faster than it would emulated in
The BCM2835 system-on-chip is capable of natively decoding most video formats,
but it supports only H.264/MPEG-4 video in the stock Raspberry Pi. The reason for
this is simple: money. The Raspberry Pi Foundation needed to cut every possible cor-
ner to keep the per-unit costs for the Raspberry Pi as low as possible. In order to enable
the BCM2835 to support a particular hardware video codec, they would have to pay
a per-device license fee. As a result, they could afford only one video codec, so they
picked one that they felt would be the best (and most common) codec.
While H.264/MPEG-4 is pretty common, there are a lot of video files that are encoded
in MPEG-2. The Raspberry Pi Foundation looked into also enabling that codec by de-
fault, but it would have increased the cost of every Raspberry Pi by approximately
10%. They also couldn't afford a blanket license for the MPEG-2 codec, so they worked
out a clever compromise. They set up a store to sell video codec license keys .
For a few dollars, you can purchase a license for either the MPEG-2 or Microsoft's VC-1
codec. This license will be tied to your Raspberry Pi's unique CPU serial number. Once
you purchase the license, the Raspberry Pi Foundation will send you back a numeric
string. To enable the hardware video codec, you need to edit /boot/config.txt and
pass that string as the value for the matching codec enablement option. To enable
the MPEG-2 hardware codec, add a line like this to /boot/config.txt :
To enable the VC-1 hardware codec, add a line like this:
Search WWH ::

Custom Search