ubuntuusers.de

Screencasts

./screencasts2_logo.png Screencasts sind digitale Filme, die die Anwendung von Programmen auf dem Desktop eines Computers zeigen. Häufig werden auch zusätzliche Audio-Aufnahmen erstellt, so dass man Erklärungen zum Vorgehen auf dem Desktop abgeben kann. So lassen sich z.B. sehr gut Anleitungen realisieren oder ein beeindruckender 3D-Desktop aufnehmen.

Übersicht

Die Auswahl an Programmen, um einen Screencast zu erstellen, ist recht groß. Um die Auswahl etwas einfacher zu gestalten, folgt eine alphabetische Übersicht der verfügbaren Programme.

Übersicht verschiedener Screencast-Programme
Programm Formate Vollbild Ausschnitt Fenster Audio Anmerkungen
FFmpeg quasi alle Ja Ja Nein Ja Kommandozeilenanwendung
GNOME Shell WebM Ja Nein Nein Nein interne Funktion der GNOME Shell
Kazam WebM/MKV Ja Ja Ja Ja kann PulseAudio, funktioniert auch mit Unity und der GNOME Shell
recordMyDesktop OGV Ja Ja Ja Ja Resultat falsch kodiert, Soundaufnahme mit JACK funktioniert nicht
SimpleScreenRecorder diverse Ja Ja Ja Ja Qt-basiert, sehr umfangreich, wird aktiv entwickelt
VLC Media Player FLV und andere Ja Nein Nein Nein funktioniert nicht mit Unity
vokoscreen MPEG4 und libx264 (mkv und avi) Ja Ja Ja Ja funktioniert mit PulseAudio und ALSA

Programme

Wiki/Icons/Tango/media-record.png

GNOME Shell

Ab GNOME 3 ist eine Screencast-Lösung integriert. Mit der Tastenkombination Strg + Alt + + R startet bzw. beendet man eine Aufnahme. Die laufende Aufzeichnung wird durch einen roten Kreis rechts unten auf dem Desktop angezeigt. Die Framerate ist standardmäßig auf 15 Bilder festgelegt. Die Aufnahme im VP8/WebM-Format wird im Homeverzeichnis unter ~/Videos/ gespeichert. Sowohl die Framerate als auch der Codec können via dconf-editor über den Schlüssel org.gnome.shell.recorder angepasst werden.

Um die Begrenzung auf 30 Sekunden aufzuheben, ändert man den Wert für max-screencast-length im Schlüssel org.gnome.settings-daemon.plugins.media-keys.

./green-recorder_logo.png

Green Recorder

Auch der Green Recorder 🇬🇧 ist ein nützliches Werkzeug. Unterstützt wird neben dem XServer zusätzlich Wayland. Die Installation erfolgt unter Ubuntu 16.04 über ein "Personal Packages Archiv" (PPA) [1].

Adresszeile zum Hinzufügen des PPAs:

  • ppa:mhsabbagh/greenproject

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams mhsabbagh zu entnehmen.

Nach dem Aktualisieren der Paketquellen kann folgendes Paket installiert werden [2]:

  • green-recorder (ppa, nur 16.04)

Befehl zum Installieren der Pakete:

sudo apt-get install green-recorder 

Oder mit apturl installieren, Link: apt://green-recorder

./kazam_logo.png

Kazam

Kazam ist eine moderne Screencast-Software, die auch unter Unity und der GNOME Shell funktioniert. Es nutzt für die Kodierung das Multimedia-Framework GStreamer. Der Ton wird beim Erstellen eines Screencasts über PulseAudio aufgenommen. Im Vergleich zu anderen Programmen, die nur offene Kodierungen wie bspw. den Video-Codec Theora enthalten, werden die bei Kazam verwendeten Kodierungen auch auf anderen Plattformen sowie im kommerziellen Umfeld unterstützt.

./gtk-recordMyDesktop.png

recordMyDesktop

