Select Git revision
screencap-ffmpeg.sh
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
screencap-ffmpeg.sh 1.05 KiB
#!/bin/bash
# Dieses Skript verwendet avconv oder ffmpeg um den Bildschirm aufzunehmen.
# Wenn AUDIO=1 gesetzt ist wird auch der Ton aufgenommen.
# In die Variable $DEVICE wird der Bezeichner des Anschlusse eingetragen, von dem aufgenommen werden soll (siehe xrandr).
# Erster und einziger, optionaler, Parameter ist die Datei, in die gespeichert wird. Wenn die nicht angegeben wird wird nach cap.avi gespeichert.
# Teilweise gibt es Probleme mit der Syncronität Bild<->Ton, daher dringen auf den Präsentationslaptops ausprobieren.
DEVICE="VGA"
AUDIO=0
info=$(xrandr | grep $DEVICE)
res=$(echo $info | grep -Eo '[0-9]+x[0-9]+')
pos=$(echo $info | grep -Eo '\+[0-9]+\+[0-9]+')
if [ "$1" == "" ]
then
file=cap.avi
else
file=$1
fi
if which avconv
then
prog=avconv
elif which ffmpeg
then
prog=ffmpeg
else
echo "Weder avconv, noch ffmpeg gefunden!"
exit
fi
if [ $AUDIO -eq 1 ]
then
audiocmd="-f alsa -ac 2 -i hw:0,0 -r 25 -c:a pcm_s16le"
else
audiocmd="-an"
fi
$prog -f x11grab -s $res -r 25 -i :0.0$pos $audiocmd -c:v libx264 -crf 1 -preset:v fast $file