Screencast (Bildschirmaufnahme) mit LTSP
Wir möchten mit dem LTSP Schulungen / Workshops aufnehmen.
Da dies sehr viel Rechenleistung fordert ist es am besten dies lokal, auf einem leistungsfähigen Client, auszuführen. Stichwort: ltsp-localapps
Einrichtung
(Dies habe ich auf unserem Schulungs-LTSP gemacht.)
Im client-chroot ffmpeg
installieren.
ffmpeg
ist leider nicht im normalen Debian jessie repository dabei.
Achtung: Der von Debian gelieferte Ersatz avconv ist SCHEISSE und FUNKTIONIERT NICHT!
Dazu also im client-chroot unter /etc/apt/sources.list
folgendes nachtragen:
# Debian Multimedia Repository deb http://www.deb-multimedia.org jessie main non-free deb ftp://ftp.deb-multimedia.org jessie main non-free
ffmpeg
mit apt-get installieren.
Zum abspielen empfehle ich auch noch mplayer
zu installieren.
Anwendung
Aufnahme
Zum Aufnehmen ist es am einfachsten ein lokales Terminal zu öffnen:
$ ltsp-localapps xterm
Das home Verzeichnis ist bereits im Client eingebunden.
Da der Befehl für ffmpeg
einige Optionen umfasst, verwende ich dafür ein kleines Script.
./screenrec-ltsp
:
#!/bin/bash
#
# record screencast
#
# using ffmpeg
# mein laptop monitor: 1366x768
# beamer revamp: 1024x768
WIDTH=1024
HEIGHT=768
FPS=16
DATE=$(date +%Y-%m-%d_%k%M)
ffmpeg -f alsa -ac 2 -i pulse \
-f x11grab -r "$FPS" -s "$WIDTH"x"$HEIGHT" -i :7.0 \
-acodec pcm_s16le \
-vcodec libx264 -preset ultrafast -crf 0 \
-threads 0 \
rec_"$DATE".mkv
Dieses kann im home abgespeichert und im lokalen xterm ausgeführt werden. (Das home Verzeichnis ist ja automatisch eingebunden.)
Zur Lautstärkeregulierung (Mikrofon, Eingang etc.) empfehle ich pavucontrol
(Pulse Audio Lautstärkeregelung).
Ein auf diese Weise aufgenommenes Video hat eine hohe Qualität, ist aber auch sehr gross. Es muss anschliessend in einem weiteren Schritt konvertiert werden, siehe unten: Konvertierung
Webcam
Um ein kleines Bild einer Webcam einzublenden kann das folgende Script, ebenfalls in einem lokalen xterm, verwendet werden. (Verwendet mplayer
.)
./play-webcam
:
#!/bin/bash
#
# play webcam
WIDTH=180
HEIGHT=120
mplayer -vo xv \
tv:// \
-tv driver=v4l2:width=$WIDTH:height=$HEIGHT:fps=30:device=/dev/video0 \
-geometry "95%:95%" \
-noborder -ontop > /dev/null 2>&1 &
So kann sehr einfach und Leistungsschonend ein Webcam Bild eingeblendet werden. Dieses wird dann einfach mit dem Bildschirm mit aufgenommen.
Konvertierung
[Die optimalen ffmpeg Optionen / codecs etc. müssen noch ausgearbeitet werden.]