¿Puede ImageMagick hacer miniaturas de video?

Respuestas:

18

Puede extraer miniaturas de los videos con ImageMagick de esta manera (a partir de aquí , otra respuesta afirma que ImageMagick usa ffmpeg 'bajo el capó', por lo que no sé si esto será más rápido que solo usar ffmpeg):

convert input.mp4[100] thumbnail.png

el [100]le dice a ImageMagick que tome el marco número 100 input.mp4. Lo probé en una transmisión de video H.264 en un contenedor MP4. Obviamente, puede usar las opciones de ImageMagick que desee, incluido el desentrelazado como se describe en su enlace.


Sin embargo, ImageMagick es realmente para tratar con imágenes individuales; para video, solo debes usar ffmpeg. Obviamente, hay cierta superposición aquí, ya que se trata de un cuadro individual, pero yo diría que el desentrelazado es más una tarea de procesamiento de video.

Debe usar el filtro yadif para desentrelazar. Puede agregarlo a su línea existente de esta manera:

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

cuando trabajo con filtros, prefiero usar el filtro de escala en lugar de -s:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -filter:v 'yadif,scale=420:270' output.png
maldad
fuente
Tal vez estoy malinterpretando la pregunta, pero el OP específicamente preguntó cómo lograr lo que hace el ffmpegcomando con ImageMagick. No tengo idea si es posible o no ...
slhck
@slhck Interpreté el problema real del OP como 'obtener miniaturas bonitas del video entrelazado', y asumí que solo estaban tratando de usar la herramienta incorrecta para el trabajo (es decir, obtener la miniatura con ffmpeg -> desentrelazar con ImageMagick). Sin embargo, si alguien publicara una forma de hacerlo con ImageMagick, tendrían mi voto a favor.
evilsoup
@evilsoup gracias por tu respuesta. Subí esta pregunta porque ffmpeg toma demasiado tiempo para hacer una miniatura del video. Y escuché en alguna parte que si uso imagemagick, puedo hacer esto más rápido. ¿Es cierto y posible? También lo busqué, pero no hay forma de tomar una miniatura del video con solo imagemagick. Disculpa mi pobre ingles.
Juneyoung Oh,
@JuneyoungOh es posible tomar miniaturas con ImageMagick, vea la actualización de mi respuesta. Sin embargo, dudo que sea más rápido, ya que parece (por mi búsqueda en Google superficial) que ImageMagick usa ffmpeg como back-end para lidiar con videos.
evilsoup
@evilsoup Oh, gracias. Pensé que era imposible. Ahora puedo comprobar cuál es más rápido: D muchas gracias.
Juneyoung Oh,
6

ImageMagick se despliega para ffmpeg con este comando:

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

Entonces la respuesta corta es "no" (ya que no lo hace por sí mismo).

cnd
fuente