Starts work on gif and mp4 generator for sxiv
This commit is contained in:
parent
982aa92e80
commit
e543264bb2
2 changed files with 92 additions and 17 deletions
49
bin/createGif
Executable file
49
bin/createGif
Executable file
|
@ -0,0 +1,49 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Creates a gif using a list of files from stdin
|
||||
tmpdir="/tmp/sxiv-gif/"
|
||||
rm -rf "$tmpdir"
|
||||
mkdir -p "$tmpdir"
|
||||
|
||||
framerate="prompt"
|
||||
format="gif"
|
||||
extension=""
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
"-r"|"--framerate")
|
||||
framerate="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
"--mp4")
|
||||
format="mp4"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ "$framerate" == "prompt" ]]; then
|
||||
framerate=$(echo -e "0.25\n0.5\n0.75\n1\n2\n5\n10" | rofi -dmenu -p Timeout)
|
||||
fi
|
||||
|
||||
i=1
|
||||
while read file; do
|
||||
extension="${file##*.}"
|
||||
number=$(printf "%03d" $i)
|
||||
echo "$number"
|
||||
cp "$file" "${tmpdir}file${number}.${extension}"
|
||||
i=$((i+1))
|
||||
done
|
||||
|
||||
case "$format" in
|
||||
"mp4")
|
||||
ffmpeg -f image2 -framerate "$framerate" -i "${tmpdir}file%03d.${extension}" -crf 0 "${tmpdir}out.${format}"
|
||||
;;
|
||||
*)
|
||||
ffmpeg -f image2 -framerate "$framerate" -i "${tmpdir}file%03d.${extension}" "${tmpdir}out.${format}"
|
||||
esac
|
||||
|
||||
mv "${tmpdir}out.${format}" "$HOME/Desktop/"
|
||||
|
||||
notify-send "Done"
|
Loading…
Add table
Add a link
Reference in a new issue