Screencasts
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¶
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¶
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 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¶
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.
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.
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¶
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¶
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¶
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 beendet.
Da der 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.
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 arbeitet "Flash Screen Video" im RGB-Farbraum und erlaubt 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 sieht man bei der Anzeige eines FlashSV-Videos 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 Audio mit aufgenommen werden (zB Monitor des Lautsprechers)
Beispiel mit Rechteck verschoben über Geometry 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
Dia Audioquellen können ermittelt werden
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)
ffmpeg -ss 15 -i output.mkv 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.
Links¶
Markus Oppitz OpenOffice Impress Screencast 🇦🇹 🇩🇪 - Screencast mit eingezoomten Bildschirmbereichen, 2010
Multimedia Übersichtsartikel