Screencast mit Webcam unter ArchLinux

Posted on 2015-03-10 by fp
Send us your comments.

Für die Lehre aufgabenzentrierten flipped classrooms (ich beschrieb das bereits ein wenig) im nächsten Semester, brauche ich eine Werkzeugkette um eine Aufzeichnung von Vorlesungsfolien und Webcam zu machen. Eigentlich ist das absolut keine Raketentechnik mehr, aber man soll den Tag nicht loben, bevor man nicht ein Werkzeug gefunden hat, welches wirklich funktioniert. Und irgendwie stößt man bei der praktischen Umsetzung völlig einfacher Dinge doch immer irgendwie auf Probleme.

Ich hätte gerne eine Aufzeichnung meines Bildschirminhaltes und eines Kamerabildes. Am besten fände ich es, wenn ich zwei separate Videoströme liefern könnte, einmal mein Bildschirminhalt, und einmal ein Video meines Vortrags, damit sich der Zuschauer diese dann mit einem geeigneten Videobetrachter selbst zu einem Bild komponieren kann. Leider kenne ich weder einen solchen Videobetrachter, noch ein Aufzeichnungsprogramm, die mir so etwas in einer Datei liefern, auch, wenn die Datenformate so etwas sicher hergeben. Aber vielleicht habe ich auch noch nicht lange genug gesucht.

Das erste Werkzeug, dass ich brauche ist erst einmal das Aufzeichnungsprogramm. Da gibt es eine riesige Liste, wenn man kurz in das Repository seiner Linux Distribution unter “screencast” guckt. Im folgenden will ich die Liste kurz vorstellen, damit anderen die Suche etwas einfacher wird.

Ich fahre aktuell ArchLinux und verwende mit Xmonad vermutlich einen eher ungewöhnlicheren Tiling Window Manager. Vermutlich ist damit auch schon ein Teil meiner Probleme begründet.

vokoscreen

vokoscreen war das erste Werkzeug, dass bei mir auf Anhieb nicht nur die Webcam dazuschalten ließ, sondern auch eine sehr vollständige Auswahl von Bildschirmen anbot. Lediglich mit der Tonaufzeichnung hatte ich kein Glück, die wollte partout nichts machen. Nachdem ich feststellen musste, dass das Mikrophon und auch die Tonwiedergabe ausserhalb von vokoscreen tatsächlich funktionierten wie sie sollten, bin ich darauf verfallen mal die ffmpeg-Kommandozeile anzugucken.

Und siehe da, die manuelle Ausführung des von vokoscreen verwendeten Kommandos beschwerte sich über den Parameter -dcodec copy. Das Weglassen auf der Kommandozeile führte dann auch zu einer problemlosen Tonaufzeichnung. Und im dritten Anlauf war es einfach den Quellcode von vokoscreen so anzupassen, dass er diesen Parameter wegließ. Glücklich verwundert konnte ich den heruntergeladenen Quellcode im ersten Anlauf fehlerfrei kompilieren und meine handangepasste Version nimmt jetzt auch Ton auf.

Sprich, das ganze funktioniert (bei mir), wenn man in der Datei screencast.cpp den parameter “-dcodec copy” auskommentiert.

Update Vokoscreen funktionierte nun dann doch nicht wie gedacht. Was auf der ersten Minute wie ein wenig Trägheit aussieht, gestaltet sich im weiteren Verlauf als massive Asynchronizität von Audio und Video. Ich habe mir jetzt erst einmal wieder eine normale Kamera besorgt um damit zu drehen.

SimpleScreenRecorder (special update)

Ein paar verhunzte Videos später und ein guter Tag fluchen und verzweifeln hat mich zurück zu genau diesem Blogeintrag zurückgeführt (Hooray for Notizen) und mich die Liste noch einmal durchgehen lassen. Dabei ist mir aufgefallen, dass der SSR im ersten Durchlauf fälschlich bewertet wurde. Zwar ist in dem Werkzeug keine Einblendung des Kamerabildes integriert, aber dafür nimmt der Videos und Töne auf. Wenn man dabei keine ungewöhnliche Bildrate wählt, dann scheinen die beiden Spuren jetzt sogar gleich lang. (Wenn ich die Framerate in Blender dann nachbearbeite.)

Da mir das bei den ffmpeg-basierten Werkzeugen nie wirklich gelungen ist, werde ich mir jetzt das Wochenende schnappen und endlich Videos drehen.

END—–