On Wed, 2003-03-26 at 04:41, Pablo Gim�nez Pizarro wrote:
> A ver tengo el siguiente problema:
> A partir de una secuencia de frames, por ejemplo: seq.0001.tif, 
> seq.0002.tif, etc ..., y un fichero de audio, necesito crear una 
> secuencia de video por ejemplo en formato divx reproducible con mplayer 
> o similar.
> sabe alguien de alguna aplicaci�n o librer�a que haga esto???

S�, hay una variedad de herramientas que puedes usar.  Por ah� te
mencionaron mencoder, que en efecto es la soluci�n m�s simple. 
Alternativamente, puedes usar mjpegtools, que lo obtienes del mismo apt
source que mplayer (deb http://marillat.free.fr/ stable main).

�sto es m�s complicado, pero en mi opini�n da mejores resultados. 
Adem�s, as� puedes hacer MPEGs.  Por ejemplo, para poner tu animaci�n en
VCD y verla en tu reproductor de DVD.

En esencia: se trata de convertir todas tus im�genes a YUV4MPEG2 (lee
ppmtoy4m(1)).  Luego puedes usar usar yuv2lav (para editar con glav y
posteriormente generar QuickTime), o yuv2divx (para codificar en DivX),
o mpeg2enc (para MPEG I/II, VCD, SVCD).

Sigue un ejemplo r�pido que convierte una secuencia de TIFFs en un MPEG
apropiado para VCD (NTSC, ojo si est�s del otro lado del charco).  Como
VCD requiere un tama�o de imagen fijo, los TIFFs ya deben estar
escalados a 352x240; de lo contrario, necesitas meter una llamada a
yuvscaler en el pipeline ENCODER.  Necesitas instalar netpbm (por
tifftopnm).

-----------------------------------------------------------------------
#!/bin/sh

DIR="~/images"
FORMATO="img%05d.tif"
PRIMERFRAME=1
ULTIMOFRAME=5000
FIFO="/tmp/video"
SALIDA="/tmp/out.m1v"
ENCODER="ppmtoy4m < $FIFO | \
 mpeg2enc -a 2 -n n -F 4 -s -4 1 -2 1 -f 1 -o $SALIDA"

mkfifo $FIFO
sh -c "$ENCODER" &
3>$FIFO

FRAME=PRIMERFRAME
while [ $FRAME -lt $ULTIMOFRAME ] ; do
  IMG=$(printf "$FORMATO" $FRAME)
  echo "Procesando frame $IMG"
  tifftopnm "$DIR/$IMG" >&3
  FRAME=$(($FRAME+1))
done

rm $FIFO
echo "Conversion completa (espera a que mpeg2enc termine)"
-----------------------------------------------------------------------

El script lo acabo de teclear, as� que no te garantizo que funcione.
Pero, si no funciona, ser� s�lo un error de dedo f�cil de corregir --yo
uso este tipo de cosas todo el tiempo.

El audio, en este caso, lo convertir�as de WAV a MPEG audio (layer 2,
MP2) con toolame, y lo agregar�as al MPEG generado por el script
anterior usando mplex.  Nota que VCD tambi�n restringe la frecuencia de
muestreo (44.1KHz) y el bitrate (224Kb/s); esos son detalles que tienes
que cuidar al generar el WAV y al covertirlo a MP2.  Usa sox, si tienes
que resamplear.

 -CR


Responder a