Configura tu mando a distancia en OpenELEC y Raspbmc

[EDITADO]: Desde hace un tiempo, el proyecto XBMC ha cambiado de nombre. Ahora es KODI. Por eso han cambiado algunas rutas de algunos archivos y yo también las he cambiado aquí. Si algo no funciona bien, decídmelo y lo corrijo. En todo el texto del artículo podéis cambiar XBMC por KODI y todo sigue igual.

Ya sabéis cómo instalar XBMC en un RaspberryPi. Incluso a solucionar algún problema puntual que pudiera aparecer.

Una de las grandes ventajas de XBMC en el RPi es que incluye el estándar CEC de comunicación entre dispositivos, de modo que si tienes conectada una TV moderna por HDMI podrás controlar XBMC a través del mando a distancia de la televisión. Sin embargo, y ahí aparece el problema que inspira esta entrada, es que el mando de mi Sharp Aquos no tiene un botón que XBMC interprete adecuadamente para el menú contextual. Eso me obliga a usar el control remoto a través de Android, el botón secundario de un ratón, etc. Una lata.

¿Solución? Mapear una nueva tecla para esa función. ¿Cómo? Fácil y sencillo:

Conéctate a RPi a través de SSH, de modo gráfico o en terminal, al modo habitual (asumo que si has conseguido instalar el sistema, esto no representa un problema). Copia el archivo remote.xml de su ubicación original a la nueva:

cp /opt/xbmc-bcm/xbmc-bin/share/xbmc/system/keymaps/remote.xml /home/pi/.xbmc/userdata/keymaps/remote.xml

y edita el nuevo archivo:

nano .xbmc/userdata/keymaps/remote.xml

En este punto hay que hacer una precisión. En el método que propuse en la entrada anterior conseguimos instalar Raspbmc. Si has instalado OpenELEC, cosa muy recomendable y que estoy probando (ya os diré algo), el comando para copiar el archivo es distinto, pues la ruta original también es distinta:

Para OpenELEC:

cd .kodi/userdata/keymaps && cp /usr/share/kodi/system/keymaps/remote.xml ./remote.xml

nano remote.xml

Ahora viene el momento en el que hay que pensar qué tecla te viene bien. En mi caso he escogido el botón azul del teletexto, pues queda lejos de los botones más habituales y es sencillo de encontrar. Originalmente es un acceso directo a «Mis imágenes», pero yo no lo uso, así que me gusta este botón para el menú contextual.

En el código del archivo busca lo siguiente:

<title>ContextMenu</title>

y comenta la línea introduciendo <!– al comienzo y –> al final de ella. Si en lugar de title la etiqueta es diferente, no importa, esa es la tecla originalmente asignada, la que el mando no tiene. Si usas OpenELEC esta línea no existe, sáltate este paso y sigue.

Ahora hay que buscar las etiquetas <blue> y </blue> encerrando un texto como XBMC.ActivateWindow(MyPictures) o algo así. Cambia ese texto por ContextMenu, de modo que la línea quede como sigue:

<blue>ContextMenu</blue>

Si no quieres perder la información anterior, por si es necesario recuperarla en un futuro, comenta la línea completa igual que la anterior, es decir, inserta los caracteres <!– al principio de la línea y los caracteres –> al final. Después inserta una nueva línea y escribe el código anterior. Modificando este archivo no tienes por qué limitarte al botón azul o al menú contextual. Dentro de las opciones que hay listadas en el mismo puedes hacer las modificaciones que necesites y cambiar todos los botones que quieras. Recuerda que si haces muchos cambios, puede que sean difíciles de deshacer si hay algún problema, no es mala idea hacer una copia de seguridad del archivo antes de toquetearlo.

Guarda con Ctrl+o y sal con Ctrl+x. Listo. Reinicia XBMC y comprueba que todo haya ido bien. Ahora, al pulsar el botón azul cuando está resaltado un archivo podrás marcarlo como visto, borrarlo si habilitas la opción, añadirlo a la cola y el resto de opciones del menú contextual.

Anuncios

XBMC plugins: youtube y vimeo no funcionan.

El gran problema, irresoluble problema que arrastra mi XBMC desde hace varias versiones del programa y del plugin. De los plugins, porque es algo que afecta tanto al plugin de Youtube como al de Vimeo.

Cuando intentas arrancar cualquiera de ambos programas se muestra un error que dice, exactamente, lo siguiente: Error: Fallo en el script: plugin.video.youtube. Y no hay manera de arreglarlo, ni con desinstalaciones ni con borrado de caché ni nada de nada. Pero afortunadamente, hay sencilla solución.

