Allow recording to gif
screencast2gif will record a standard `ffcast` (just like pressing PrtSc) and then ffmpeg will convert it to gif format a short while later
This commit is contained in:
parent
d671dbcc32
commit
accd7763c5
@ -75,6 +75,7 @@ bindsym $mod+Shift+Insert --release exec --no-startup-id maim ~/Pictures/$(date
|
||||
bindsym $mod+Ctrl+Insert exec --no-startup-id maim -s ~/Pictures/$(date +%Y-%m-%d).png&& pinta ~/Pictures/$(date +%Y-%m-%d-%s).png # screenshot and edit
|
||||
|
||||
# Screen recording
|
||||
bindsym Shift+Print exec --no-startup-id ~/.i3/screencast2gif.sh
|
||||
bindsym Print exec --no-startup-id "ffcast -q $(while slop -q -n -f '-g %g ';do :;done) rec ~/Videos/rec-%si-$(date +%Y-%m-%d-%s).mp4"
|
||||
bindsym $mod+Print exec --no-startup-id pkill -fxn '(/\S+)*ffmpeg\s.*\sx11grab\s.*'
|
||||
|
||||
|
12
i3/screencast2gif.sh
Executable file
12
i3/screencast2gif.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
date=$(date +%Y-%m-%d-%s)
|
||||
|
||||
ffmpeg() {
|
||||
command ffmpeg -hide_banner -loglevel error -nostdin "$@"
|
||||
}
|
||||
|
||||
ffcast -q $(while slop -q -n -f '-g %g ';do :;done) rec ~/Videos/screencast-${date}.mp4
|
||||
|
||||
ffmpeg -i ~/Videos/screencast-${date}.mp4 -vf palettegen -f image2 -c:v png - |
|
||||
ffmpeg -i ~/Videos/screencast-${date}.mp4 -i - -filter_complex paletteuse ~/Pictures/screencast-${date}.gif && notify-send "Gif recorded to ~/Pictures/screencast-${date}"
|
Loading…
Reference in New Issue
Block a user