Scenarijus vaizdo įrašams į GIF konvertuoti: nuo paprasto iki magiško!
Prieš pradedant, reikia įdiegti ffmpeg
- programinę įrangą, kuri padarys visą magiją.
sudo apt install ffmpeg
Arch Linux:
sudo pacman -S ffmpeg
sudo zypper install ffmpeg
sudo dnf install ffmpeg
Ar kada nors norėjote paversti savo mėgstamiausius vaizdo įrašus į žavingas GIF animacijas? Žinoma, norėjote! Kas gi nenorėtų? Na, šiandien turiu jums dovaną - scenarijų, kuris tai padarys lengviau nei kada nors anksčiau!
Scenarijaus anatomija:
Šis scenarijus tarsi stebuklingas magas atlieka savo triuką etapais:
1. Pasirinkimas:
- Scenarijus atveria vaizdo įrašų katalogą ir parodo jums sąrašą, tarsi kviečiantis išsirinkti savo auką... atsiprašau, mėgstamiausią vaizdo įrašą.
- Jūs, tarsi galingas valdovas, pasirenkate norimą vaizdo įrašą ir scenarijus pasiruošęs magijai.
2. Tikrinimas:
- Scenarijus, atsargus kaip sargybinis, patikrina, ar tikrai pasirinkote vaizdo įrašą, o ne apgaulingą iliuziją.
- Jei ne, scenarijus perspėja jus ir atšaukia magiją.
3. Konvertavimas:
- Atėjo laikas magijai! Scenarijus paima jūsų išsirinktą vaizdo įrašą ir paverčia jį žaviu GIF animacijos formatu.
- Tarsi burtų lazdelė, scenarijus sumažina GIF dydį iki pusės ir šiek tiek sumažina kokybę, kad jis neužimtų per daug vietos jūsų skaitmeniniame lobyne.
4. Išsaugojimas:
- Sukurtas GIF animacija patalpinamas į specialų katalogą, tarsi į stebuklingą skrynią, skirtą saugoti jūsų brangius lobius.
- Scenarijus netgi paklausia jūsų, ar norite suteikti savo GIF'ui unikalų vardą, kad galėtumėte jį lengvai atpažinti.
5. Pasikartojimas:
- Ar norite pakartoti magiją? Scenarijus pasiruošęs dar vienam konvertavimo seansui, laukiantis jūsų kitos vaizdo įrašo aukos... atsiprašau, mėgstamiausio vaizdo įrašo.
Apibendrinimas:
Šis scenarijus yra ne tik galingas įrankis vaizdo įrašams į GIF konvertuoti, bet ir suteikia šiek tiek žaismingumo ir humoro į šią įprastą užduotį. Pasiruoškite magijai ir paverskite savo vaizdo įrašus žavingomis GIF animacijomis!
#!/bin/bash
# Nustatykite konvertuoti skirtų failų katalogą
input_dir="$HOME/Video/"
# Gaukite visų vaizdo failų pavadinimus kataloge
files=$(find "$input_dir" -type f \( -name "*.mp4" -o -name "*.avi" -o -name "*.mpeg" -o -name "*.mkv" \))
file_names=()
for file in ${files[@]}; do
file_names+=($(basename "$file"))
done
# Parodykite failų pavadinimų sąrašą ir paprašykite vartotojo pasirinkti
echo "Pasirinkite konvertuoti norimą failą:"
select file in "${file_names[@]}"; do
if [ "$REPLY" -gt 0 ] && [ "$REPLY" -le "${#file_names[@]}" ]; then
input_file=$(find "$input_dir" -name "${file_names[$REPLY-1]}")
break
fi
done
# Patikrinkite, ar pasirinktas failas egzistuoja
if [ ! -f "$input_file" ]; then
echo "Pasirinktas failas neegzistuoja."
exit 1
fi
# Patikrinkite, ar pasirinktas failas yra vaizdo failas
if ! ffmpeg -i "$input_file" -f null -; then
echo "Pasirinktas failas nėra vaizdo failas."
exit 1
fi
# Nustatykite išvesties katalogą GIF failams
output_dir="$HOME/Paveikslėliai/gif/"
# Sukurkite išvesties katalogą, jei jis neegzistuoja
mkdir -p "$output_dir"
# Paklauskite vartotojo išvesties failo pavadinimo
read -p "Išvesties failo pavadinimas (gif): " output_file
# Sukurkite pilną išvesties failo kelio pavadinimą
output_file="$output_dir$output_file.gif"
# Patikrinkite, ar išvesties failas jau egzistuoja
if [ -f "$output_file" ]; then
read -p "Failas $output_file jau egzistuoja. Ar norite jį perrašyti? (taip/ne): " overwrite
case $overwrite in
[Yy]*)
echo "Perrašomas failas $output_file..."
;;
*)
echo "Operacija nutraukta."
exit 0
;;
esac
fi
# FFmpeg komanda sumažina GIF iki pusės dydžio ir sumažina kokybę
ffmpeg -i "$input_file" -vf scale=320:-1 -qscale 25 "$output_file" && echo "Failas konvertuotas sėkmingai: $output_file"
Komentarai
Rašyti komentarą