recordMyDesktop möchte die Aufnahme des Desktops möglichst einfach machen. Das Programm besteht aus zwei Teilen: einem Programm ohne Oberfläche für die Aufnahme, das direkt aus einem Terminalfenster heraus gestartet werden kann, und einer grafischen Oberfläche, basierend auf Python und GTK. recordMyDesktop kann sowohl das Bild als auch den Ton aus einer beliebigen Quelle heraus aufnehmen.

./ssr_logo.png

SimpleScreenRecorder

Eine Neuentwicklung – im Vergleich mit den anderen hier vorgestellten Programmen – ist SimpleScreenRecorder. Ein integrierter Assistent führt in fünf einfachen Schritten zum eigenen Video. Es bietet entgegen dem, was der Name vermuten lässt, sehr viele Konfigurationsmöglichkeiten, die man nutzen kann, aber nicht muss.

VLC/vlc-logo.png/

VLC

Auch der VLC Media Player ist in der Lage, Screencasts zu erstellen. Folgender Programmaufruf startet den VLC-Player mit einer Desktop-Aufnahme (Ausgabe als screencast.flv mit 25 FPS). Zum Beenden der Aufnahme einfach "Stopp" im VLC-Player-Fenster anklicken.

Der Start erfolgt im Terminal mit dem Befehl [4]:

vlc screen:// --screen-fps 25 --nooverlay --sout "#transcode{vcodec=h264,vb=2048,scale=0.5,acodec=mp3,ab=128,channels=2}:duplicate{dst=std{access=file,mux=mp4,dst=screencast.flv}}" 

Durch Verwendung der Kommandozeilenversion cvlc kann man verhindern, dass sich ein eigenes Fenster öffnet:

cvlc screen:// --screen-fps 25 --nooverlay --sout "#transcode{vcodec=h264,vb=2048,scale=0.5,acodec=mp3,ab=128,channels=2}:duplicate{dst=std{access=file,mux=mp4,dst=screencast.flv}}" 

Die Aufnahme wird mit der Tastenkombination Strg + C beendet.

./vokoscreen_logo.png

vokoscreen

