aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/scripts/ffmpeg
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2023-02-10 11:32:00 +0200
committersrdusr <trevorgray@srdusr.com>2023-02-10 11:32:00 +0200
commit009cd3c349ada787d5828d69655c7cd78707ae40 (patch)
tree26e18ca2fe7c6b427eb6ff7f1ad92658f1b9aaf4 /.local/bin/scripts/ffmpeg
parent588984c769470ff070dc89a15fb6c63f1bc74562 (diff)
parent4b073028c17697e2254464e2b54678d07489c14e (diff)
downloaddotfiles-009cd3c349ada787d5828d69655c7cd78707ae40.tar.gz
dotfiles-009cd3c349ada787d5828d69655c7cd78707ae40.zip
Add '.local/bin/scripts/' from commit '972ed253fa17ffc0db8dfde82c0662acaed17d48'
git-subtree-dir: .local/bin/scripts git-subtree-mainline: 4d3d5a0f39a5e504f1296cb401e2dffc62292572 git-subtree-split: 972ed253fa17ffc0db8dfde82c0662acaed17d48
Diffstat (limited to '.local/bin/scripts/ffmpeg')
-rwxr-xr-x.local/bin/scripts/ffmpeg24
1 files changed, 24 insertions, 0 deletions
diff --git a/.local/bin/scripts/ffmpeg b/.local/bin/scripts/ffmpeg
new file mode 100755
index 0000000..2258fbd
--- /dev/null
+++ b/.local/bin/scripts/ffmpeg
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+# audio
+A="$(pactl list sources | grep 'analog.*monitor' | awk '{print $2}')"
+# screen size
+S="$(xdpyinfo | grep dimensions | awk '{print $2}')"
+# file name
+N="$(date +"%m-%d-%Y_%I:%M%p").mp4"
+
+# Desktop audio + screen recording
+ffmpeg \
+-s "$S" -r 25 -f x11grab -i :0.0+0,0 \
+-ac 2 ~/"$N"
+
+# ffmpeg can output high quality GIF. Before you start it is always recommended to use a recent version: download or compile.
+
+# ffmpeg -ss 30 -t 3 -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 output.gif
+
+# This example will skip the first 30 seconds (-ss 30) of the input and create a 3 second output (-t 3).
+# fps filter sets the frame rate. A rate of 10 frames per second is used in the example.
+# scale filter will resize the output to 320 pixels wide and automatically determine the height while preserving the aspect ratio. The lanczos scaling algorithm is used in this example.
+# palettegen and paletteuse filters will generate and use a custom palette generated from your input. These filters have many options, so refer to the links for a list of all available options and values. Also see the Advanced options section below.
+# split filter will allow everything to be done in one command and avoids having to create a temporary PNG file of the palette.
+# Control looping with -loop output option but the values are confusing. A value of 0 is infinite looping, -1 is no looping, and 1 will loop once meaning it will play twice. So a value of 10 will cause the GIF to play 11 times.