
Bildschirmfoto:Filmstreifen
Ich habe es versuchtffmpeg -i video.mkv -vf fps=1 out%d.png
Aber es werden Bilder einzeln generiert. Ich brauche alle Miniaturansichten in einem Bild. Wie im Screenshot oben.
Antwort1
ffmpeg -i input -filter_complex \
"select='not(mod(n,30))',scale=120:-1,tile=layout=3x2" \
-vframes 1 -q:v 2 output.jpg
- wählenein Frame alle 30 Sekunden
- Skalajeden Rahmen auf eine kleinere Größe (alternativ können Sie nach dem Kacheln skalieren)
- FlieseJeder Frame wird zu einem Bild. Die Standardrastergröße beträgt 6 x 5, Sie müssen sie also möglicherweise anpassen, je
layout
nachdem, wie viele Bilder Sie anzeigen möchten.
Der Vorgang kann je nach Dauer und Format Ihrer Eingabe einige Zeit in Anspruch nehmen.
Antwort2
Sie können etwas wie verwenden
ffmpeg -i video.mkv -filter:v "select=not(mod(n\,10)),setpts=N/((25)*TB)" -qscale:v 2 frame%03d.jpg
- die
select
Steuerung, welche Frames Sie erfassen (in diesem Fall eines von zehn) - die
setps
Bildfrequenz wird gesteuert und hängt von der Quelle ab -25
für PAL- oder30000/1001
NTSC-Video qscale
steuert die Qualität (Quantisierungsskala) der Ausgabebilder von 2 (am besten) bis 31 (am schlechtesten)
habe gerade deine Bearbeitung oben bemerkt, wenn sie dir die Frames liefert, die du verwenden möchtest, sollte das als Ausgangspunkt gut sein
Sie müssen dann die Bilder mit einem Tool wieBildMagick
montage -background "transparent" -depth 8 -type TrueColorMatte frame??.jpg \
-geometry 50x50 -tile 10x10 -matte -transparent "transparent" \
-type TrueColorMatte -depth 8 allframes.jpg