jueves, 4 de enero de 2007

Interfaces Graficas con scripts



Seguro que muchas veces hemos pensado en crear alguna interfaz para nuestros scripts, puesto que a veces , bien para ripear, para algunos scripts de pasar a mp3 etc, (o para las novias).

Pues precisamente existe una utilidad basada en gtk llamada Xdialog la cual tiene miles de opciones, pero un simple ejemplo puede ser el siguiente:

Xdialog --msgbox "mierda" 0 0

donde los parametros son los siguientes:

Xdialog --opcion "mensaje" with heigth

Dependiendo del option, tendras mas opciones despues del with en este caso es la longitud 0 seria la minima.

si haceis la prueba vereis que sale una caja de texto ajustada al texto.

tambien se pueden poner cajas de texto, botones, combos y un largo etc, e incluso se pueden poner
cajas de usuario y password:

Xdialog --password --2inputsbox "cuidado" 0 0 "usuario" "" "password" "
en este caso, si pulsamos ok, nos devolvera el usuario/password y si pulsamos cancelar, no nos devolvera nada.

los parametros son:

Xdialog --subtipo --tipo titulo with height tituloventana1 valorventana1 tituloventana2 valorventana2

bueno y nos oss imaginais la cantidad de opciones que existen.


Para instalarlo, ya sabeis:

apt-get install Xdialog. y con un sudo para los ubunteros.

os dejo el link de la referencia para que os incheis. ala.

http://thgodef.nerim.net/xdialog/doc/index.html

Un Saludo.

sábado, 23 de diciembre de 2006

Cómo hacer funcionar la webcam EyeToy de la PS2 en Ubuntu:

Supongo que también funcionará para Debian, estos son los pasos a seguir.

Lo primero es instalar los headers estos del kernel:
sudo apt-get install build-essential linux-headers-`uname -r`

Esto nos bajará algunas cosillas para instalar los drivers y las cabeceras de nuestro kernel.

Lo siguiente es bajarnos el driver, nos aseguramos de que estamos en nuestra carpeta personal y ponemos:
wget http://www.rastageeks.org/downloads/ov51x-jpeg/ov51x-jpeg-0.5.4.tar.gz

Ahora lo descomprimimos...
tar -xvf ov51x-jpeg-0.5.4.tar.gz
cd ov51x-jpeg-0.5.4


Esto nos hará entrar en el directorio del driver recién descomprimido, lo siguiente es instalar los drivers:
sudo make install
sudo modprobe videodev
sudo modprobe i2c_core
sudo insmod /lib/modules/`uname -r`/extra/ov51x.ko
sudo insmod /lib/modules/`uname -r`/extra/ov519_decomp.ko

Hay que poner una línea cada vez!
Por último para ver si funciona podemos usar un programilla como el xawTV para ver si funciona:
sudo apt-get install xawtv

El manual este es una traducción muy libre del artículo: http://smorgasbord.net/howto_get_eyetoy_webcam_working_for_ubuntu

jueves, 14 de diciembre de 2006

Metodo alternativo para extraer substítulos de DVDs.


Sí, lo sé, esto ya estaba dicho en otro post y ya entonces era inútil de cojones (ahora tienes que estar sumando mentalmente todos los bits que has desperdiciado de ancho de banda cargando este puto artículo en lugar de estar viendo porno ^_^)

El caso es utilizando el método del mencoder he tenido problemas de sincronización con algunos ripeos. De todas formas sigo utilizándolo porque me parece más sencillo y sólo uso el otro método cuando no me queda otra.

Método tradicional:

Para saber qué subtitulos hay disponibles en el DVD
mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -vo null -ao null -frames 0 -v 2>&1 | grep sid

Extraer subtítulos -sid 0, -sid 1, -sid 2...
mencoder dvd://1 -dvd-device /dev/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -vobsubout subtitle_name -vobsuboutindex 0 -sid 0 -o frameno.avi -ovc frameno -nosound


Método alternativo:

Primero buscamos el valor del parámetro ID_SUBTITLE_ID en la salida del siguiente comando.

mplayer -dvd-device /mnt/musica/Commited/FREAKS_DVD/ \
dvd://1 -identify -vo null -frames 0 -v 2>&1| \
sed -n -e '/ID_SUBTITLE_ID/{1!p;g;$!N;p;D;}' -e h

ID_SUBTITLE_ID=0
subtítulo ( sid ): 0 idioma: en
ID_SID_0_LANG=en
ID_SUBTITLE_ID=4
subtítulo ( sid ): 1 idioma: es
ID_SID_1_LANG=es


Sumamos a 0x20 el número que hayamos visto (en este caso 0x20 + 4) y extraemos los subs
tccat -i /mnt/musica/Commited/FREAKS_DVD/ -T 1 -L | tcextract -x ps1 -t vob -a 0x24 > subs-es

