Posts Tagged ‘ ffmpeg ’

FFmpeg und x264 unter Ubuntu kompilieren

Um FFmpeg in vollem Umfang nutzen zu können, muss man es selber aus dem Quellcode kompilieren. Natürlich reichen die normalen Ubuntu-Pakete für den standard User, allerdings benötigt man z.B. für .flv-Videos die selbst kompilierte Version. Dies kann ganz einfach realisiert werden. Weiter unten findet sich auch ein guide um die Pakete zu aktualisieren

FFmpeg und x264 kompilieren und installieren

  1. Zuerst einmal müssen eventuell bereits installierte deinstalliert werden:

    sudo apt-get remove ffmpeg x264 libx264-dev
  2. Benötigte Pakete zum Kompilieren installieren:

    sudo apt-get update
    sudo apt-get install build-essential git-core checkinstall yasm texi2html \
    libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev \
    libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev \
    libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev
  3. Aktuelle Quelldateien von x264 hohlen, kompilieren und installieren:

    cd
    git clone git://git.videolan.org/x264.git
    cd x264
    ./configure
    make
    sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
    awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
    --fstrans=no --default
  4. Aktuelle Quelldateien von FFmpeg hohlen, kompilieren und installieren:

    cd
    git clone git://git.videolan.org/ffmpeg.git
    cd ffmpeg
    ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc \
    --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
    --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis \
    --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
    make
    sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(./version.sh)" --backup=no \
    --deldoc=yes --fstrans=no --default
    hash x264 ffmpeg ffplay ffprobe

Damit ist man auch schon fertig! Wie man x264 in Verbindung mit FFmpeg benutzt, findet sich hier: http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/

FFmpeg und x264 updaten

Da man die Pakete selber kompiliert hat, muss man auch manuell die Updates einspielen , falls es welche gibt. Dies bringt teilweise neue Features bzw. Bugfixes

  1. Zuerst werden x264 unf FFmpeg deinstalliert und die Abhängigkeiten aktualisiert.

    sudo apt-get remove ffmpeg x264 libx264-dev
    sudo apt-get update
    sudo apt-get install build-essential git-core checkinstall yasm texi2html \
    libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev \
    libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev \
    libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev
  2. x264 source code aktualisieren:

    cd ~/x264
    make distclean
    git pull
  3. danach x264 kompilieren und installieren:

    ./configure
    make
    sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
    awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
    --fstrans=no --default
  4. FFmpeg source code aktualisieren

    cd ~/ffmpeg
    make distclean
    git pull
  5. FFmpeg kompilieren und installieren

    ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc \
    --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
    --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis \
    --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
    make
    sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(./version.sh)" --backup=no \
    --deldoc=yes --fstrans=no --default
    hash x264 ffmpeg ffplay ffprobe

FFMpeg unter Debian kompilieren

Mit folgendem Code kann man ganz einfach FFMpeg für Debian selber kompilieren. Dies hat den Vorteil, dass man auch mit Flash-Videos (.flv) herumexperimentieren kann.
Einfach den ganzen Block aus dieser Datei in das Terminal einfügen: http://ubuntudrive.bplaced.net/downloads/ffmpegcomp.txt

Bildschirm unter Ubuntu aufnehmen

Häufig kommen User die selber mal einen Screencast von ihrem Ubuntu-Desktop machen wollen an den Punkt, an dem sie sich für einen Screenrecorder entscheiden müssen

Es gibt zwei Methoden zum Aufnehmen des Bildschirminhaltes: Die einfache und eine etwas schwierigere.

Die einfache Methode

Diese Methode ist für alle Diejenigen geeignet, die gelegentlich mal etwas aufnehmen wollen, da eine GUI (Grafische Oberfläche) für das Programm zur Verfügung steht.
Das Programm heißt recordmydesktop

RecordMyDesktop

Man muss folgende Pakete installieren:

  • recordmydesktop(universe)
  • gtk-recordmydesktop(multiverse GUI für GNOME und Xfce)


sudo apt-get install recordmydesktop gtk-recordmydesktop

Nun kann man die GUI über Anwendungen -> Unterhaltungsmedien -> gtk-recordMyDesktop erreichen. Näheres zur Bedienung findet sich im Ubuntuusers-Wiki

Die etwas schwierigere Methode

Diese Methode verwendet ffmpeg als Screenrecorder. Man installiert es wie folgt:

sudo apt-get install ffmpeg

Nachdem man das Programm installiert hat lässt es sich mit der Kommandozeile mit dem Befehl ffmpeg aufrufen.

Den Bildschirm aufnehmen; ohne Ton


ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 -vcodec mpeg4 -qscale 1 datei.mp4

-f x11grab ist die benutzte Funktion
-r definiert die Frame-Rate in Sekunden (FPS). Bei werten ab 25 FPS läuft das Video ruckelfrei.
-s definiert die Auflösung des Aufgenommenen Videos
-i ist die Nummer des Bildschirms, der aufgenommen werden soll (im Normalfall :0.0)
-vcodec mpeg4 legt den Video-Codec auf MPEG4 fest, es kann aber auch ein anderer verwendet werden
-qscale bestimmt die Qualität der Aufnahme (1 ist höchste Qualität)
datei.mp4 ist die Ausgabedatei

Den Bildschim aufnehmen mit Tonaufnahme der Lautsprecher-Ausgabe

ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec mp3 -vcodec mpeg4 -qscale 1 filename.mp4

-f alsa ist die benutzte Funktion zur Audioaufnahme
-ac bestimmt den Auddio-Kanal
-i pulse bestimmt die Soundeingabe
-f x11grab ist die benutzte Funktion zur Videoaufnahme
-r definiert die Frame-Rate in Sekunden (FPS). Bei werten ab 25 FPS läuft das Video ruckelfrei.
-s definiert die Auflösung des Aufgenommenen Videos
-i ist die Nummer des Bildschirms, der aufgenommen werden soll (im Normalfall :0.0)
-acodec mp3 legt den Audio-Codec auf mp3 fest
-vcodec mpeg4 legt den Video-Codec auf MPEG4 fest, es kann aber auch ein anderer verwendet werden
-qscale bestimmt die Qualität der Aufnahme (1 ist höchste Qualität)

Den Bildschim aufnehmen mit Tonaufnahme vom Mikrofon

ffmpeg -f alsa -ac 2 -i hw:0,0 f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec mp3 -vcodec mpeg4 -qscale 1 filename.mp4

-f alsa ist die benutzte Funktion zur Audioaufnahme
-ac bestimmt den Auddio-Kanal
-i hw:0,0 bestimmt die Soundeingabe per Mikrofon (Hardware-ID ggf. anpassen)
-f x11grab ist die benutzte Funktion zur Videoaufnahme
-r definiert die Frame-Rate in Sekunden (FPS). Bei werten ab 25 FPS läuft das Video ruckelfrei.
-s definiert die Auflösung des Aufgenommenen Videos
-i ist die Nummer des Bildschirms, der aufgenommen werden soll (im Normalfall :0.0)
-acodec mp3 legt den Audio-Codec auf mp3 fest
-vcodec mpeg4 legt den Video-Codec auf MPEG4 fest, es kann aber auch ein anderer verwendet werden
-qscale bestimmt die Qualität der Aufnahme (1 ist höchste Qualität)

Ich hoffe das hat euch geholfen!