[Update: A new post is online for Handbrake 0.10.5 and the Raspberry PI 3]
(based on the work of the tech-note-pad and my own for the version 0.9.9)
Questions
- How fast is software x264 encoding on a PI 2?
- Does grain reduce fps?
Test Object
To answer the questions I benchmarked Handbrake on a PI 2. As test videos I chose two episodes of the series Chuck because the picture quality of the Blu-rays (1080p) is really poor (grain). I used S2.E11 as a standard episode and S2.E12 (Chuck Versus the Third Dimension) since with is the one episode with a proper picture quality (no grain).
Installation
user@localhost:~$ mkdir handbrake user@localhost:~$ cd handbrake user@localhost:~$ wget https://handbrake.fr/rotation.php?file=HandBrake-0.10.2.tar.bz2 user@localhost:~$ bzip2 -d HandBrake-0.10.2.tar.bz2 user@localhost:~$ tar xvf HandBrake-0.10.2.tar user@localhost:~$ sudo apt-get update && sudo apt-get upgrade user@localhost:~$ sudo apt-get install subversion yasm build-essential autoconf libtool zlib1g-dev libbz2-dev libfribidi-dev intltool libglib2.0-dev libdbus-glib-1-dev libgtk-3-dev libgudev-1.0-dev libwebkit-dev libnotify-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libvorbis-dev libass-dev libsamplerate-dev libogg-dev libtheora-dev libappindicator-dev cmake libx264-dev libmp3lame-dev
(CMake is not necessary but the integrated build process of cmake would take some extra time)
Add –disable-asm in ./HandBrake-0.10.2/contrib/x264/module.defs
user@localhost:~$ sudo ./configure user@localhost:~$ cd ./build user@localhost:~$ sudo make #Make nerd yoga. It takes about one hour. #The GUI-Version can be found in ./gtk/src #Handbrake-CLI can be found in the build folder #If you want to install user@localhost:~$ sudo make install
Benchmark Settings
Setting 1: Main4.0 x264-Preset=VeryFast (Default Handbrake Normal Preset)
Setting 2: Main4.0 x264-Preset=VerySlow
Setting 3: High4.1 x264-Preset=Medium (Default Handbrake High Preset)
Setting 4: High4.1 x264-Preset=VerySlow (Best picture quality)
For every setting:
Video: Tune=Film RF=24
Audio: AAC br=160 DolbyProLogicII + Subtitle
The Raspberry PI 2 is overclocked with the preset “medium” (900MHz).
Results
For Chuck S2.E11:
(in fps) | Setting 1 | Setting 2 | Setting 3 | Setting 4 |
---|---|---|---|---|
PI 2 | 3,1 | 0,26 | 0,65 | 0,22 |
i7 4700MQ @2,4GHz | 49,5 | 7,9 | 17,3 | 6,7 |
i7 3517U @1,9GHz | 20,2 | 2,2 | 5,8 | 2,0 |
Intel Core 2 Duo (T9400) @2,53GHz | 11,9 | 1,3 | 3,8 | 1,2 |
Intel Core 2 Duo (E8400) @3,0GHz | 14,9 | 1,5 | 4,2 | 1,6 |
For Chuck S2.E12:
(in fps) | Setting 1 | Setting 2 | Setting 3 | Setting 4 |
---|---|---|---|---|
PI 2 | 3,6 | 0,47 | 0,91 | 0,31 |
i7 4700MQ @2,4GHz | 58,9 | 11,1 | 25,7 | 8,6 |
i7 3517U @1,9GHz | 22,0 | 2,7 | 6,9 | 2,4 |
Intel Core 2 Duo (T9400) @2,53GHz | 16,6 | 1,9 | 5,0 | 2,0 |
Intel Core 2 Duo (E8400) @3,0GHz | 18,5 | 2,3 | 5,8 | 2,3 |
Answers
- The PI 2 could be used for software x264 encoding, but it shouldn’t. If you really like to encode something with the PI 2 you should have a look for the hardware encoding using omx/gstreamer or omxtx.
- Yes, grain reduces fps and increases file size if you choose constant quality.
[…] This is a follow up on my benchmarks for the Raspberry Pi 2 (see here). […]
LikeLike