diff --git a/.config/i3/config b/.config/i3/config index 91b18e4..4a73aa9 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -221,10 +221,11 @@ mode "$mode_system" { } bindsym $mod+Shift+M mode "$mode_media" -set $mode_media (p)lay, (u)pdate music, (r)ecord, (s)top +set $mode_media (p)lay, (u)pdate music, (r)ecord, (m)ic record, (s)top mode "$mode_media" { bindsym p exec mpv $(xclip -o), mode "default" bindsym r exec /home/naiji/.local/bin/media-util record, mode "default" + bindsym m exec /home/naiji/.local/bin/media-util record mic, mode "default" bindsym s exec /home/naiji/.local/bin/media-util stop && notify-send -e -t 1000 -i video "ffmpeg" "done", mode "default" bindsym u exec mpc clear && systemctl --user restart mpd.service && mpc update && mpc add / && mpc play, mode "default" diff --git a/.local/bin/media-util b/.local/bin/media-util index 788216c..0efbd47 100755 --- a/.local/bin/media-util +++ b/.local/bin/media-util @@ -21,12 +21,19 @@ then if [ $1 == 'shrink' ] then - ffmpeg -i "$2" -vcodec libx264 -crf 20 -filter:v fps=25 "$3" + ffmpeg -i "$2" -vcodec libx264 -crf 15 -filter:v fps=25 -s 1280x720 -c:a copy "$3" fi if [ $1 == 'record' ] then - ffmpeg -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i 57 ~/Videos/$(date "+%F-%N").mkv & + 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 @@ -43,7 +50,7 @@ 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 20 -filter:v fps=25 \$3" + 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:"