vokoscreen 🇬🇧 ist eine einfach zu Bedienende Screencast-Software. Das Programm hat nur wenige Paketabhängigkeiten. Es ist in den offiziellen Paketquellen enthalten:

  • vokoscreen-ng (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install vokoscreen-ng 

Oder mit apturl installieren, Link: apt://vokoscreen-ng

OBS Studio

OBS Studio 🇬🇧 ist eine freie, umfangreiche Lösung, um Bildschirminhalte aufzunehmen oder zu streamen. Weitere Informatioonen findet man im Artikel OBS MultiPlatform.

Terminal

Wiki/Icons/terminal.png Auch über ein Terminalfenster kann eine Aufnahme erfolgen.

FFmpeg

FFmpeg ist ein Kommandozeilenprogramm zur Erstellung und Umwandlung von Videos. Folgender Befehl erstellt ein MPEG4-Video screencast.mp4 mit einer Auflösung von 1920x1080 (ggf. für die eignen Bildschirmgröße anpassen!) sowie 25 Bildern in der Sekunde.

ffmpeg -f x11grab -r 25 -s 1920x1080 -i :0.0 screencast.mp4 

Die Aufnahme wird mit der Tastenkombination Strg + C oder besser Q beendet.

Da hier automatisch der anspruchsvolle hochkomprimierende libx264-Encoder verwendet wird, kann es auf langsamen Rechnern zu schlechter Qualität und/oder Ruckeln kommen. Man sollte dann besser z.B. den MPEG2-Encoder oder gar ein RAW-Format verwenden, und dann erst in einem 2. Schritt in MPEG4 transkodieren. Der libx264-Encoder kann auch mit zusätzlichen Parametern in seiner Performance verbessert werden. Mit -crf 0 erhält man eine schnellere verlustlose Kodierung, die mit -preset ultrafast nochmals wesentlich beschleunigt wird, wobei die Bitrate allerdings erheblich größer wird. Am schnellsten haben sich CRF-Werte von 10..15 erwiesen (Standard = 23). So sollte auch auf langsamen Rechnern eine ruckelfreie Aufnahme gelingen. Ob Bilder verschluckt, also ausgelassen wurden, erkennt man in der Ausgabe von ffmpeg an dem Wert drop.

ffmpeg -f x11grab -r 24 -s 1280x720 -i :0.0+2+50 -crf 0 -preset ultrafast screencast.mp4 

Hier wurde auch nur ein Ausschnitt des Bildschirms ab x=2 und y=50 aufgenommen um den Kodier-Aufwand zusätzlich zu verringern. Um ein möglichst scharfes Bild zu haben, und es dem Codec leichter zu machen, sollte man die Größe des Fensters, in dem der Film abgespielt wird, möglichst genau an dessen Original-Auflösung anpassen. Anschließend sollte nochmals mit Standardeinstellung transkodiert werden, um die Größe des Videos zu verkleinern.

FFMpeg unterstützt auch den für Bildschirmmitschnitte besonders geeigneten Video-Codec "Flash Screen Video". Die meisten Video-Codecs (Ogg Theora, H264, MPEG-2) sind für Aufnahmen natürlicher Szenen gedacht. Diese Codecs trennen im ersten Schritt Farb- von Helligkeitsinformationen (YUV-Farbraum) und reduzieren die Auflösung der Farbinformation. Sie gehen von glatten Übergängen im Bild und eigentlich keinen scharfen Kanten aus. Wenn man einen solchen Codec für Bildschirmmitschnitte verwendet, bekommt das Bild auch bei höchster Videobitrate Farbschlieren. Im Gegensatz dazu arbeiten z.B. der libx264rgb-Encoder und auch der "Flash Screen Video" im RGB-Farbraum und erlauben eine verlustfreie Darstellung von Farben und Kanten.

ffmpeg -f x11grab -show_region 1 -r 25 -s 640x480 -i :0.0 -vcodec flashsv screencast.flv 

Dieser Befehl benutzt übrigens zusätzlich die Option -show_region 1, welche einen Rahmen um den aufgezeichneten Ausschnitt zeichnet.

Unglücklicherweise können nicht alle Player das libx264rgb-Format abspielen, und bei der Anzeige eines FlashSV-Videos sieht man in der Regel doch wieder Farbschlieren. Das liegt aber an den Abspielprogrammen wie VLC, MPlayer oder avplay/ffplay. Tatsächlich enthält das Video die originalen Bilder, was man überprüfen kann, wenn man das Video in seine Einzelbilder zerlegt:

ffmpeg -i screencast.flv screencast%05d.png 

Folgender Befehl erstellt einen verlustfreien Screencast mit dem HuffYUV-Codec und einer Auflösung von 1024x768 sowie 25 Bildern in der Sekunde. Der Screencast wird in der Datei screencast.mkv in dem Verzeichnis gespeichert, aus dem man den Befehl heraus ausgeführt hat.

ffmpeg -f x11grab -r 25 -s 1024x768 -i :0.0 -c:v huffyuv screencast.mkv 

Darüber hinaus kann auch der Ton mit aufgenommen werden (zB Monitor des Lautsprechers). Beispiel mit Rechteck verschoben über Geometrie und Audioaufnahme (2 Kanäle (-ac audio channels), Input (-i): default):

ffmpeg -video_size 1600x736 -framerate 25 -f x11grab -i :0.0+110,252 -f pulse -ac 2 -i default output.mkv 

Die Audioquellen können ermittelt werden mit:

pacmd list-sources|awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}' 

Abschließend kann einfach das Video gekürzt werden (die ersten 15 Sekunden rausschneiden, wo vielleicht das Terminal mit dem Befehl noch sichtbar war), wobei -c copy bewirkt, dass nicht nochmal de- und wieder encodiert wird:

ffmpeg -ss 15 -i output.mkv -c copy output_cut.mkv 

Die Aufnahme wird mit der Tastenkombination Strg + C beendet. Besser ist allerdings, die Taste Q zum Beenden zu nutzen, die zu einem geordneten Programmstopp führt.

Diese Revision wurde am 8. Oktober 2023 23:27 von UlfZibis erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Screencast, Übersicht