ffmpeg generiert und verwendet für jeden Frame eine andere Palette

1

Nach diesem Tutorial habe ich es geschafft, qualitativ hochwertige Gifs in angemessener Speichergröße zu erstellen.

Was ich derzeit mit Piping mache, ist dies

# Generate palette
ffmpeg -y -i - -vf fps=15,scale=600:-1:flags=lanczos,palettegen some_dir/palette.png

# Generate gif using palette
ffmpeg -y -i - -i some_dir/palette.png -filter_complex fps=15,scale=600:-1:flags=lanczos[x];[x][1:v]paletteuse output.gif 

Das funktioniert prima, aber ich habe im obigen Tutorial gelesen, dass es möglich ist, für JEDEN Frame eine andere Palette zu generieren. Wie kann ich das tun? (Generieren und verwenden Sie für jeden Frame eine andere Palette.)

Bluesummer
quelle

Antworten:

8

Es ist möglich. Tutorial ist veraltet.

ffmpeg.exe -i Wildlife.wmv -lavfi palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1 out.mp4

Paul B. Mahol
quelle
Meinten Sie out.gif? Weil das Ausführen dieses Befehls mit out.gifzu folgendem Fehler führteError initializing filter 'palettegen' with args 'stats_mode=single' Error initializing complex filters. Invalid argument
Bluesummers
Dein ffmpeg ist prahistorisch.
Paul B. Mahol
ffmpeg version 2.8.11nicht gut genug?
Bluesummers
Das funktioniert eigentlich in ffmpeg 3.3.3 - akzeptiert. Wie würden Sie es auf einer Reihe von Bildern anstelle eines Videos ausführen?
Bluesummers
1
Durch die Verwendung von Image2 Muxer? ffmpeg.exe -i Wildlife.wmv -lavfi palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1 out%04d.png?
Paul B. Mahol