Полноцветная gif-анимация из видео
- ffmpeg -y -i input.mp4 -vf palettegen palette.png
- ffmpeg -y -i input.mp4 -i palette.png -filter_complex "[0][1]paletteuse" output.gif
Конвертирует видео в полноцветную gif-анимацию.
Скрипт, который конвертирует видео в gif-анимацию, а затем удаляет всё лишнее.
Использование:
Использование:
- ./togif.sh input.mp4
- togif.cmd input.mp4
- #/bin/bash
- ffmpeg -y -i "$1" -vf palettegen palettegif.png
- ffmpeg -y -i "$1" -i palettegif.png -filter_complex "[0][1:v]paletteuse" "$1.gif"
- rm palettegif.png
- @echo off
- ffmpeg -y -i %1 -vf palettegen palettegif.png
- ffmpeg -y -i %1 -i palettegif.png -filter_complex "[0][1:v]paletteuse" %1.gif
- del palettegif.png
Можно усложнить, добавив изменение размера и количества кадров. Таким образом, файл получится меньше.
Использование:
Где 16 - количество кадров в секунду, а 320 - ширина полученной анимации.
Использование:
- ./togif.sh input.mp4 16 320
- togif.cmd input.mp4 16 320
- #/bin/bash
- NAME="$1"
- FPS="${2:-16}"
- WIDTH="${3:-320}"
- ffmpeg -y -i "$NAME" -vf fps=$FPS,scale=$WIDTH:-1:flags=lanczos,palettegen palettegif.png
- ffmpeg -y -i "$NAME" -i palettegif.png -filter_complex "fps=$FPS,scale=$WIDTH:-1:flags=lanczos[x];[x][1:v]paletteuse" "$NAME-${FPS}fps-w$WIDTH.gif"
- rm palettegif.png
- @echo off
- set NAME=%1
- set FPS=%2
- set WIDTH=%3
- ffmpeg -y -i "%NAME%" -vf fps=%FPS%,scale=%WIDTH%:-1:flags=lanczos,palettegen palettegif.png
- ffmpeg -y -i "%NAME%" -i palettegif.png -filter_complex "fps=%FPS%,scale=%WIDTH%:-1:flags=lanczos[x];[x][1:v]paletteuse" "%NAME%-%FPS%fps-w%WIDTH%.gif"
- del palettegif.png