Wie verwende ich palettegen und paletteuse im selben Befehl mit FFmpeg?

705
Nicke Manarin

Ich versuche FFmpeg, eine Reihe von Png-Werten in ein GIF umzuwandeln, während Sie die Dauer jedes Frames festlegen und eine optimale Palette (und andere Parameter, wie z. B. dither) für einen einzelnen Befehl verwenden.

Ich habe die Seite von FFmpeg gelesen, aber die Beispiele verwenden zwei Befehle und eine temporäre palette.pngDatei.


Hier ist was ich habe, ohne zu benutzen palettegenund paletteuse:

-vsync 2 -safe 0 -f concat -i "concat.txt" -y "example.gif" 

Die concat.txtDatei enthält jeden Frame-Pfad und die Dauer, wie zum Beispiel:

file 'C:\0.png'  duration 0.066  

Es gibt wie erwartet ein GIF mit einer Standardpalette aus.


Also, meine Frage ist, wie kann ich verwenden palettegenund paletteuseauf dem gleichen Befehl, ohne eine temporäre Datei?

0
Oh komm schon. Wie ist diese Frage ein Duplikat der beiden anderen Fragen? Nicke Manarin vor 6 Jahren 0

1 Antwort auf die Frage

1
Nicke Manarin

Okay, es arbeitet jetzt mit diesem Befehl aus einer anderen SuperUser-Antwort :

-vsync 2 -safe 0 -f concat -i "concat.txt"  -lavfi palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1 -y "example.gif"