Ipsissima verba trujo:
> ID_VIDEO_FPS=14,987
> �es muy exotico?

Sim�n, bastante.  �As� sale, con una coma?
�Ser�n quince o quince mil?

> >  
> > http://zebra.fh-weingarten.de/~maxi/html/mplayer-users/2002-07/msg01161.html
> me da no disponible

Curioso.  Acabo de probar el URI, y desde aqu� baja bien.

> Mi idea es crear unb scriptpara pasarlo cadavez que descarge fotos
> de la camara (que captura peque�as secuencias de video) y me las
> convierta automaticamente antes de grabar el cd, por heso no he
> preguntado por "factorias de cine" como lvs o cinerela

Ah, bien.  Una disculpa, en todo caso, por si sentiste que te trat�
con condescendencia.  A veces tiendo a asumir la microsoftizaci�n por
defecto en la gente...  :-(

Para generar MPEG apropiado para VCD PAL, el proceso del video es mas
o menos as�:

 i.   Se extrae del video original un stream de video en formato
      YUV4MPEG
 ii.  Se ajusta el tama�o de los cuadros del stream al tama�o adecuado
      para VCD PAL (352x288), si es necesario
 iii. Se ajusta el framerate a 25 fps, si es necesario
 iv.  Se comprime como video MPEG-1 usando par�metros para VCD
      (detalles abajo, y en el manual de mpeg2enc)

El proceso del audio es:

 v.   Se extrae del MOV un stream PCM (WAV)
 vi.  Se ajusta el samplerate a 44100 samples/s, si es necesario
 vii. Se comprime como audio MPEG-1 layer 2 (MP2)

Teniendo el video y audio comprimidos, se combinan (se "multiplexan")
en lo que se llama un "program/system stream".  Este stream es el
video VCD final, que le puedes dar de comer a vcdimager para que �l se
lo de a cdrdao, o lo que sea.

Para SVCD, el proceso es similar, excepto porque el tama�o de los
cuadros es distinto (480x576) y la compresi�n del video es MPEG-2.

Siguen ejemplos, muy parecidos a los de hace unos meses.  Los streams
YUV4MPEG y PCM son video/audio *sin* compresi�n, y pueden crecer
much�simo.  Por eso tanto baile con FIFOs: para no tener que
almacenarlos en el disco.

------------------------------------------------------------------------
cd /tmp
mkfifo stream.yuv
mkfifo audiodump.wav

# Proceso del video.  Esto asume que no hay necesidad de mover el
# "aspect ratio", y el video original est� a quince fps.  Quiz�
# deber�as usar -s 15000:1001 o incluso 14987:1000, no s�.  No creo
# que importe, a menos que el video sea muy largo.

cat stream.yuv | yuvscaler -n p -M BICUBIC -O VCD | \
 yuvfps -s 15:1 -r 25:1 | \
 mpeg2enc -a 2 -n p -F 3 -4 2 -2 1 -B 250 -s -f 1 -o out.m1v &

# Proceso del audio.  Si no tienes toolame, puedes usar mp2enc,
# incluido con mjpegtools.

cat audiodump.wav | sox -t wav - -t wav -r 44100 - resample -ql |\
 toolame -s 44.1 -b 224 -m s -p 2 /dev/stdin out.mp2 &

# En este punto, las dos pipelines anteriores est�n bloqueadas
# esperando datos en los FIFOs.  Esto arranca la conversion:

mplayer -vo yuv4mpeg -ao pcm fichero.mov

# Finalmente, cuando la conversion termina, combinas el video con
# el audio.  Usa -O n si el audio y el video salen defasados.

mplex -f 1 -o out.mpg out.m1v out.mp2

# Si todo marcha bien, todo �sto ya es basura:

rm stream.yuv audiodump.wav out.m1v out.mp2

------------------------------------------------------------------------

Eso fue casi un script.  Falta solo comprobar errores y parametrizar
cosas.

Nota que estoy usando par�metros para calidad alta (l�ase, eso va a
correr lento).  Cambia la cuantizaci�n de mpeg2enc y el modo de
resample de sox para agilizar las cosas.

Para SVCD, cambia los par�metros de yuvscaler y mpeg2enc como indican
los manuales (-O SVCD / -f 4).

Si el framerate te da problemas (si no eran quince fps, despu�s de
todo), puedes intentar generar un AVI temporal con mencoder...

 mencoder -ovc copy -nosound -ofps 25 -o temp.avi

...y usarlo como origen de video para mplayer, brinc�ndote el paso por
yuvfps en el pipeline.  El audio lo puedes tomar del MOV original.
Nota que "-ovc copy" a veces mete ruido.  Si eso te pasa, entonces, si
tienes mucho espacio en disco, usa "-ovc rawrgb".  De lo contrario,
"-ovc lavc -lavcopts vcodec=mjpeg:vhq:vqscale=2" (esto �ltimo causa
una recompresi�n que degradar� la calidad de tu video; trata de
evitarlo).

Espero que algo de esto te sirva.

 -CR

Responder a