#!/bin/sh if [ -z $(which ffmpeg) ] then echo "Missing ffmpeg package, please install it!" exit 1 fi if [ -z $(which shnsplit) ] then echo "Missing shntool package, please install it!" exit 1 fi if [ ! -z $1 ] then if [ $1 == 'cut' ] then ffmpeg -i "$2" -ss $3 -t $4 -c:v copy -c:a copy "$5" fi if [ $1 == 'shrink' ] then ffmpeg -i "$2" -vcodec libx264 -crf 15 -filter:v fps=25 -s 1280x720 -c:a copy "$3" fi if [ $1 == 'record' ] then device_id=$(pactl list short sources | grep output | awk '{print $1}') if [ $2 == 'mic' ] then microphone_id=$(pactl list short sources | grep input | awk '{print $1}') ffmpeg -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i $device_id -f pulse -ac 2 -i $microphone_id -filter_complex "[1:0][2:0]amix=inputs=2:duration=shortest" ~/Videos/$(date "+%F-%N").mkv & else ffmpeg -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i $device_id ~/Videos/$(date "+%F-%N").mkv & fi echo "$!" > ~/.local/share/ffmpeg/recent-recording fi if [ $1 == 'stop' ] then kill $(cat ~/.local/share/ffmpeg/recent-recording) fi if [ $1 == 'cue' ] then shnsplit -f $2 $3 fi else echo "cut:" echo "ffmpeg -i \$2 -ss \$3 -t \$4 -c:v copy -c:a copy \$5" echo "shrink:" echo "ffmpeg -i \$2 -vcodec libx264 -crf 15 -filter:v fps=25 -s 1280x720 -c:a copy\$3" echo "record:" echo "ffmpeg -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i 57 ~/Videos/\$(date \"+%F-%N\").mkv &" echo "cue:" echo "shnsplit -f \$2 \$3" fi