Resultados 1 al 1 de 1

DivX a CVCD en GNU/Linux

Esta es una discusión para el tema DivX a CVCD en GNU/Linux en el foro Manuales Multimedia, bajo la categoría Multimedia; Yo añado un script para linux k combierte un divx a cvcd. Da lo mismo el tamaño de la pelicula, el script hara k coja en un cd de 80 ...
Página: 1


  1. #1
    ..sR. aDiKtO..
    Guest

    DivX a CVCD en GNU/Linux

    Yo añado un script para linux k combierte un divx a cvcd. Da lo mismo el tamaño de la pelicula, el script hara k coja en un cd de 80 minutos, con la calidad maxima posible. El script esta obtenido de: Linux Media yo solo le he añadido un par de cosas, la comprobacion si estan los programas para hacer la conversion y k alfinal tengas la posibilidad de poderlo grabarlo en cd. El tiempo aproximado en hacer la conversion y la grabacion es de 2 horas en un XP2600+.

    #!/bin/bash



    # Este script pasa un Divx a CVCD. Para los archivos temporales se

    # necesita al menos 4.5 Gigas (m1v y mpa, los .mpg y los .bin)



    DIR=`pwd`

    TEMPFOLDER=/tmp/divx2vcd-$RANDOM

    TEMP_TEMPLATE=/tmp/tcmplex-template-$RANDOM



    # CDSIZE Values. VCDs are write in Mode 2, so the filesizes are the

    # the following:

    # * *74 Min/650Mb ---> CDSIZE=735

    # *80 Min/700Mb ---> CDSIZE=795

    CDSIZE=735

    QUANTUM=5

    # Maxrate ahora es automatico

    #MAXRATE=900

    AUDIORATE=128



    if [ $# -eq 0 ]; then

    *echo "Usage:"

    *echo " * * * *divx2cvcd <divxfile>"

    *exit 1

    fi



    # Comprobacion si tienes los programas instalados

    if mplayer &> /dev/null

    then

    *echo -e "n****** MPlayer instalado"

    *if transcode -h &>/dev/null

    *then

    * * *echo -e "n****** Transcode instalado"

    * * * *if vcdimager --help &>/dev/null

    * * * *then

    * * * * * *echo -e "n****** VCDImager instalado"

    * * *if tcmplex --help &>/dev/null

    * * * * * * *then

    * * * * * * *echo -e "n****** MJPEG Tools instaladon"

    * * * * * *else

    * * * * * * *echo -e "nError: MJPEG Tools no instalado"

    * * * * *echo -e "Puedes encontrar el programa en: http://mjpeg.sourceforge.net/"

    * * * * * * *exit 1

    * * * * * *fi

    * * * *else

    * * * * * *echo -e "nError: VCDImager no instalado"

    * * *echo -e "Puedes encontrar el programa en: http://www.vcdimager.org/"

    * * * * * *exit 1

    * * * *fi

    *else

    * * *echo -e "nError: Transcode no instalado"

    * * *echo -e "Puedes encontrar el programa en: http://www.theorie.physik.uni-goettingen.d...ranscode/"

    * * *exit 1

    *fi

    else

    *echo -e "nError: MPlayer no instalado"

    *echo -e "Puedes encontrar el programa en: http://www.mplayerhq.hu/homepage/design6/d...load.html"

    *exit 1

    fi



    FILE=$1

    if [ "$1" == "`basename "$1"`" ]; then

    *FILE="$DIR/$1"

    fi



    mkdir $TEMPFOLDER

    cd $TEMPFOLDER



    tcprobe -i "$FILE" > $TEMPFOLDER/info



    WIDTH=`grep '[avilib] V:' $TEMPFOLDER/info |

    *perl -e ' $line=<stdin>; $line =~ /width=(d+)/ ; *print $1' `

    HEIGHT=`grep '[avilib] V:' $TEMPFOLDER/info |

    *perl -e ' $line=<stdin>; $line =~ /height=(d+)/ ; *print $1' `

    FPS=`grep '[avilib] V:' $TEMPFOLDER/info |

    *perl -e ' $line=<stdin>; $line =~ /V: (.+?) fps/ ; *print $1' `

    FPS_1=`echo "scale=1; $FPS/1"| bc -l`

    FRAMES=`grep '[avilib] V:' $TEMPFOLDER/info |

    *perl -e ' $line=<stdin>; $line =~ /frames=(d+)/ ; *print $1' `

    SEGUNDOS_TOTAL=`echo "scale=0; ($FRAMES / $FPS)"| bc -l`

    HORAS=`echo "scale=0; ($SEGUNDOS_TOTAL / 3600)"| bc -l`

    MINUTOS=`echo "scale=0; (($SEGUNDOS_TOTAL -

    *3600 * $HORAS)/60)"| bc -l`

    SEGUNDOS=`echo "scale=0; ($SEGUNDOS_TOTAL % 60)"| bc -l`



    VIDEO_RATE=`echo "scale=0;(($CDSIZE * 1024 -

    *($AUDIORATE/8*$SEGUNDOS_TOTAL))*8 / $SEGUNDOS_TOTAL)"| bc -l`



    MAXRATE=$VIDEO_RATE

    [ $MAXRATE -gt 2000 ] && MAXRATE=2000



    echo "*************** FILE INFO ***************"

    echo "Frame Size: ${WIDTH}x${HEIGHT} *- *FPS: $FPS"

    echo "Length: $FRAMES *- *Seconds: $SEGUNDOS_TOTAL"

    echo "$HORAS hours, $MINUTOS minutes, $SEGUNDOS seconds"

    echo "Recommended averagge video bitrate: $VIDEO_RATE"

    echo "Using max video bitrate: $MAXRATE"



    if [ $FPS_1 == "29.9" -o $FPS_1 == "30" -o *$FPS_1 == "23.9" ]; then

    *WIDTH_OUT=352

    *HEIGHT_OUT=240

    else

    *WIDTH_OUT=352

    *HEIGHT_OUT=288

    fi



    echo "Video Output: ${WIDTH_OUT}x${HEIGHT_OUT}"



    # Ahora calculamos los valores pa los bordes.



    ANCHO_1_1_OUT=`echo "($HEIGHT_OUT * 4/3)"| bc -l`

    ALTO_OUT=`echo "$HEIGHT / ($WIDTH / $ANCHO_1_1_OUT)" | bc -l`

    # Redondeamos

    ALTO_OUT=`echo "scale=0; $ALTO_OUT/1"| bc -l`

    # Nos aseguramos de que sea par

    ALTO_OUT=`echo "scale=0; $ALTO_OUT+$ALTO_OUT%2" | bc -l`



    BORDE=`echo "scale=0; ($HEIGHT_OUT-$ALTO_OUT)/2"| bc -l`



    echo "alto sin bordes: $ALTO_OUT, con borde: $BORDE"



    # Borramos Pelicula.m1v y Pelicula.mpa

    rm -f Pelicula.m1v Pelicula.mpa



    cd $TEMPFOLDER

    echo "transcode -i "$FILE" -V -x mplayer -y mpeg2enc,mp2enc

    *-F 2,"-q $QUANTUM" -Z ${WIDTH_OUT}x$ALTO_OUT -Y -$BORDE,0,-$BORDE,0

    *--export_asr 2 -E 44100 *-b $AUDIORATE -o $DIR/Pelicula -w $MAXRATE"

    transcode -i "$FILE" -V -x mplayer -y mpeg2enc,mp2enc

    *-F 2,"-q $QUANTUM" -Z ${WIDTH_OUT}x$ALTO_OUT -Y -$BORDE,0,-$BORDE,0

    *--export_asr 2 -E 44100 *-b $AUDIORATE -o $DIR/Pelicula -w $MAXRATE



    RETVAL=$?

    if [ $RETVAL -ne 0 ]; then

    *echo -e "n**** ERROR during transcoding. Error value $RETVAL"

    *exit 1

    fi



    rm $TEMPFOLDER/*

    rmdir $TEMPFOLDER



    cd $DIR



    # Si no hay Pelicula.m1v y Pelicula.mpa salir

    [ -f Pelicula.m1v -a -f Pelicula.mpa ] || exit 1



    rm -f Pelicula*.mpg



    #Ahora multiplexamos el mpg

    echo "maxFileSize = $CDSIZE" > $TEMP_TEMPLATE

    tcmplex -i Pelicula.m1v -p Pelicula.mpa -o Pelicula.mpg

    *-m 1 -F $TEMP_TEMPLATE



    rm $TEMP_TEMPLATE



    [ -n "`ls Pelicula*mpg 2> /dev/null`" ] || exit 1



    # Y creamos las imagenes...

    for i in `ls Pelicula*.mpg`; do

    *vcdimager -t vcd2 -c $i.cue -b $i.bin $i

    *RETVAL=$?

    *if [ $RETVAL -ne 0 ]; then

    * * *echo -e "n**** ERROR creating VCD images. Error value $RETVAL"

    * * *exit 1

    *fi

    done



    echo -e "n****** CVCD creation finished successfully"



    # Ahora es el momento de grabarlo a CD

    # cambia el driver generic-mmc por el driver k utilice tu grabadora

    # ante la duda dejalo como esta

    # y cambia el bus de 0,0,0 a el k utiliceis

    # ante la duda dejalo como esta



    echo -e "n****** Ahora es el momento de grabarlo en CD"

    for i in `ls Pelicula*.cue`; do

    *echo -e "n * * *Introduzca un cd virgen y pulsa ENTER"

    *read

    *cdrdao write --eject --driver generic-mmc --device 0,0,0 $i

    done
    SALU2</stdin></stdin></stdin></stdin></divxfile>
    Última edición por 888; 14/12/2009 a las 20:35

     
     

Temas similares

  1. Grabar Divx y No Divx en un DVD ¿es posible?
    Por jac2 en el foro Multimedia
    Respuestas: 16
    Último mensaje: 31/01/2006, 17:00
  2. De DivX a SVCD en GNU/Linux
    Por LordSauron en el foro Manuales Multimedia
    Respuestas: 0
    Último mensaje: 07/06/2005, 00:23
  3. De DivX a VCD en GNU/Linux
    Por LordSauron en el foro Manuales Multimedia
    Respuestas: 0
    Último mensaje: 07/06/2005, 00:21
  4. Grabar CVCD
    Por ldibene en el foro Multimedia
    Respuestas: 1
    Último mensaje: 27/12/2004, 01:12

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •