Bueno, voy a aprovechar la chincheta para meter mas info :-) espero que cava.
1.- VDR-HOWTO
2.- LICR-HOWTO
3.- Pasar a Divx.
***************************** VDR HOWTO ***********************************************
La primera vez que intente hacer funcionar el vdr fue un fracaso, pasaron AÑOS
hasta que lo logre hacer funcionar (mas que nada porque tengo una budget y por
algunas diferencias importantes en el archivo softcam.key), así que espero poder
hacer algo para ayudar a los que quieran olvidar el eterno suplicio de usar
windows :-)
1.- El driver.
1.1.- Puede que ya tengas el driver, que lo puedas compilar con el nucleo o que lo tengas que compilar por separado.
- kernel 2.6: Comprueba si tienes los modulos en /lib/modules/2.6.x/drivers/media/dvb, si es así olvida esta parte y pasa al punto 1.3.
(si no los tienes..)
- Kernel compilado por ti: Si tu mismo has compilado el nucleo no creo que necesites ayuda para recompilarlo en caso de que no añadieras los modulos de dvb (que están en 'device drivers->media->dvb'). Si no los incluiste la ultima vez que compilaste el nucleo tendrás que recompilarlo o descargar, compilar e instalar los drivers por separado.
- Kernel Precompilado: Nunca he usado esto, pero creo que uno de estos tendrán todos los modulos disponibles.
- Kernel 2.4: En este caso necesitas descargar, compilar e instalar el driver de dvb, ya que no está en el nucleo.
1.2.- Descargar, compilar e instalar el driver de dvb (leete el/los README que encontraras en 'linuxtv-dvd-x.x.x'):
1.2.1.- Descargar: Puedes descargar el último driver de dvb de [url]www.linuxtv.org,[/url] busca algo como 'Linux DVB driver release..', descargalo y descomprimelo, para descomprimirlo puedes usar el mc o 'tar -xvvzf linuxtv-dvb-x.x.x.tar.gz'. El caso es que acabes con un directorio llamado 'linuxtv-dvb-x.x.x' (x.x.x es la version del driver dvb)
1.2.2.- Compilar: Buf, esta parte es delicada, necesitaras tener los fuentes del kernel, así que si tienes uno de esos kernels que se bajan compilados (o si no tienes ni idea de lo que es eso de compilar el kernel) necesitaras el 'kernel-headers' correspondiente al kernel que estés usando ('uname -a' para saberlo). Seguramente ya lo tendrás, mira si tienes el directorio '/usr/src/x.x.x/include' (x.x.x es la version del kernel), si no descarga de donde tu distribución de linux tenga sus descargas el kernel-headers correspondiente a tu version de kernel e instalalo.
Si ya tienes los headers del kernel entra en el directorio 'linuxtv-dvb-x.x.x/build-2.x' (la x será 4 o 6 según si usas un nucleo 2.4.x o 2.6.x) y haz un 'make', si no hay errores enhorabuena. Si los hay no te desanimes, prueba a descargar un nucleo 2.6 y compilarlo con soporte para dvb, es la mejor opción.
¡ ¡ ¡ También debes ejecutar el 'MAKEDEV-DVB.sh' que se encuentra en 'linuxtv-dvb-x.x.x' ! ! ! (Esto sirve para crear los ficheros especiales necesarios en /dev/dvb)
1.2.3.- Instalar: En el directorio build-2.x encontraras 'insmod.sh', si lo compilaste sin errores con ejecutar dicho insmod te cargará los modulos (carga todos, los que necesitas y los que no)
1.3.- Para cargar los modulos necesarios.
1.3.1.- Si has compilado el driver por separado puedes usar el 'insmod.sh' para cargarlos o mover los modulos que necesitas al dir /lib/modules/2.x.x y utilizar una herramienta de cargar modulos como 'modconf' o cargarlos con 'modprobe nombre-del-modulo'.
1.3.2.- Si los tienes compilados en el nucleo utiliza modprobe o modconf para cargarlos. ¿Como?, ¿Que no sabes que modulos necesitas? Pues si crees que yo lo voy a saber la llevas clara, dependerá de la tarjeta que tengas, lo mejor es que empieces cargandolos todos y mas adelante ya veremos. Ten en cuenta que algunos modulos necesitarán que otros estén cargados antes, así que si te dice algo como 'undefined symbol...' sigue cargando otros y vuelve despues con ese.
NOTA: intenta coger [url]http://equis.ya.com/caraflan1/cargar.sh[/url] (no se cuanto tiempo aguantaran los de ya esa web, igual deja de existir cuando les venga en gana) y ejecutalo como root con 'sh cargar.sh', haz un lsmod para saber si los modulos se han cargado bien.
NOTA2: los ficheros de dispositivo de /dev/dvb no tengo muy claro si se crean al instalar el nucleo.. si no es así dejo el MAKEDEV-DVB.sh que va con el driver por separado aki [url]http://equis.ya.com/caraflan1/MAKEDEV-DVB.sh[/url]. Si no están ejecutalo como root
Este apartado os dará mil dolores de cabeza, y la verdad es que este howto apesta xD si al final no lo conseguís seguid intentandolo y preguntad en los foros y la lista de correo de [url]www.linuxtv.org.[/url]
1.4.- FIRMWARE + MANDO A DISTANCIA (Gracias a Pistrakas)
Yo no se de esto, parece que algunas tarjetas (no se si por ser full-featured) necesitan esta parte. Pistrakas nos enseña cómo lo ha hecho.
Sin el firmware no se registra el dispositivo de video por lo tanto no funciona el vdr .
Bueno ahora voy a explicar como he hecho yo para compilar los modulos siguiendo los pasos de un post de dvbnetwork, en fins, al tajo:
Suponiendo que tenemos las fuentes de un kernel de la rama 2.6 en /usr/src linkado a /usr/src/linux, si no pues a bajarlo, configurarlo, compilarlo, etc.
Vamos al directorio /usr/src
cd /usr/src
Creamos un directorio que se llama Linuxtv.CVS (podeis llamarlo como querais, así esta en el manual que he seguido)
mkdir Linuxtv.CVS
Linkamos Linuxtv.CVS a DVB
ln -s Linuxtv.CVS DVB
Entramos en el directorio que acabamos de crear
cd DVB
Ahora nos bajamos la última versión de los drivers de linuxtv.org del CVS
cvs -z9 -d server:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel |La carita representa los dos puntos : y una P tó junto
Ahora ejecutamos el script MAKEDEV-DVB.sh para crear los dispositivos
./MAKEDEV-DVB.sh
El siguiente paso será linkar el kernel con el driver, para eso ejecutamos
./makelinks (Ruta de las fuentes del kernel que suele ser /usr/src/linux)
Ahora vamos a hacer crear la utilidad que nos generara el firmware, para ello vamos a:
cd /usr/src/DVB/scripts y ejecutamos:
gcc -Wall ttpci-firmware.c -o ttpci-firmware
Esto nos generará un ejecutable llamado ttpci-firmware.
Lo siguiente será bajarnos un "Root-Patched-firmware" y lo haremos con:
wget
http://207.44.152.197/Root-patched-031110.gz (en la página hay varios firms a elegir paro a mí solo me funcionó con ese)
Lo descomprimimos:
gunzip Root-patched-031110.gz
Ahora nos hace falta un archivo que se llama Dpram que no viene en los drivers nuevos, pero si viene en las versiones viejas, para ello podemos bajarnos esta version [url]ftp://ftp.cadsoft.de/vdr/Developer/...3-10-13.tar.bz2[/url] y dentro del directorio /ruta donde lo bajasteis/linux-dvb.2003-11-08/driver/av7110 encontrareis el archivo Dpram dichoso, lo copiamos a /ust/src/DVB/scripts:
cp /loquesea/linux-dvb.2003-11-08/driver/av7110/Dpram /usr/src/DVB/scripts
Ahora toca generar el firmware para ello dentro de /usr/src/DVB/scripts escribimos:
./ttpci-firmware Dpram Root-patched-031110 01
Esto nos genera un fichero llamado dvb-ttpci-01.fw(el firm!!!). Este archivo lo tenemos que copiar en /usr/lib/hotplug/firmware/:
cp dvb-ttpci-01.fw /usr/lib/hotplug/firmware/
ahora solo quedaria recompilar el kernel con las opciones que puse en mi post anterior, por lo menos para una nexus-s(que es la mia).
El soporte para DVB hay que cargarlo como módulo ya que si lo poneis dentro del kernel no cargará el firmware por que va a buscar una unidad que aun no está montada.
Por útimo para que el mando funcione debereis de bajaros :
[url]http://www.linuxtv.org/download/dvb...s-1.1.0.tar.bz2[/url]
Lo descomprimis en /usr/src y dentro del directorio /usr/src/linuxtv-dvb-apps-1.1.0/utils/av7110_loadkeys ejecutais
make av7110_loadkeys
./av7110_loadkeys hauppauge.rc5 > /proc/av7110_ir
Para que funcione necesitais tener el remote-plugin para el VDR
bueno, se acabó, espero que no haya sido muy aburrido.
SE ME OLVIDO DECIR QUE EN ESTE POST EXPLICO COMO PONER A FUNCIONAR UNA NEXUS-S EN LOS KERNELS DE LA RAMA 2.6, SUPONGO QUE LA FORMA DE CONFIGURAR EL DRIVER PARA LAS DEMÁS TARJETAS NO VARIARÁ MUCHO
2.- Amos con el VDR.
Para poder compilar vdr necesitarás algunos includes (audio.h ca.h dmx.h frontend.h net.h osd.h version.h video.h), según si usas el driver por separado o el incluido en el nucleo los tendrás en 'VDR/../DVB/include/linux/dvb' o '/usr/include/linux/dvb', asegurate de tenerlos, si no es así puedes crear el directorio '/usr/include/linux/dvb' y copiar dentro los archivos (audio.h, etc..) del driver por separado (descargalo si no lo tienes).
Voy tomar como ejemplo vdr-1.3.12 y teniendo en cuenta que estoy usando un kernel 2.6 con el driver DVB incorporado, en caso contrario el driver DVB debera estar (para este ejemplo) en '/usr/local/src/DVB', ya que VDR estará en '/usr/local/src/VDR'.
Se puede descargar de [url]ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.12.tar.bz2[/url]
Por supuesto lo primero es leerse el README.
Plugins y parches:
Para que sc (plugin para decodificar) funcione necesitaras aplicar un parche.
Si, como yo, eres pobre y solo tienes una tarjeta budget necesitarás aplicar otro parche, además de un plugin para mostrar la salida de vdr por las X. He probado softdevice y el plugin de xine, este segundo va bastante mejor, ademas el primero requiere alsa como sistema de sonido, y a no ser que ya lo tengas es un engorro, así que explicaré el segundo plugin.
Descomprime el vdr en /usr/local/src/vdr-1.3.12
Haz un link simbolico de VDR a vdr-1.3.12 (en /usr/local/src/ -> 'ln -s vdr-1.3.12 VDR')
En VDR/PLUGINS/src borra todos los directorios con plugins de ejemplo.
Descarga de [url]http://207.44.152.197/[/url] la última version de vdr-sc, actualmente (06-09-2004) [url]http://207.44.152.197/vdr-sc-0.3.15.tar.gz[/url]
ATENCIÓN: En la version 0.3.16 de sc es aún más complicado conseguir las claves en el caso de nagra, así que si piensas usar nagra1 prueba primero con la versión 15. (leer HISTORY de la version 16)
Descomprimelo en /usr/local/src/VDR/PLUGINS/src/sc-0.3.15 y renombra el directorio a sc (mv sc-0.3.15 sc)
Aplicaremos el primer parche en el dir /usr/local/src/VDR -> 'patch -p1 < PLUGINS/src/sc/patches/vdr-1.3.10-sc.diff'
Ahora el segundo parche (SOLO PARA LOS QUE TENGAMOS UNA BUDGET), este parche lo puedes descargar de [url]http://207.44.152.197/,[/url] actualmente es softcsa-patch-0.0.8 for vdr-1.3.1 ([url]http://207.44.152.197/vdr-1.3.1-softcsa-0.0.8.diff.gz[/url]), metelo en el dir VDR y descomprimelo 'gunzip vdr-1.3.1-softcsa-0.0.8.diff.gz', esto creara el fichero vdr-1.3.1-softcsa-0.0.8.diff, para aplicar el parche -> 'patch -p1 < vdr-1.3.1-softcsa-0.0.8.diff' (en '/usr/local/src/VDR')
Antes de meternos con el plugin de xine vamos a probar a compilar el vdr.
cd /usr/local/src/VDR
make NO_KBD=1 REMOTE=LIRC <- estas son las opciones que necesito yo con mi budget, leete el INSTALL del directorio VDR para mas info.
Si compila bien despues hay que compilar los plugins (x ahora solo tenemos el sc en el dir PLUGIBNS/src)
En el mismo directorio (VDR) hacer 'make plugins NAGRA=1 SECA=1 UNROLL=4 INLINE=0 BCTYPE=1'
Comprueba que todo compile sin errores, en caso contrario sigue probando, leyendo y preguntando.
Salida de vdr por las X: (no tiene nada que ver con taquillaX)
Parece que hay gente que ha tenido problemas con esta parte, asegurate de que:
- los parches se apliquen sin errores
- no tengas otro xine instalado que puedas ejecutar en lugar de este
- cuando lo tengas arranca xine y comprueba que en la GUI tengas un boton llamado VDR, al lado de los de vcd, dvd, etc..
Ahora el plugin de xine para mandar la salida de vdr a las X. Todo lo necesario para ello está en [url]http://home1.vr-web.de/~rnissl/[/url] , debes descargar xine-lib-cvs...tar.bz2, xine-ui-cvs...tar.bz2 y vdr-xine-x.x.x.tgz.
Descomprime vdr-xine en /usr/local/src/VDR/PLUGINS/src/xine (aki tendrás un archivo 'INSTALL' que debes leer ¡¡¡y otro 'MANUAL' que es imprescindible!!!)
Descomprime xine-lib en /usr/local/src/xine-lib
Descomprime xine-ui en /usr/local/src/xine-ui
Hay que aplicar un parche en xine-lib y otro en xine-ui
cd /usr/local/src/xine-lib
patch -d. -p0 < /usr/local/src/VDR/PLUGINS/src/xine/patches/xine-lib.patch
cd /usr/local/src/xine-ui
patch -d. -p0 < /usr/local/src/VDR/PLUGINS/src/xine/patches/xine-ui.patch
ATCHUNG!!, Parece ser que para aplicar los parches hay que ponerse en el directorio superior de los directorios de xine (en este caso sería /usr/local/src), no se si me equivoque o lo habrán cambiado en nuevas versiones, quedaría así:
cd /usr/local/src/
patch -d. -p0 < /usr/local/src/VDR/PLUGINS/src/xine/patches/xine-lib.patch
cd /usr/local/src/
patch -d. -p0 < /usr/local/src/VDR/PLUGINS/src/xine/patches/xine-ui.patch
Gracias a techouk por el aviso
y a compilar..
cd /usr/local/src/xine-lib
./autogen.sh
make
make install
cd /usr/local/src/xine-ui
./autogen.sh
make
make install
Ahora editar /usr/local/src/VDR/transfer.c y buscar POLLTIMEOUTS_BEFORE_DEVICECLEAR
modificar POLLTIMEOUTS_BEFORE_DEVICECLEAR 3
por POLLTIMEOUTS_BEFORE_DEVICECLEAR 12
ups, hay que compilar el vdr despues de cambiar esto y antes de compilar el plugin, si ya lo habías compilado ahora no le costara mucho, solo compilará lo necesario.
Con esto deberiamos estar listos para compilar el plugin de xine, así que en el dir VDR hacemos 'make plugins' (el sc ya está compilado, así que lo ignorará)
Si has conseguido llegar hasta aki ya puedes dejar de llorar, solo queda lo mas dificil xD, el vdr (a no ser que lo hayas configurado antes de compilarlo para que sea de otra forma) guarda su configuración en /video, haz una copia de todos los archivos de configuración de /usr/loca/src/VDR/*.conf a /video 'cp /usr/loca/src/VDR/*.conf /video'
Archivos de configuración:
- ca.conf -> dejalo como está (la verdad es que no se si sirve para algo)
- setup.conf -> aki se guarda la conf del vdr, puedes modificarlo directamente o con el menu osd de vdr.
- channels.conf -> pues eso, los canales, el vdr-1.3 hace busquedas automáticas, de todas formas pondré el mio x aki.
- remote.conf -> asocia teclas del teclado o del control remoto a acciones de vdr, si lo borras al inicio volverá a preguntar por las teclas que quieres usar.
- timers.conf -> Es donde se guarda la información para programar grabaciones, al pricipio me dio problemas de 'no puedo caombiar de canal' por apagar el vdr cuando esta grabando, si te pasa comprueba que este archivo esté vacio.
Probandolo:
Ahora vamos a probar el vdr con un canales en abierto.
El archivo channel.conf que va con el vdr lleva canales del astra en abierto, así que solo vamos a encender el vdr, cuando lo enciendas seguramente empezará a preguntarte por codigos de teclas, esto depende de las opciones que le pases al make del vdr, en mi caso pide teclas del control remoto de lirc, cuando acabes con eso intentará sintonizar un canal de los que tienes en channels.conf, si no lo consigue intenta cambiar de canal, si ves el teletienda aleman o el mosaico del astra es que está bien, sino mal... (lo dicho este howto apesta)
Nota: El plugin de xine define unas cuantas acciones asociables a teclas en xine como 'VDR Setup Menu', pero hay otras acciones que ya lleva xine y que son utilizadas por el plugin, como 'menu navigate up'. Estas pocas acciones (7 u 8) están en el archivo MANUAL del directorio del plugin-xine.
Para controlar vdr a traves de xine con el teclado mira en xine -> cofiguración -> edición de atajos de teclado. Procura tener el xine NO maximizado, selecciona una acción, dale a 'editar' y a 'capturar tecla', aprieta la tecla que quieras, te saldrá un cartelito de 'seguro que quieres usar esa tecla?', si el xine está maximizado queda detras y no lo ves.
Paso a paso:
ejecutar "./vdr '-Pxine -r' -Psc" en una consola para iniciar el vdr.
Comprueba que te ha creado unos archivos en /tmp/vdr-xine/, si no es así algo has hecho mal.
ejecutar en otra consola 'xine -f vdr:/tmp/vdr-xine/stream#demux:mpeg_pes'
Si usas algún mando a distancia como uno a traves de LIRC te preguntará por los botones que quieres usar para cada acción, esto tiene un timeout, es decir que si no empieas a meter códigos en seguida pasará a hacer lo mismo pero con el teclado.
Con el plugin de xine no pregunta por teclas del teclado, para eso está el editor de atajos de teclado de xine.
Si quieres que te pregunte por las teclas del mando a distancia borra o renombra /video/remote.conf
Bueno, pasado este punto, y si todo ha ido bien, con las teclas que hayas definido para ir arriba y abajo podrás cambiar de canal, OJO es posible que tengas que abrir el menu->configurar->dvb (con menu->abajo...->ok->abajo..etc.) y en 'dispositivo/device/oloqueponga' darle a la derecha para seleccionar el último posible (2 en mi caso).
Ahora cierra el menú si todavía está abierto (con menu abre/cierra) y prueba a darle arriba y abajo a ver si ves algún canal de esos libres.. si es así ¡AUREKA!, si no... buf. (si no tienes canales libres y lo tienes bien configurado todo verás solo el epg (o sea la programación) de los canales de pago)
Decodificando:
Para decodificar necesitarás un archivo 'SoftCam.Key', pero ahora hacen falta mas claves que con otros softs y conseguirlas es lo dificil:
para seca2:
S YYYY 0C XXXXXXXXXXXXXXXX
S YYYY 0D XXXXXXXXXXXXXXXX
S YYYY 0E XXXXXXXXXXXXXXXX
-> S YYYY E1 XXXXXXXXXXXX
-> S YYYY M1 XXX...181 X en total...XXX
para NAGRA:
N YYYY 00 XXXXXXXXXXXXXXXX
N YYYY 01 XXXXXXXXXXXXXXXX
N YYYY 88 XXXXXXXXXXXXXXXX
-> N YYYY E1 XXX..128 X en total...XXX
-> N YYYY N1 XXX..128 X en total...XXX
-> N YYYY N2 XXX..128 X en total...XXX
El archivo SoftCam.Key (cuidado con las mayusculas) debe estar en /video/plugins
Para seca2 necesitamos en el directorio /video/plugins/seca los archivos s2_hash_YYYY.bin s2_mt_YYYY.bin
Además esta lo de los archivos .KID, creo que es para que te encuentre las nuevas claves el solito, pero nunca lo he probado.
Una vez tengas el channels.conf correcto y el SoftCam.Key adecuado, si todo te ha salido bien, y previamente le habias puesto un par de velitas a la virgen ejecuta los dos comandos para el vdr y a disfrutar.
***************************** LIRC HOWTO **********************************************
tutorial de lirSystervdr: (en [url]www.lirc.org[/url] encontrareis toda esta información y mucha mas)
Intentare plasmar los pasos a seguir para hacer funcionar lirc, para después usarlo con vdr, el ratón, mplayer, etc.
Si vas a usar la tarjeta de tv para el mando tendrás que tener compilado en el kernel el soporte para la tarjeta. (ej. bttv para la avermedia)
//***** aki habrá que explicar un poco
Lo primer es bajar el ultimo snapshot de la version en desarrollo, es necesaria la version 0.7 para kernels 2.6, y como funciona también con kernels 2.4, pues bajate la ultima de todas formas.
[url]http://lirc.sourceforge.net/software/snapshots/lirc-0.7.0pre7.tar.bz2[/url]
Descomprimelo (yo uso mc para estas cosas así que no me se los comandos con bunzip2 y tar)
En la carpeta descompresida ejecuta ./configure, aparecerá un menú donde debes seleccionar, en el punto 1, el tipo de receptor que tienes, por ejemplo para una tarjeta de television avermedia (lo mas común) selecciona 1 (driver conf)->5 (tv card) ->5 (avermedia tvcapture98).
Ahora selecciona 3 (save and run configure).
Si no da ningún error al final te dira (por lo menos en mi caso lo hace) el driver que tienes que usar (a parte de lirc_dev, que es el base), algo como:
You will have to use the lirc_gpio kernel module.
Si da alguna dependencia inclumplida tendrás que buscar e instalar los paketes de librerias que te falten.
Si toda marcha bien haz un make y make install.
Tras eso comprueba que tangas en /lib/modules/2.x.x/misc algunos modulos como lirc_dev.ko (o .o con kernel 2.4).
Haz un 'modprobe lirc_gpio', esto depende de lo que te dijera al final del configure. Si te dice que nanai prueba primero con 'modprobe lirc_dev'.
'lsmod |grep lirc' para comprobar si están cargados.
- Para que puedas controlar el raton tienes que modificar el archivo de configuración de las X, en mi caso /etc/X11/XF86Config-4.
Añadir: (casi se me olvida jeje
Section "InputDevice"
Identifier "LIRC-Mouse"
Driver "mouse"
Option "Device" "/dev/lircm"
Option "Protocol" "IntelliMouse"
Option "SendCoreEvents"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection
y en Section "ServerLayout" añadir:
InputDevice "LIRC-Mouse"
Para aplicar los cambios debes reiniciar las X.
- Ahora tendrás un script de inicio (ej. /etc/init.d/lirc, aunque depende de cada distribucion de linux).
Para ponerlo en marcha y pararlo /etc/init.d/lirc start o stop o restart, pero primero la configuración, que se guarda en /etc/lircd.conf (la general de lirc) y /etc/lircmd.conf (para controlar el ratón si te interesa).
En el directorio de instalación de lirc/remotes/ hay configuraciones, copia los adecuados, ej.
cp remotes/avermedia/lircd.conf.avermedia98 /etc/lircd.conf
cp remotes/avermedia/lircmd.conf.avermedia98 /etc/lircmd.conf
Si no están los adecuados para ti en la web de lirc hay configuraciones para distintas tarjetas.
[url]http://lirc.sourceforge.net/remotes/[/url]
Cada vez que modifiques los archivos de configuración tendrás que reiniciar los demonios de lirc '/etc/init.d/lirc restart'
- Resumiendo:
Compila he instala el lirc.
Carga los modulos.
Modifica el XF86Config.
REINICIA LAS X.
Copia los ficheros de configuración a /etc/lircd.conf y /etc/lircmd.conf
Inicia los demonios de lirc: (con restart por si acaso estaban en marcha ya)
/etc/init.d/lirc restart (recuerda que la ubicación de este fichero depende de tu distribución)
Prueba a mover el puntero del ratón con los numeros del mando a distancia.
Si no consigues una configuración adecuada también puedes usar irrecord.
Es bastante sencillo, sirve para crear el archivo lircd.conf, llamandolo por ejemplo con irrecord lircd.tmp.conf, sigues las indicaciones de la pantalla y copias el fichero que creará lircd.tmp.conf a /etc/lircd.conf.
- Configurando lirc para programas como mplayer (debes haber compilado el programa con soporte para lirc o haberlo instalado de un pakete en el que lo hayan hecho).
En el directorio de usuario /home/pepito, tienes que crear un fichero .lircrc
La sintaxis es sencilla.
begin
prog = mplayer -> poseso el programa
button = PLAY -> el botón del mando a distancia con el nombre que tenga en /etc/lircd.conf
repeat = 0 -> sirve para cosas como subir o bajar el volumen, osea que repite la señal mientras mantienes pulsado
config = play -> esto es algo que debe entender el programa, en este caso mplayer.
end
Lo del repeat está algo chungo en la version 0.7 de lirc, prueba con valores como 7 u 8 a ver que pasa.
Para saber que comandos entiende cada programa consulta la documentación del programa en cuestion o busca ".lircrc nombreprograma" en google.
- PARA VDR
Lo primero es que debes compilar VDR con make REMOTE=LIRC (lo de NO_KBD=1 creo q es necesario para tarjetas budget, no estoy seguro).
Al arrancar el VDR por primera vez (o habiendo borrado el archivo /video/remote.conf), te saldrá la pantalla de configuración de teclado y del lirc, pero resumiendo.
remote.conf:
LIRC.Up 2
LIRC.Down 8
LIRC.Menu TELETEXT
LIRC.Ok 5
LIRC.Left 4
.
.
.
A la izquierda LIRC.comandodevdr.
A la derecha boton del mando según está en /etc/lircd.conf
Los comandos de vdr (no se si todos, pero por lo menos los mas importantes) son:
Up
Down
Menu
Ok
Back
Left
Right
Red
Green
Yellow
Blue
Play
Pause
Stop
Record
FastFwd
FastRew
Power
Channel-
Volume+
Volume-
Mute
seguro que me dejo cosas, pero ya iremos mejorando esto...
***************************** Pasar a divx ***********************************************
Para comprimir a divx las grabaciones.
Haciendolo bien sale perfecto, nada que envidiar a un dvdrip :-)
Para comprimir usaremos mencoder, que es parte de mplayer, descargable de tu proveedor de paketes habitual, o en la web mplayerhq.hu
Lo primero es meter todos los archivos 00x.vdr en uno, esto es sencillo, basta con cogerlos con cat y redirigir la salida a otro archivo.
cat 00* >> todo.mpeg
Si no te importa perder los 00x.vdr puedes mover el primero y hacer el cat a los demas, así le costará menos..
mv 001.vdr todo.mpeg
cat 00* >> todo.mpeg
IMPORTANTE es q uses '>>' y no '>', la segunda forma machacaría lo que vas metiendo en todo.mpeg
Yo aplico filtros de crop y scale, no son necesarios para mplayer, pero prefiero tener el divx con el tamaño justo de la imagen y con una resolución que pueda reproducir el dvd de sobremesa.
Ahora a calcular el crop, para quitar bandas negras :-), para eso tenemos que dedidir el tamaño que queremos para el divx, 512x384, 640x480, 720x540,...
mencoder -ss 00:10:00 todo.mpeg -o /dev/null -aid 0 -oac lavc -ovc lavc -idx -lavcopts mbd=2:v4mv:vcodec=mpeg4:vbitrate=850:acodec=mp3:abitrate=64 -vf scale=720:540,cropdetect
Vaya churro, ¿he?, pues esto empezará a imprimir por pantalla un monton de tonterias, y en especial los valores (4 valores separados por comas) que nos servirán para recortar despues el original.
Explicare que hace cada cosa:
-ss 00:10:00: Le dice a mencoder que empieza a partir de 10 min, no son 10 minutos de verdad no se xq, creo q el vdr se ralla un poco al escribir los mpeg.. nose.. es importante para que calcule el crop en una parte del mpeg que contenga lo que queremos de verdad, y no los anuncios de antes, si te da un error es posible que sea a causa de que los 10 min sean demasiados (10 min de una grabacion de vdr pueden ser mas de una hora..), así que prueba con 00:05:00..
todo.mpeg: el archivo de entrada.
-o /dev/null: El archivo de salida, como no lo queremos ahora lo redirigimos a null y q se vaya al garete.
-aid 0: Identificador de stream de audio 0, que es el castellano, si lo quieres en version original es posible que esté en -aid 1.
-oac: Output audio codec, lavc-mp3.
-ovc: Output video codec, lavc-divx.
-idx: Para que regenere el indice, es necesario por el 'apaño' de unir los 00x.vdr con cat.
-lavcopts: Opciones de los codecs de audio y video a continuación.
-mbd=2:v4mv: No se muy bien lo que hacen, (está en 'man mencoder'), pero así tiene mejor calidad.
-vcodec, acodec, vbitrate, abitrate: Codecs de audio/video y sus bitrates.
-vf: Filtros de video, crop, scale, etc..
scale=720:540,cropdetect: Escalamos a la resolucion que queramos y decimos que nos saque el crop, si la imagen tiene un logotipo en alguna de las bandas negras el cropdetect no funcionara bien con el valor por defecto (26), así que en ese caso tendreis que probar con otros valores, como cropdetect=30...
Bueno, si esto os sale bien os imprimira un monton de lineas, hasta que le deis ctrl-c, y en todas esas lineas aparecera algo como crop=xxx,yyy,zz,zz, esto es lo único que necesitamos para lo siguiente.
Ahora calculamos el bitrate de video, para ello tenemos que saber la duración de la peli y el bitrate de audio, yo uso abitrate=64, xq ocupa la mitad y se oye perfecto, pero si alguien quiere usar 128 q sepa que puede pasar a -oac copy, ya que el vdr graba el audio en mp3-128 y sería tonteria recodificarlo.
Para calcular el bitrate tenemos una pagina web [url]www.3ivx.com/support/calculator/[/url]
Puede que no de un bitrate muy acertado, así que puedes comprimir un minuto (-endpos 00:01:00 -ss 00:05:00) y calcular el tamaño aprox. q te dará con
tamaño_de_1_min * num_total_minutos / 1024 / 1024
Así puedes probar diferentes bitrates de video hasta que se ajuste bien. (-ss es importante para pillar un trozo que contenga imagenes y no una pantalla fija)
Primera pasada:
mencoder -ss 00:00:TT todo.mpeg -aid 0 -oac lavc -ovc lavc -idx -o /dev/null -lavcopts mbd=2:v4mv:vcodec=mpeg4:vbitrate=BBB:acodec=mp3:abitrate=64:vpass=1 -vf scale=720:540,crop=w:h:x:y,scale=720:XXX
Las opciones que aún no están detalladas:
-ss 00:00:TT: Prueba diferentes valores para iniciar la compresion en el punto donde empieze la peli.
vbitrate=BBB: Mete aki el bitrate que has calculado.
vpass:1: Para crear el archivo divx2pass.log que usa la segunda pasada.
scale=720:540,crop=w:h:x:y,scale=720:XXX: Akí está el meollo
, escalamos a el tamaño que queremos, hacemos el crop con los valores que nos ha devuelto el cropdetect y volvemos a escalar para qu ela imagen final tenga el tamaño correcto, el valor XXX se calcula con una regla de 3, XXX=720*h/w, dará un valor con decimales.. ajustalo al mas próximo.
Cuando acabe esta pasada tendremos el archivo divx2pass.log, así q...
Segunda pasada:
mencoder -ss 00:00:TT todo.mpeg -aid 0 -oac lavc -ovc lavc -idx -o final.avi -lavcopts mbd=2:v4mv:vcodec=mpeg4:vbitrate=BBB:acodec=mp3:abitrate=64:vpass=2 -vf scale=720:540,crop=w:h:x:y,scale=720:XXX
Y ya tenemos el divx, falta únicamente cortar el final para quitar los anuncios que se pueden haber grabado tras la peli, reproduce el final.avi para ver cuando acaba, sumale unos segundos y haz:
mencoder final.avi -oac copy -ovc copy -endpos xx:xx:xx -o final2.avi
Esto le costará poco, ya que no comprime, así que si a la primera no queda bien prueba añadiendo o quitando a endpos. No es muy ajustable, parece que va a saltos, es decir, q o cortas en 1:25:15 o en 1:25:20, sin punto intermedio.