Tras estudiar los logs de XBMC, veo que el problema es que se importan los módulos de python  excepto uno, CommonFunctions, que debe de estar deshabilitado. Parece ser, según he podido saber DuckDuckGo‘ando por la web, que puede ser por culpa de algún plugin marcado como roto en el repositorio que en su mal funcionamiento consigue anularlo.

Para desfacer el entuerto no hay más que conectarse al Raspberry Pi y abrir el siguiente directorio:

cd .xbmc/userdata/Database/

y renombrar o directamente eliminar el siguiente archivo:

mv Addons15.db Addons15.db.save

Y listo, ya podemos conectarnos a los servidores de Youtube o Vimeo

ACTUALIZACIóN:

Este método también soluciona el problema con los plugins de Euronews, ESA Videos y sospecho que algún otro.

Raspbmc no muestra las miniaturas.

El único problema que me he encontrado con Raspbmc es que, aunque funciona a las mil maravillas out of the box, no muestra las miniaturas de los archivos de vídeo a medida que navegas por los directorios buscando la peli que quieres ver. Pero, por fortuna, la solución es muy sencilla.

Conéctate al RPi con tu ordenador habitual a través de ssh. Cuando tengas el cursor esperando órdenes, teclea

sudo initctl stop xbmc

para detener el programa y poder hacer cambios en el archivo de configuración de la interfaz:

nano /home/pi/.xbmc/userdata/guisettings.xml

Busca la línea (está cerca del inicio del archivo) que pone

<extractthumb>false</extractthumb>

y cámbiala por

<extractthumb>true</extractthumb>

Guarda el archivo con Control+O y ciérralo con Control+X.

Ahora sólo tienes que volver a iniciar el programa con

sudo initctl start xbmc

Es así de fácil. Ahora verás las miniaturas de tus películas y series.

Convierte tu Raspberry Pi en un centro multimedia.

Esta es la última entrada de una serie dedicada al pequeño Raspberry Pi.

Ingredientes:

Un Raspberry Pi.

Una tarjeta SD de 4 GB donde se instalará el sistema operativo y aplicaciones.

Una conexión a internet por cable cerca del Raspberry Pi (router, plc, etc).

Un ordenador con conexión a internet y lector de tarjetas.

Un televisor con entrada HDMI (y, si quieres sacarle todo el jugo, que sea FullHD).

Vamos a utilizar una distribución de GNU/Linux como centro multimedia dedicado. Está basada en Debian y construida especialmente para convertir el pequeño Raspberry en un fantástico reproductor. Se llama Raspbmc y es una variación del Raspbian que usamos en los tutoriales anteriores y XBMC, para mí el mejor “media center” con mucha diferencia.

Antes de empezar, una aclaración. Si tu librería multimedia tiene muchos archivos codificados en MPEG2 (el formato del DVD) tienes la posibilidad de comprar, por unas módicas 2,40 libras esterlinas, el códec para descodificar esos archivos. Sin embargo, la capacidad del Raspberry es muy limitada a la hora de sacar información de un archivo ISO. De modo que los archivos MPEG o los de tipo VOB propios de un DVD no te darán problemas, pero las imágenes de disco sí. Así que si tienes muchas copias de seguridad de tus películas en formato ISO, vete pensando en otro equipo o en recodificar tu colección en un formato moderno.

Eso, he escogido Raspbmc y lo vamos a instalar. Asumo que, como en todos los post hasta ahora, en el ordenador que usas corre Debian u otra distro GNU/Linux. Si lo estás haciendo a través de un ordenador con Windows, sigue estas instrucciones. Comenzamos el proceso con Linux:

Coge tu tarjeta SD y la insertas en el lector de tarjetas de un ordenador con conexión a internet. Comprueba el nombre del dispositivo, no de la partición de la tarjeta, con:

fdisk -l

como root. Anótalo o recuérdalo.

Ahora vamos a conseguir la imagen de instalación por internet. En un terminal de usuario, no es necesario que sea root:

wget http://svn.stmlabs.com/svn/raspbmc/testing/installers/python/install.py

chmod +x install.py

Eso descargará un script en python que dará el formato necesario a la tarjeta e incluirá los archivos de arranque necesarios. Hazlo correr como root:

python install.py

