La informática avanza. Hay montones de gente trabajando en mejorar las cosas y a medida que el tiempo va pasando van saliendo nuevas mejoras, funcionalidades, inventos, etc.
Un ejemplo: el formato de codificacion x264, con un bitrate bastante bajo obtienes una calidad de video bastante aceptable.
Me puse a recodificar los videos para pasarlo al formato x264 y vi que los videos ocupan un 25-30% menos a una calidad parecida a mi vista de cegato (pero ¡oye!, ¡es la que importa!). Bueno, mis pequeños discos duros de 500Gb a punto de quedar llenitos les podria meter 150-200 MB mas de cositas gracias al espacio liberado por la recodificación.
Problema: como recodificar miles de videos sin tener que ir uno a uno... bash script :D. Aquí va:
+-----------------------------------------------------------------------------------+
+-----------------------------------------------------------------------------------+
ejemplo:
h264.sh 500 v1_feo.avi v1_bonito.avi 0 v2_feo.avi v2_bonito.avi 704:396 ...
Este script genera otro script (run.sh) con la lista de secuencias para recomprimir los videos usando mencoder. Así si tienes que chapar el ordenador modificas el run.sh borrando los videos ya recodificados y lo ejecutas de nuevo para que continue con el resto.
y yata
Para usarlo hay que modificar la variable $OUTDIR y seguramente las $AUDIOOPTS ya que trato muy mal al audio (a mp3 a un bitrate constante de 128Kbps)
Un ejemplo: el formato de codificacion x264, con un bitrate bastante bajo obtienes una calidad de video bastante aceptable.
Me puse a recodificar los videos para pasarlo al formato x264 y vi que los videos ocupan un 25-30% menos a una calidad parecida a mi vista de cegato (pero ¡oye!, ¡es la que importa!). Bueno, mis pequeños discos duros de 500Gb a punto de quedar llenitos les podria meter 150-200 MB mas de cositas gracias al espacio liberado por la recodificación.
Problema: como recodificar miles de videos sin tener que ir uno a uno... bash script :D. Aquí va:
+-----------------------------------------------------------------------------------+
#!/bin/bash
#################################################
##
## usage:
## h264.sh <bitrate> <infile1> <outfile1> <scale> <...>
##
## <scale> = 0 => no scale
## = xxx:xxx => valor de escala
##
#################################################
AUDIOOPTS="cbr:br=128:mode=1"
VIDEOOPTS="subq=6:8x8dct:frameref=4:partitions=all:bframes=3:b_pyramid=normal:weight_b:threads=auto:me=umh:cabac"
BITRATE=$1
SCRIPTFILE=run.sh
OUTDIR="/home/beavies"
rm -rf $SCRIPTFILE
#1er parametro es el bitrate
shift
while (( $# ))
do
INFILE=$1
shift
OUTFILE=$1
shift
SCALE=$1
shift
if [ "$SCALE" == "0" ]
then
SCALEOPTS=""
else
SCALEOPTS="-vf scale=$SCALE"
fi
#pas 1
echo mencoder \""$INFILE"\" -forceidx -oac mp3lame -lameopts "$AUDIOOPTS" -ovc x264 -x264encopts "$VIDEOOPTS:pass=1" -o /dev/null "$SCALEOPTS" >> $SCRIPTFILE
#pas 2
echo mencoder \""$INFILE"\" -forceidx -oac mp3lame -lameopts "$AUDIOOPTS" -ovc x264 -x264encopts "$VIDEOOPTS:pass=2:bitrate=$BITRATE" -o "$OUTDIR/$OUTFILE" "$SCALEOPTS" >> $SCRIPTFILE
#neteja
echo rm -rf divx2pass.log.mbtree divx2pass.log >> $SCRIPTFILE
done
chmod +x $SCRIPTFILE
./${SCRIPTFILE}
+-----------------------------------------------------------------------------------+
ejemplo:
h264.sh 500 v1_feo.avi v1_bonito.avi 0 v2_feo.avi v2_bonito.avi 704:396 ...
Este script genera otro script (run.sh) con la lista de secuencias para recomprimir los videos usando mencoder. Así si tienes que chapar el ordenador modificas el run.sh borrando los videos ya recodificados y lo ejecutas de nuevo para que continue con el resto.
y yata
Para usarlo hay que modificar la variable $OUTDIR y seguramente las $AUDIOOPTS ya que trato muy mal al audio (a mp3 a un bitrate constante de 128Kbps)
Comentarios