ImageMagick può creare miniature dai video?


Risposte:


18

Puoi estrarre le miniature dai video con ImageMagick in questo modo ( da qui - un'altra risposta afferma che ImageMagick usa ffmpeg 'under the hood', quindi non so se questo sarà effettivamente più veloce del semplice utilizzo di ffmpeg):

convert input.mp4[100] thumbnail.png

la [100]dice ImageMagick per prendere il telaio 100 da input.mp4. L'ho testato su un flusso video H.264 in un contenitore MP4. Ovviamente puoi usare qualunque opzione ImageMagick desideri, incluso il deinterlacciamento come descritto nel tuo link.


ImageMagick è davvero per gestire singole immagini; per i video, dovresti semplicemente usare ffmpeg. Ovviamente c'è qualche sovrapposizione qui, dato che hai a che fare con un singolo fotogramma, ma direi che il deinterlacciamento è più un compito di elaborazione video.

Dovresti usare il filtro yadif per il deinterlacciamento. Puoi aggiungerlo così alla tua linea esistente:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -s 420x270 -filter:v 'yadif' output.png

quando lavoro con i filtri, preferisco usare il filtro di scala piuttosto che -s:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -filter:v 'yadif,scale=420:270' output.png

Forse sto fraintendendo la domanda, ma l'OP ha specificamente chiesto come ottenere ciò che fa il ffmpegcomando con ImageMagick. Non ho idea se sia possibile o no ...
Slhck,

@slhck Ho interpretato il problema reale dell'OP come "ottenere miniature di bell'aspetto da video interlacciati" e ho pensato che stessero solo cercando di usare lo strumento sbagliato per il lavoro (cioè ottenere l'anteprima con ffmpeg -> deinterlacciare con ImageMagick). Se qualcuno dovesse pubblicare un modo per farlo con ImageMagick, avrebbe il mio voto.
evilsoup,

@evilsoup grazie per la tua risposta. Ho caricato questa domanda perché ffmpeg impiega troppo tempo per creare un'anteprima dal video. E ho sentito da qualche parte se uso imagemagick, posso renderlo più veloce. È vero e possibile? Ho anche cercato, ma non c'è modo di prendere l'anteprima dal video con solo imagemagick. Scusa per il mio pessimo inglese.
Juneyoung Oh,

@JuneyoungOh è davvero possibile scattare anteprime con ImageMagick, vedi l'aggiornamento alla mia risposta. Dubito che sarà più veloce, dal momento che sembra (dal mio google superficiale) che ImageMagick usi ffmpeg come back-end per gestire i video.
evilsoup,

@evilsoup Oh grazie. Ho pensato che fosse impossibile. Ora posso verificare quale è più veloce: molte grazie.
Juneyoung Oh,

6

ImageMagick esegue lo shell su ffmpeg con questo comando:

ffmpeg -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z"

Quindi la risposta breve è "no" (poiché non lo fa da sola).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.