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