diff --git a/screencap/screencap-ffmpeg.sh b/screencap/screencap-ffmpeg.sh index 21d3a27310bdeb08c57438a2ce3ba9583095394b..cef308215ddd7c4918f0bc949bddd1a30f5fee0e 100755 --- a/screencap/screencap-ffmpeg.sh +++ b/screencap/screencap-ffmpeg.sh @@ -4,17 +4,20 @@ # 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 ein Präfix für die Datei, in die aufgenommen wird. -# Der Dateiname lautet: $prefix-YYYY-MM-DD-HH-MM-SS-nummer.mp4 +# Der Dateiname lautet: $prefix-YYYY-MM-DD-HH-MM-SS-nummer.mov # Teilweise gibt es Probleme mit der Syncronität Bild<->Ton, daher dringen auf den Präsentationslaptops ausprobieren. -# Bei langsamen Geräten kann auch LOSSLESS=1 helfen, dann wird zwar die Ausgabedatei größer, aber der Rechenaufwand sollte am geringsten sein. +# Bei Verwendung von CODEC="x264" kann bei langsamen Geräten LOSSLESS=1 helfen, dann wird zwar die Ausgabedatei größer, aber der Rechenaufwand sollte geringer sein. +# Besser ist die Verwendung von CODEC="qtrle". # Manchmal gibts libfaac nicht, dann eine der anderen Optionen für ACODEC ausprobieren. DEVICE="VGA" AUDIO=1 FPS=15 LOSSLESS=1 -ACODEC="libfaac" -#ACODEC="aac -strict -2" +#CODEC="x264" +CODEC="qtrle" +#ACODEC="libfaac" +ACODEC="aac -strict -2" #ACODEC="libvo_aacenc" #ACODEC="pcm_s16le" # Uncompressed, only use, if nothing other works! @@ -35,11 +38,11 @@ if [ "$1" == "" ] fi counter=0 -file=${prefix}$(date +%Y-%m-%d-%H-%M-%S)-$counter.mp4 +file=${prefix}$(date +%Y-%m-%d-%H-%M-%S)-$counter.mov while [ -e $file ] do ((counter=counter+1)) - file=${prefix}$(date +%Y-%m-%d-%H-%M-%S)-$counter.mp4 + file=${prefix}$(date +%Y-%m-%d-%H-%M-%S)-$counter.mov done if which avconv @@ -65,6 +68,17 @@ if [ $LOSSLESS -eq 1 ] losslesscmd="-qp 0 -crf 0 -tune stillimage" fi -cmd="$prog -f x11grab -s $res -r $FPS -i :0.0$pos $audiocmd -c:v libx264 $losslesscmd -r $FPS -preset:v ultrafast $file" +if [ $CODEC = "qtrle" ] + then + videocmd="-c:v qtrle" +elif [ $CODEC = "x264" ] + then + videocmd="-c:v libx264 $losslesscmd -pix_fmt yuv420p -preset:v ultrafast" +else + echo "No valid Codec, for valid codecs see header" + exit 1 +fi + +cmd="$prog -f x11grab -s $res -r $FPS -i :0.0$pos -r $FPS $audiocmd $videocmd $file" echo "Command: $cmd" $cmd