Полноцветная gif-анимация из видео

  1. ffmpeg -y -i input.mp4 -vf palettegen palette.png
  2. ffmpeg -y -i input.mp4 -i palette.png -filter_complex "[0][1]paletteuse" output.gif
Конвертирует видео в полноцветную gif-анимацию.
Скрипт, который конвертирует видео в gif-анимацию, а затем удаляет всё лишнее.
Использование:
  1. ./togif.sh input.mp4
  2. togif.cmd input.mp4

  1. #/bin/bash
  2.  
  3. ffmpeg -y -i "$1" -vf palettegen palettegif.png
  4. ffmpeg -y -i "$1" -i palettegif.png -filter_complex "[0][1:v]paletteuse" "$1.gif"
  5. rm palettegif.png
  1. @echo off
  2.  
  3. ffmpeg -y -i %1 -vf palettegen palettegif.png
  4. ffmpeg -y -i %1 -i palettegif.png -filter_complex "[0][1:v]paletteuse" %1.gif
  5. del palettegif.png
Можно усложнить, добавив изменение размера и количества кадров. Таким образом, файл получится меньше.
Использование:
  1. ./togif.sh input.mp4 16 320
  2. togif.cmd input.mp4 16 320
Где 16 - количество кадров в секунду, а 320 - ширина полученной анимации.
  1. #/bin/bash
  2.  
  3. NAME="$1"
  4. FPS="${2:-16}"
  5. WIDTH="${3:-320}"
  6.  
  7. ffmpeg -y -i "$NAME" -vf fps=$FPS,scale=$WIDTH:-1:flags=lanczos,palettegen palettegif.png
  8. 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"
  9. rm palettegif.png
  1. @echo off
  2.  
  3. set NAME=%1
  4. set FPS=%2
  5. set WIDTH=%3
  6.  
  7. ffmpeg -y -i "%NAME%" -vf fps=%FPS%,scale=%WIDTH%:-1:flags=lanczos,palettegen palettegif.png
  8. 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"
  9. del palettegif.png

Реклама

Мы в соцсетях

tw tg yt gt