Convertimos el subs-es a formato idx
Nota: Cambiando el canal podemos meter varios subtítulos en un solo par de ficheros .sub e .idx, pero esto sólo funcionará a partir de Subtitleripper 0.3.1
subtitle2vobsub -o vobsubs-es -a 0,es -i /mnt/musica/Commited/FREAKS_DVD/VIDEO_TS/VTS_01_0.IFO < sub-es


¡A cuidarse!

miércoles, 18 de octubre de 2006

Primeros pasos con Netcat (como cp por TCP/IP)


Bueno, seguimos con el copy&paste - mira que hay que ser cutre para autoplagiar algo tan malo xDD

Este mini-articulo es en homenaje a un tio que conocí en la Campus-party que pilotaba de linux un rato largo y me enseñó lo que puede dar de sí Netcat... (hola Yshi/Plue ;-))


Como en la descripción de su ayuda indica el netcat es la “navaja suiza de TCP/IP”, lo que hace “solamente” es escribir o leer a traves de la red. Precisamente en su simplicidad está su potencia (ya sabeis, la filosofía Unix de pequeñas herramientas para combinarlas bla, bla, bla ;-))

Una de su mayores ventajas es que se comporta exáctamente igual independientemente del puerto en el que trabaje, de ahí que muchos lammers malos malísimos utilicen esta herramienta para simular un servidor ftp o un telnet y conseguir contraseñas (¿De verdad hay gente tan g$l$p$ll$s? XDDDD).


Yo principalmente uso netcat (o nc) para intercambiar ficheros cuando no quiero perder el tiempo instalando samba, nfs, scp o lo que sea. Esto va directo a vena ;-). Este articulo intentará explicar como utilizar netcat como un cp a traves de la red.


Aquí es donde llega el como instalarlo y tal, vamos a intentarlo:

Para Debian: apt-get install netcat
Para gentoo: emerge -va netcat
Para mandrake/Red Hat: urpmi netcat

Habeis cojido la idea, ¿no?. Bueno, para los machotes de slack, BSD o LFS, no sé que cojones hacéis leyendo esto ~_^

Al tomate:

Primero elegimos un puerto por el que se comunicarán (p.e. el 6600)

IP de la máquina origen: 172.26.0.10

IP de la máquina destino: 172.26.0.20

Para pasar un archivo:

Ponemos la máquina destino en escucha:

netcat -l -p 6600 172.260.10 < archivo

Y en la máquina origen escribimos:

netcat 172.26.0.20 -p 6600 > archivo

Paso a explicarlo:

-l Indica que lanzamos netcat en modo escucha (listen)

-p 6600 Puerto en el que espera la conexión

172.26.0.x Cuando en la máquina que escucha especificamos una IP, restringimos quien le manda la información, de forma que si recibiese información de otra IP, simplemente terminaría. En la máquina que escucha podemos omitir la IP sin problemas, todo depende de como de hostil sea tu red :-p

Pero es un coñazo hacer un nc con cada archivo que queramos pasar, ¿no?, ¿recordáis aquello de la filosofía Unix y combinar las pequeñas herramientas?, pues ahora vamos a tirar de tar que para eso está.

Como copiar un directorio por red:

Ponemos la máquina destino en escucha:

netcat -l -p 6600 172.26.0.10 |tar xvjf -

|tar xvjf - No voy a enumerar cada opción del tar porque no es el objetivo de este articulo, ya sabéis RTFM ^_^. Simplemente saber que el tar desempaquetará y descomprimirá todo lo que reciba. (si andais jodidos de espacio y sobrados de ancho de banda, podéis omitir la “j”)

Y en la máquina origen que envía los archivos:

tar cvjf – directorio_que_queremos_enviar/ | nc 172.26.0.20 6600

Como supondréis, lo que hace es compactar y comprimir un directorio para mandarlo por netcat en un solo archivo.

Como rollo anecdótico podemos usar el nc como servidor web con algo tan tonto como:

nc -l -p 80 index.html

Por supuesto, tiene otros muchos usos: Como chat, para conseguir información de servidores, etc.

Links de interes:

Tutorial de LINUCA bastante más completo que este :-)


Tutorial de lammers que encontré buscando info de netcat para no meter demasiado la pata (¡por favor, no me jakeeis la aspiradora!)XDDDD


Si alguien tiene dudas de como funciona esto de las tuberías ( “<”,“>”,”|”,”-”, etc), nada mejor que TLDP-ES/LuCAS


Y eso es todo, ¡espero que os haya sido de utilidad!

viernes, 29 de septiembre de 2006

Ripear DVDs a x264


Con esto empiezo el autofusilamiento de artículos de la antigüa encarnación de la Finka Party, ¡Qué empiece el copy&paste!

Primero buscamos qué pista del DVD tiene la peli, yo he reproducido la peli con XINE. Normalmente suele ser el título 1


Extraemos el VIDEO

mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -dumpvideo -dumpfile video.m1v


Si queremos recortar las bandas negras (no es obligatorio).

Conviene dejarlo hasta el final para asegurarnos. Si no, puede pillar en un fundido en negro o durante las letras, etc y no sería correcto (Tarda el mismo tiempo que dura la peli).

mplayer -vo null -ao null -vf cropdetect video.m1v |tee -a croptdetect.out



Para saber qué audios hay disponibles en el DVD

mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -vo null -ao null -frames 0 -v 2>&1 | grep aid


Extraer pistas de audio -aid 128, -aid 129, -aid 129...

mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -aid 128 -dumpaudio -dumpfile audio_name.ac3



Para saber qué subtitulos hay disponibles en el DVD

mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -vo null -ao null -frames 0 -v 2>&1 | grep sid


Extraer subtítulos -sid 0, -sid 1, -sid 2...

mencoder dvd://1 -dvd-device /dev/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -vobsubout subtitle_name -vobsuboutindex 0 -sid 0 -o frameno.avi -ovc frameno -nosound



NOTA: El límite de espacio de un DVD son 4489 MB. En los cálculos usaremos 4486 para no apurar tanto

Hacemos un du -sm ./* para ver cuanto ocupan los audios y videos. En mi caso cada pista de audio ocupa 271 MB y los subtítulos 5 y 4 MB respectivamente.

Calculo para bitrate: (4486 - pistas de audio - subtítulos) = (4486 - 271 - 271 - 5 - 4) = 3935


bitcalc nos calculará el bitrate que usaremos. Se puede descargar del servidor ftp: bitcalc

-s tamaño_que_queramos_que_tenga_el_video -f frames -d tiempo_de_la_pelicula (horas,minutos,segundos)

bitcalc -s 3935 -f 25 -d 1,38,28



Crearse un script con lo que pone debajo llamado x264.sh

Al ejecutarlo creará un archivo llamado kiss.x264

Esto tarda la de redios, en mi PC han sido unas 45 horas, en el de el Kolas son unos 5 días xDDD

Los valores de crop sólo son necesario si hemos calculado el area de las bandas negras. Mirar en el archivo croptdetect.out que hemos generado antes.

mencoder video.m1v -nosound -vf crop=720:416:0:80 -ovc x264 -x264encopts cabac=0:deblock=0:subq=6:me=4:8x8dct:frameref=6:trellis=0:qp_constant=1:bframes=3:me=4:4x4mv:b_pyramid:weight_b:bitrate=5582:pass=1 -o "/dev/null"

mencoder video.m1v -nosound -vf crop=720:416:0:80 -ovc x264 -x264encopts cabac=0:deblock=0:subq=6:me=4:8x8dct:frameref=6:trellis=0:qp_constant=1:bframes=3:me=4:4x4mv:b_pyramid:weight_b:bitrate=5582:pass=2 -o "/mnt/pelis/DVD/Kiss/kiss.x264"



Para juntar el video + audio + subs

Si os da error, tendréis que añadirle la opción --engage allow_avc_in_vfw_mode

mkvmerge --aspect-ratio 0:16/9 -o kiss.mkv kiss.x264 english.ac3 spanish.ac3 english.idx spanish.idx



Si queréis recortar el archivo en 2, pero es un coñazo calcular por donde cortarlo (yo no lo he probado)

mkvmerge --aspect-ratio 0:16/9 --split 00:39:22 --split-max-files 2 -o Grabar.mkv Hero.avi soundchino.ac3 soundes.ac3 Hero.idx


OPCIONAL: Si queréis ponerle el tag del idioma a las cadenas de audio

mkvmerge --engage allow_avc_in_vfw_mode -o kiss_with-lang-codes.mkv
--language 2:en --language 3:es kiss.mkv


El mkisofs no permite crear imágenes con archivos mayores de 4 gigas, esto es un workarround que dirían los ingleses. Me he currado un kutre-script automatizandolo por si os fiais de un manazas como yo, el kutre-script)

Como tostar DVDs con un archivo superior a 4 Gigas


Crear fichero de ceros para la imagen

dd if=/dev/zero of=file.iso bs=2048 count=2298350


Convertir a UDF la iso

mkudffs file.iso


Montar imagen

mount -o loop -t udf file.iso /mnt/iso/


Copiar el .mkv a /mnt/iso/

cp -gpv /mnt/pelis/DVD/Kiss/Kiss\ Kiss\ Bang\ Bang.mkv /mnt/iso/


Borramos el directorio lost+found

rm /mnt/iso/lost+found/ -Rf


Desmontar la imagen

umount /mnt/iso/


Grabar la imagen

cdrecord -v -dao -dev=/dev/hdc -driver=mmc_mdvd -driveropts=burnfree file.iso


Como dirían los de la wikipedia, "this is a stub", que está un poco en bragas el artículo de marras ^_^

Seguidores