diff --git a/screencap/ffmpeg_recorder.sh b/screencap/ffmpeg_recorder.sh deleted file mode 100755 index fd98f8beccc182ff838769c7c2cb00770b334679..0000000000000000000000000000000000000000 --- a/screencap/ffmpeg_recorder.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# ffmpeg recorder script for audio and video -# Source: http://filmsbykris.com/wordpress/screen-capturing-with-ffmpeg/ - -cd $HOME/Videos/tutorials/original -SavePath=$(zenity --file-selection --save --confirm-overwrite) -echo "Saving video to $szSavePath" - -INFO=$(xwininfo -frame) - -WIN_GEO=$(echo "$INFO"|grep -e "Height:" -e "Width:"|cut -d\: -f2|tr "\n" " "|awk '{print $1 "x" $2}') -WIN_POS=$(echo "$INFO"|grep "upper-left"|head -n 2|cut -d\: -f2|tr "\n" " "|awk '{print $1 "," $2}') - -ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -s $WIN_GEO -r 15 -i :0.0+$WIN_POS -r 15 -acodec pcm_s16le -sameq "$SavePath.avi" - -echo "$WIN_GEO -i :0.0+$WIN_POS -acodec" -echo "$WIN_POS" diff --git a/screencap/screencap-ffmpeg.sh b/screencap/screencap-ffmpeg.sh index 72ec43d8a0ee8a944277b875623cfa78cef41800..9de42c4afc243c867ce08fcef6c7b5d4a56e7eee 100755 --- a/screencap/screencap-ffmpeg.sh +++ b/screencap/screencap-ffmpeg.sh @@ -3,23 +3,38 @@ # 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. +# 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 # Teilweise gibt es Probleme mit der Syncronität Bild<->Ton, daher dringen auf den Präsentationslaptops ausprobieren. DEVICE="VGA" -AUDIO=0 +AUDIO=1 +FPS=15 info=$(xrandr | grep $DEVICE) -res=$(echo $info | grep -Eo '[0-9]+x[0-9]+') +if [ -z "$info" ] || (echo $info | grep disconnected) + then + echo "Device $DEVICE not connected or not existent - check xrandr" + exit 1 +fi +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 + prefix="" else - file=$1 + prefix=$1- fi +counter=0 +file=${prefix}$(date +%Y-%m-%d-%H-%M-%S)-$counter.mp4 +while [ -e $file ] + do + ((counter=counter+1)) + file=${prefix}$(date +%Y-%m-%d-%H-%M-%S)-$counter.mp4 +done + if which avconv then prog=avconv @@ -33,9 +48,9 @@ fi if [ $AUDIO -eq 1 ] then - audiocmd="-f alsa -ac 2 -i hw:0,0 -r 25 -c:a pcm_s16le" + audiocmd="-f alsa -ac 2 -i hw:0,0 -c:a libfaac" 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 +$prog -f x11grab -s $res -r $FPS -i :0.0$pos $audiocmd -c:v libx264 -r $FPS -preset:v ultrafast $file diff --git a/screencap/screencap-recmydeskt.sh b/screencap/screencap-recmydeskt.sh deleted file mode 100755 index e6861d8e35e0e4d9b8e82fb8729aba5660e1e0d1..0000000000000000000000000000000000000000 --- a/screencap/screencap-recmydeskt.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# Dieses Skript verwendet recordmydesktop um den Bildschirm + Ton aufzunehmen. -# In die Variable $DEVICE wird der Bezeichner des Anschlusse eingetragen, von dem aufgenommen werden soll (siehe xrandr). -# Wenn ON_THE_FLY_ENCODING=1 ist wird das Video direkt bei der Aufnahme encodiert. Dies frist einiges an Rechenleistung, falls die Aufnahme aber abbricht ist alles bis zum Abbruch vorhanden und das fertige Video steht direkt nach der Beendigung der Aufnahme zur Verfügung. Sonst dauert es am Ende noch einige Zeit. -# Erster und einziger, optionaler, Parameter ist die Datei, in die gespeichert wird. Wenn die nicht angegeben wird wird nach out.ogv gespeichert. -# Teilweise gibt es Probleme mit der Syncronität Bild<->Ton, daher dringen auf den Präsentationslaptops ausprobieren. - -DEVICE="VGA" -ON_THE_FLY_ENCODING=1 -FPS="15" - -info=$(xrandr | grep $DEVICE | grep -Eo '[0-9]+x[0-9]+\+[0-9]*\+[0-9]*' | tr x+ " ") -x=$(echo $info | awk '{print $3}') -y=$(echo $info | awk '{print $4}') -width=$(echo $info | awk '{print $1}') -height=$(echo $info | awk '{print $2}') - -if ! which recordmydesktop -then - echo "recordmydesktop nicht gefunden!" - exit -fi - -if [ $x -gt 0 ] - then - cmd="$cmd -x $x" -fi -if [ $y -gt 0 ] - then - cmd="$cmd -y $y" -fi -if [ $ON_THE_FLY_ENCODING -eq 1 ] - then - cmd="$cmd --on-the-fly-encoding" -fi - -recordmydesktop $cmd --fps $FPS --width $width --height $height $1 -