giph is a screen recorder that records the desktop, a window or selection and encodes it into a gif file. It prints the encoded gif directly to standard output when omitting the output filename.
I used giph to record a gif of giph recording a gif.
$ giph -s -l -c 1,1,1,0.3 -b 5 -p -5 out.gif
Select a window or area with slop. The selection rectangle is highlighted in a transparent blue color abd has a 5px border on the inside. After stopping the recording with either
ctrl+c, by running
giph --stop or by sending a
SIGINT to the processgroup, the resulting gif is written to
$ giph -g 100x200+0+0 -d 5 -t 10
Records a 100x200 pixel rectangle in the top left corner of the screen. The recording starts after a 5 seconds countdown and will record for exactly 10 seconds. The resulting gif will be printed to standard output, which makes this able to be piped into other scripts like a file-upload to an image hosting service.
$ giph -f 30 -t 5 -s -a -m out.webm
Records a 5 second video of the users selection at 30 fps. The recording also contains the users desktop audio and microphone. If the recording fails because the default audio source
0 is not the correct one, run
pacmd list-sources to get the correct source
name and pass it to the
-as parameter instead of using
giph -f 30 -t 5 -s -as 1 -m out.webm (using id) or
giph -f 30 -t 5 -s -as alsa_output.pci-0000_04_00.1.hdmi-stereo.monitor -m out.webm (using name)
$ giph -s -t 10 --format webm | curl -F "[email protected]" 0x0.st | xclip -selection clipboard
Records a 10 second webm of the users selection, uploads the video to 0x0.st using curl and copies the returned url to the clipboard.
$ yay -S giph
Or install giph-git to get the latest development version.
Make sure to install the following dependencies:
Optionally, install the following dependencies:
- slop (
- libnotify (
- pgrep (
Clone the giph repository:
$ git clone https://github.com/phisch/giph.git
And finally install giph:
$ cd giph $ sudo make install