Nos pedirá que escojamos el dispositivo en el que instalar de una lista. En ocasiones (a mí me ha pasado) no hay lista, pero no importa, teclea el nombre de la partición que anotaste antes (por ejemplo, sdb). Al pulsar Enter comenzará el proceso. Cuando concluya, no configures la red ni nada a través del asistente que aparece a continuación (aunque probablemente sea interesante si necesitas configurar una red inalámbrica, pero yo no lo he necesitado y no lo he probado). Extrae la tarjeta y llévala al Raspberry Pi.

Ahora el Raspito deberá estar conectado a la tele Y a internet a través del cable, bien con un PLC, como en mi caso, bien con un router o un módem directamente. Conecta también los perféricos que vas a usar, como un ratón inalámbrico, un teclado, etc. Inserta la tarjeta y enciende el ordenador. Él solito se descargará el sistema operativo, XBMC y todo lo necesario. Luego se reiniciará y lo tendrás listo.

Así, tal cual, ya funciona bien y no necesita más. Pero siempre se puede mejorar un poco la configuración de fábrica. En un principio, se puede cambiar el idioma de la interfaz. Dirígete a la opción “System” y del submenú selecciona “settings”. Ahora, en la primera opción, “Appereance”, selecciona “International”. Dentro de este menú podrás seleccionar el idioma que quieras, la zona horaria y los idiomas preferidos para cuando haya posibilidad de escoger entre varios subtitulos o pistas de audio en una película.

Lo primero en cuanto a la red es, en mi opinión, definir una ip fija para facilitar las conexiones desde otro ordenador de la red doméstica. Navega con el teclado o el ratón por el menú hasta la entrada “Programas”. Solo hay una opción: “Raspbmc settings”. Selecciónala. Ahora busca las conexiones de red en la pestaña “Network Configuration”, que es la primera, la que aparece por defecto. Completa los datos con los valores deseados. Recuerda que la IP (IP address) la escoges tú, la máscara de red (Subnet Mask) es 255.255.255.0 y la puerta de enlace o gateway es la dirección del router.

Si has comprado el codec del que hablamos antes, tienes que introducir el código que has recibido en tu correo electrónico a través de esta herramienta, nunca a través de la edición manual de los archivos. Lo digo porque se te pedirá que añadas un código en el archivo /boot/config.txt. Yo lo he hecho manualmente y, aunque funcione la descodificación de esos vídeos, el método manual no hará más que conseguir que se muestren mensajes de error en el arranque y errores que terminarán por desesperarte. Usando el programa “Raspbmc settings” no tendrás ningún problema; cambia a la pestaña “System Configuration”. En el apartado “Advanced system settings” encontrarás el campo para introducir el código que has adquirido.

Aunque no tan a fondo como el sistema que se usa para descargar 24/7, es necesario aumentar las seguridad de un equipo conectado a la red. Lo único en ese aspecto que yo he hecho es cambiar la contraseña del usuario para que una conexión externa no se encuentre con la contraseña por defecto.  Conéctate al sistema con el ordenador con el que has hecho la instalación con el comando

ssh pi@ip.del.raspberry

Se te pedirá la contraseña que es “raspberry” y verás el prompt de la línea de comando del usuario “pi”. Cambia la contraseña con:

sudo passwd pi

Introduce la antigua y luego la nueva y repítela. Listo.

Una cosa más. Si la televisión a la que lo tienes conectado tiene algún modo de vídeo de pantalla completa o ampliación de imagen o lo que sea, puede que no veas toda la pantalla. Tienes que seleccionar un modo de vídeo “punto por punto” o, si no lo deseas, no puedes o no te conviene, busca la opción “Sistema” en el menú y dentro de ella la opción “Ajustes”, “Sistema” y “Hardware de vídeo”. Verás la posiblidad de calibrar la pantalla (opción “calibración de vídeo”. Tienes que arrastrar las esquinas superior izquierda e inferior derecha hasta que coincidan con el borde de la pantalla de la tele. También puedes ajustar la altura de la barra de subtítulos y la deformación de la imagen en el cuadrado central. Ajústalo todo como desees y sal con “Esc” o botón derecho del ratón.

Raspbmc incluye un adaptador CEC, es decir, un controlador para los sistemas de comunicación entre dispositivos a través del cable HDMI. Por tanto, si tu televisor soporta esa opción podrás usarla para controlar el media center a través del mando del televisor. En internet he visto vídeos con televisores Samsung y en mi caso he probado con Sharp Aquos y sistema Aquos Link. Y funciona de maravilla, aunque es posible que necesites reiniciar la tele apagándola y cortando la alimentación un rato.

Todo listo. A disfrutar.