[[Vorlage(Getestet, focal)]] 
[[Vorlage(Fortgeschritten)]]

{{{#!vorlage Wissen
[:Programme_kompilieren: Pakete aus dem Quellcode erstellen] 
[:Pakete_installieren: Installation von Programmen] 
[:Terminal: Ein Terminal öffnen] 
}}}
[[Inhaltsverzeichnis(2)]]

Dieser Artikel beschreibt die Erstellung des Programms [:HandBrake:] aus dem Quellcode.

= Vorbereitung =
Um den Quellcode von HandBrake in ein Programm zu übersetzen zu können[1], müssen vorab einige Entwicklerwerkzeuge und Bibliotheken installiert werden[2]: 

{{{#!vorlage Paketinstallation
autoconf
automake
autopoint
build-essential
cmake
git
libass-dev
libbz2-dev
libfontconfig1-dev
libfreetype6-dev
libfribidi-dev
libharfbuzz-dev
libjansson-dev
liblzma-dev
libmp3lame-dev
libnuma-dev
libogg-dev
libopus-dev
libsamplerate-dev
libspeex-dev
libtheora-dev
libtool
libtool-bin
libturbojpeg0-dev
libvorbis-dev
libx264-dev
libxml2-dev
libvpx-dev
m4
make
meson
nasm
ninja-build
patch
pkg-config
python
tar
zlib1g-dev
}}}
Um Intel Quick Sync Video nutzen zu können (optional) auch die Pakete

{{{#!vorlage Paketinstallation
libva-dev
libdrm-dev
}}}

Für die grafische GTK-Version zusätzlich folgende Pakete:

{{{#!vorlage Paketinstallation	
gstreamer1.0-libav
intltool, universe
libappindicator-dev, universe
libdbus-glib-1-dev
libglib2.0-dev, universe
libgstreamer1.0-dev, universe
libgstreamer-plugins-base1.0-dev, universe
libgtk-3-dev
libgudev-1.0-dev
libnotify-dev
libwebkit2gtk-4.0-dev, universe
}}}

## Alle anderen Pakete sind in main, Stand 19.04

Den aktuellen Sourcecode erhält man auf [https://handbrake.fr/downloads.php] {dl}, man lädt das '''tar.gz'''-Archiv herunter und entpackt es, getestet wurde mit Version 1.3.3 (November 2020).

[[Vorlage(Fremd, Software)]]

Alternativ kann man die aktuelle Entwicklerversion mit 

{{{#!vorlage Befehl
git clone https://github.com/HandBrake/HandBrake.git && cd HandBrake-1.x.x
}}}
herunterladen, erstellt wird einen Ordner mit dem Namen  '''~/HandBrake''', im dem die folgende Befehle ausgeführt werden. 

##Die Verwendung des '''tar.gz'''-Archives von der Git-Hub-Seite hingegen scheiterte (siehe im [post:8850104:Forum]). 

= Kompilieren und Installieren =

{{{#!vorlage Warnung
Während des Kompiliervorgangs muss der Rechner mit dem Internet verbunden sein, da eine Reihe weiterer Softwarepakete (vor allem Audio- und Videocodecs) heruntergeladen und in die Anwendung eingebunden werden. 
}}}

Um Handbrake zu kompilieren, im Ordner '''~/HandBrake-1.x.x.''' mit

{{{#!vorlage Befehl
./configure --launch
}}}

die Quellen anpassen; dieser Vorgang kann, besonders auf älteren Rechnern, recht lange dauern!

Wer nur eine Kommandozeilen-Version erstellen möchte, kann stattdessen den Befehl

{{{#!vorlage Befehl
./configure --launch --disable-gtk
}}}

verwenden.

Mit

{{{#!vorlage Befehl
cd build
}}}

in den Ordner '''~/HandBrake-source/build''' wechseln. Folgender Befehl erstellt das Programm:

{{{#!vorlage Befehl
make
}}}

=== Mit GUI installieren ===
Wenn dieser fehlerfrei beendet ist, das Programm z.B. mit

{{{#!vorlage Befehl
sudo make install
}}}

oder mit [:checkinstall:] installieren. Dabei auf eine aussagekräftigen Namen achten; etwa `handbrake`, und die entsprechende Versionsnr. angeben. checkinstall würde ansonsten den Namen des Quellcode-Ordners verwenden, um das Paket danach zu benennen (hier also '''build''', was als Paketname wenig sinnvoll wäre).

Danach ist das Programm installiert und kann über den Startmenüeintrag von GNOME aufgerufen oder über ein Terminal mit folgendem Befehl gestartet werden:

{{{#!vorlage Befehl
ghb
}}}

== Als Kommandozeilenversion verwenden ==
Wenn das Kompilieren fehlerfrei beendet ist, kann das Kommandozeilen-Programm HandBrakeCLI mit

{{{#!vorlage Befehl
sudo cp HandBrakeCLI /usr/local/bin/HandBrakeCLI
}}}

nach '''/usr/local/bin''' kopieren. Dadurch wird das Programm für alle Benutzer systemweit zur Verfügung gestellt; die Installation der grafischen Oberfläche ist dafür nicht nötig. 

= Deinstallation des Programms =
Ein Terminal öffnen und mit den Befehlen:

{{{#!vorlage Befehl
cd ~/HandBrake-x.x.x/build
sudo make uninstall
}}}

die GTK-Version deinstallieren. Die Kommandozeilenversion einfach aus dem Ordner '''/usr/local/bin/HandBrakeCLI''' entfernen und abschließend den Ordner '''~/HandBrake''' löschen:

{{{#!vorlage Befehl
sudo rm /usr/local/bin/HandBrakeCLI
rm -rf ~/HandBrake
}}}

Falls `checkinstall` verwendet wurde, das Paket einfach über die [:Paketverwaltung:] wieder entfernen.

= Links =
  * [https://handbrake.fr/docs/en/latest/developer/build-linux.html Bauanleitung] {en} auf handbrake.fr
  * [https://handbrake.fr/docs/en/1.3.0/ Offizielle Dokumentation] {en}, für Version 1.3.x
  * [https://forum.handbrake.fr/ Forum] {en} 
 * [:HandBrake:] - Hauptartikel

# tag: Multimedia, Shell, iPod, Video