Skip to content

Screencasting mit Linux Bordmitteln

Neulich fand ich diesen Tweet, der mein Interesse weckte:

Screencasts sind Videos, mit denen man z.B. Arbeitsabläufe am PC vorstellen kann, indem man die Vorgänge auf seinem Monitor aufnimmt und dabei per Audio Kommentar beschreibt, was man gerade tut. Ich war etwas erstaunt, dass dies mit Linux Bordmitteln wirklich so einfach gehen soll, ich kannte für Screencasts vor allem (teilweise kostenpflichtige) Programme, die dies taten. Somit habe ich das mal ausprobiert.

Der Trick bei obigem Kommando ist der -i Parameter. Hier wird als Eingabe für das Video einfach der Bildschirm abgegriffen. Bei mir klappte der im Tweet genannte Aufruf allerdings leider nicht korrekt, außerdem erzeugt dieser keinen Ton. Der Aufruf, der bei mir funktionierte, war folgender:

dimension=1600x900
aspect=1.7777
ffmpeg -f alsa -i plughw:0 -f x11grab -s $dimension -r 24 -b 100k -bf 2 -g 300 -i :0.0 -ar 22050 -ab 128k -acodec libmp3lame -vcodec libxvid -aspect $aspect -sameq screencast.avi

Wobei dimension die Auflösung meines Monitors und aspect die dazu passende Aspekt Ratio ist (16:9).

Das Resultat, das dabei entsteht, war nicht ganz, wie ich das gerne hätte:

  • Das Video war in der vollständigen Auflösung meines Monitors, also viel zu groß für einen normalen Screencast
  • Mein internes Micro ist ein wenig leise, wenn ich mich nicht direkt davor setze, also musste die Lautstärke ein wenig angehoben werden
  • Durch das Anheben der Lautstärke trat das Rauschen allerdings auch deutlicher hervor, weshalb ich eine Rauschunterdrückung benötigte.

Das komplett zusammen gegooglete Wissen für obige Wünsche habe ich in einem Script zusammen gefasst. Es nimmt wie oben beschrieben den Screencast auf, danach wird ein wenig Postproduction über das Resultat ausgeführt. Danach hat man zwei Dateien: screencast_orig.avi und screencast.avi. Ersteres ist das original, das mit obigen Aufruf aufgenommen wurde, das 2 ist der nachbearbeitete Screencast, der verkleinert und dessen Audio lauter gesetzt und von Rauschen befreit wurde.

In dem Skript habe ich einige Kommentare für Interessierte hinterlassen, die nachvollziehen wollen, was ich wie gelöst habe. Im oberen Bereich des Skriptes kann selbiges mit ein paar wenigen Variablen einfach konfiguriert werden:

# Enter your screen resulution
width=1600
height=900
# The shrink value for the output video (2 means: resize to half size)
shrink=2
# Volume adjustment. 1 means: Original volume, 2 double volume ..
volume=2

Hier gibt es das komplette Script und hier könnt ihr euch einen Testscreencast ansehen, den ich mit dem Skript erzeugt und auf Youtube hoch geladen habe:

Update: ich habe das Skript noch mal ein wenig überarbeitet. Die Rauschunterdrückung bezog sich auf den falschen Eingang, außerdem wurde die Lautstärke Einstellung noch ignoriert.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Dieses Blog erlaubt Dir, Audio Kommentare über audioboo.fm hinzuzufügen. Erstelle einen neuen Boo und gib hier den Link auf die Seite Deines Boos ein.
record
Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
(Bedingung: 1 Kommentare geschrieben)
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
tweetbackcheck