Archivos para julio, 2011

Vamos con otra entradita, asi me guardo esto en algun sitio de facil acceso :p

Tras un pequeño desastre “tecnologico” el cacharro que usaba para el TDT ha petado y no se como repararlo, y cobran un ojo de la cara y parte del otro por una reparación que estoy seguro no llega a unas míseras 2000 pesetas de las de antes, sin contar la hora del técnico, claro.

A mis manos ha llegado un televisor marca oki, con sintonizador TDT-HD (aunque no es capaz de visualizar HD, si que lleva el sintonizador preparado, a saber pa que xD). conexiones S-VIDEO, HDMI, VGA, RCA y entrada USB y con la “habilidad” de reproducir/grabar directamente al usb. “Habilidad” entre comillas, ya que esa supuesta capacidad, es bastante mas que reducida: solo reproduce AVI’s, y si el contenido de estos viene codificado en XviD para el video y mp3 para el audio.

Dado este caso, me veo en la necesidad de recodificar prácticamente todos los AVI’s que descargo, ya que muchos vienen con DIVX5 y/o con ac35.1, así que leyendo por ahi y preguntando en algunos sitios, me he currado un script en bash/shell para que realice la operación, en dos pasadas, a un br de 1200 para el video y 256 para el audio, consiguiendo una calidad medio decente sin muchos parámetros de configuración.

Sin más, ahi va el script, a falta de cambiar y mejorar, ya que lo hice conforme se me ocurrían cosas y sin pensar demasiado en la estructura y optimizacion, pero funciona, y quita mucho trabajo a la hora de codificar los videos:

================== CORTAR DESDE AQUI ==================

#!/bin/bash

# Conversor arxius rmvb (real media) a avi (xvid/mp3)

# Sortida: Conv.+arxiuoriginal

if [ -z $1 ]; then

echo " "

echo "Ús: any2avi arxiu"

echo "Example: any2avi LaChupaDeChapa.rmvb"

exit 1

else

DADES=`/usr/bin/file "$1"`

VIDEO=$(echo $DADES | cut -d ":" -f 3 | cut -c 2-5)

AUDIO=$(echo $DADES | cut -d ":" -f 4 | cut -c 2-15)

echo "Vídeo: $VIDEO"

echo "Audio: $AUDIO"

if [ "$VIDEO" = "XviD" ]; then

VIDEOPS="copy"

else

VIDEOPS="xvid -xvidencopts pass=2:bitrate=1200:threads=2"

VIDEOPS1="xvid -xvidencopts pass=1"

fi

if [ "$AUDIO" = "MPEG-1 Layer 3" ]; then

AUDIOPS="copy"

else

AUDIOPS="mp3lame -lameopts cbr=256"

fi

if [ "$VIDEOPS" = "$AUDIOPS" ]; then

echo "No es necessita convertir l'arxiu..."

exit 1

else

echo "Codificació vídeo: $VIDEOPS"

echo "Codificació audio: $AUDIOPS"

if [ "$VIDEOPS" != "copy" ]; then

echo "Analitzant arxiu..."

/usr/bin/mencoder "$1" -oac $AUDIOPS -ovc $VIDEOPS1 -o /dev/null

fi

echo "Codificant arxiu..."

/usr/bin/mencoder "$1" -oac $AUDIOPS -ovc $VIDEOPS -o Conv."$1"

exit 0

fi

fi

exit 0

================== CORTAR HASTA AQUI =================

Funciomaniento:

Antes que nada, creamos un archivo en /usr/local/bin/ con el nombre que queramos darle al script, en este caso, lo he llamado any2avi, y pegamos el codigo anterior en el y lo guardamos, dandole permisos de ejecución tras esto:

  1. sudo nano /usr/local/bin/any2avi # crea el archivo (en blanco)
  2. pulsamos [mays]+[Insert] # pegamos el texto previamente copiado de arriba con [ctrl]+[c]
  3. pulsamos [ctrl]+[x] para salir # contestamos que si a la pregunta de si queremos guardar los cambios.
  4. sudo chmod +x /usr/local/bin/any2avi # le damos permisos de ejecución al script

Esto es todo, ya tenemos el script creado, ahora, a ver como funciona… es muy sencillo: para convertir cualquier archivo:

any2avi archivo-de-video-a-convertir

el script comprobará mediante el comando file el tipo de codificación de audio y video que lleva nuestro avi/rmvb, avisandonos de que no es necesario la conversión si obtiene como resultado XviD y Mpeg Layer 3.

Si uno de esos dos parámetros no es el que espera el script, iniciará la conversion, en una pasada si solo tiene que convertir el audio, y en dos pasadas si es el video lo que tiene que ser recodificado.

Una vez acabada la conversión, encontraremos en la misma carpeta un nuevo archivo avi, llamado igual que el original, con la cadena “Conv.” delante, para asi poder distinguirlo. Ahora ya podemos copiarlo/moverlo a nuestro usb, disco, o donde queramos para proceder a su visualizacion sin problemas…

=-=-=-=-=
Powered by Blogilo