videoedicion.org (v9)

Imagen, Audio y Vídeo Digital => Compresión y formatos de vídeo => Mensaje iniciado por: paquechu en 10 de Febrero de 2011, 21:28:14

Título: codificar imagenes con calidad utilizando ffmpeg
Publicado por: paquechu en 10 de Febrero de 2011, 21:28:14
Muy buenas,
Llevo ya mas de una semana rompiendome la cabeza con este tema y no consigo sacarle punta.
Estoy intentando hacer un video que consiste en una transicion fusionando una imagen en negro con otra imagen.
La calidad de todas las imagenes que quiero utilizar aparentemente es buena, ya que una por una (unas 100) las abro y a simple vista la calidad es aceptable.
con la utilidad identify de ImageMagick os pongo el estracto de una de estas imagenes:
identify transi_64.jpg
transi_64.jpg JPEG 4000x3000 4000x3000+0+0 8-bit DirectClass 1MB 0.000u 0:00.000


Hasta aqui creo que va todo bien. El problema es cuando intento codificar las imagenes para que el video resultante tenga la misma calidad que las fotos. Utilizo ffmpeg.

Intento que el video esté codificado con una duración total de 4 segundos y hago algo como esto entre otras muchas pruebas:

ffmpeg -f image2 -i tmp/transi_%d.jpg -t 4 -f avi  salida.avi

El caso es que el resultado (salida.avi) como comentaba no consigo que tenga la misma calidad que las fotos de origen.

Me podeis orientar?

Muchas gracias.
Un saludo
Título: Re:codificar imagenes con calidad utilizando ffmpeg
Publicado por: nij en 18 de Febrero de 2011, 13:01:40
¿Que tipo, codec, tamaño de cuadro,  calidad de compresión, etc. tiene el AVI obtenido?
En relación con lo anterior, no creo que estés realizando un vídeo de 4000x3000 como el tamaño de las fotos. Las imágenes de un vídeo serán de muchísima menos calidad que las fotos originales de 4000x3000.
Saludos.
Título: Re:codificar imagenes con calidad utilizando ffmpeg
Publicado por: paquechu en 20 de Febrero de 2011, 13:48:55
Hola Nij,
El comando arroja esta salida:

iMac-de-fgg18l:pru fgg18l$ ffmpeg -i salida.avi
FFmpeg version git-N-27626-gd6705a2, Copyright (c) 2000-2011 the FFmpeg developers
  built on Feb 11 2011 20:03:52 with gcc 4.2.1 (Apple Inc. build 5646)
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-x11grab
  libavutil    50. 37. 0 / 50. 37. 0
  libavcore     0. 16. 1 /  0. 16. 1
  libavcodec   52.112. 0 / 52.112. 0
  libavformat  52. 99. 0 / 52. 99. 0
  libavdevice  52.  2. 3 / 52.  2. 3
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, avi, from 'salida.avi':
  Metadata:
    encoder         : Lavf52.99.0
  Duration: 00:00:04.00, start: 0.000000, bitrate: 520 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 720x576 [PAR 1:1 DAR 5:4], 25 tbr, 25 tbn, 25 tbc
At least one output file must be specified


Gracias por tu interes Nij,
Saludos.
Título: Re:codificar imagenes con calidad utilizando ffmpeg
Publicado por: paquechu en 22 de Febrero de 2011, 12:56:49
Hola de nuevo,
Bueno, pues creo que ya está resuelto.
Hay que utilizar el parámetro -target
Con -target dvd ya se obtiene el resultado deseado.
Gracias.
Un saludo
Título: Re:codificar imagenes con calidad utilizando ffmpeg
Publicado por: nij en 22 de Febrero de 2011, 13:32:01
Gracias por publicar la solución.
Si analizas el nuevo vídeo, quizás puedas obtener información de los parámetros de compresión que han cambiado de uno a otro.
Saludos.