How To Compile Handbrake for Debian Linux

By | 2013/03/24

Here is a quick how-to for compiling and installing Handbrake for Debian from source. This guide illustrates how to provide a .deb package you can easily uninstall at anytime if desired.

This follows the Handbrake build doc for Linux.


Updated for Debian Jessie!

Step 1: Install the following

sudo apt-get install checkinstall build-essential subversion yasm build-essential autoconf libtool git libtool-bin \
zlib1g-dev libbz2-dev libogg-dev libtheora-dev libvorbis-dev \
libsamplerate-dev libxml2-dev libfribidi-dev libfreetype6-dev \
libfontconfig1-dev libass-dev intltool libglib2.0-dev libdbus-glib-1-dev \
libgtk2.0-dev libgudev-1.0-dev libwebkit-dev libnotify-dev \
libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libappindicator-dev


Step 2: Grab the latest from git, or a release source code tarball.

git clone https://github.com/HandBrake/HandBrake.git

cd HandBrake


Step 3: Configure with desired options

./configure --enable-fdk-aac --enable-x265 --arch=x86_64 --optimize=speed


Step 4: Change to the build directory and then make

cd build
make -j4


Step 5: Use checkinstall to make the deb

sudo checkinstall

When asked to make a default set of package docs, type y. Enter is ok for the next part, or change the default package values if desired. You may wish to change the name to handbrake.

$ sudo checkinstall

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs?  [y]: y

Preparing package documentation...OK

*** No known documentation files were found. The new package 
*** won't include a documentation directory.

Please write a description for the package.
End your description with an empty line or EOF.
>> handbrake
>> 

*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values: 

0 -  Maintainer: [ root@brahms ]
1 -  Summary: [ handbrake ]
2 -  Name:    [ handbrake ]
3 -  Version: [ 20130324 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ build ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ handbrake ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Enter a number to change any of them or press ENTER to continue: 

The .deb is then automatically installed. Note the following output on the screen:

**********************************************************************

 Done. The new package has been installed and saved to

 /home/stmiller/Downloads/hb-trunk/build/handbrake_20130324-1_amd64.deb

 You can remove it from your system anytime using: 

      dpkg -r handbrake

**********************************************************************


Finally, to start handbrake, run:

ghb

handbrake_debian

The app also then appears as expected in a gnome/kde menu.


Note: if you need the ability to read / rip from DVDs, you will need to install the libdvdcss2 package from the VideoLAN repo.


Wait… isn’t Handbrake already in Debian??

Yes it is! But – you may want to compile your own to get all features. Check out this thread and this post.

2 thoughts on “How To Compile Handbrake for Debian Linux

  1. David

    Problem during configure, receive below. attempting install on Wheezy 64 bit. Googling and Cant seem to find anything, except possibly bad file. Then I cant find anything on libav-v10.

    launch: /usr/bin/make -j1
    ——————————————————————————-
    : /usr/bin/m4 -Iproject ../libhb/project.h.m4 > libhb/project.h
    : /bin/rm -fr ./contrib/ffmpeg/libav-v10/
    : /bin/tar xfC ../download/libav-v10.tar.bz2 ./contrib/ffmpeg/
    : bzip2: (stdin) is not a bzip2 file.
    : /bin/tar: Child returned status 2
    : /bin/tar: Error is not recoverable: exiting now
    : make: *** [contrib/ffmpeg/.stamp.extract] Error 2
    ——————————————————————————-
    time end: Sat Apr 12 08:21:17 2014
    duration: 0 seconds (0.05s)
    result: FAILURE (code 2)
    ——————————————————————————-
    Build is finished!
    You may now cd into ./build and examine the output.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.