Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003
La PS3 no soporta ciertos formatos bastane utilizados como ciertas versiones de XviD o MKV, por lo que tras descargarse una película en esos formatos es necesaria una conversión a algún formato soportada por la consola. Tras varios intentos fallidos o demasiado complejos con Avidemux, ffmpeg y mencoder, di con Handbrake, que realiza la conversión a M4V con un par de clicks y aprovechando la potencia de los procesadores multinúcleo…
2/Dic/2009 | 0 comentarios | En Bitacoras.com
Lo sé, soy más obsesivo que Sheldon Cooper, pero odio que los paquetes de instalación de software no integrado en los repositorios oficiales de mi distribución me llenen el equipo de archivos donde no deben, como es el caso de Adobe Air, Adobe Reader o Google Chrome. En el caso de este último, el ritmo de actualización es alto y si se quiere tener configurado (con plugins activados y sin el aviso de desarrollo al abrirse) es necesario trastear un poco para que con cada actualización no se sobreescriban los cambios.
Mi opción es descargarme el paquete correspondiente, abrirlo y extraer del archivo data.tar.lzma el directorio /opt/google/chrome/, ubicándolo en un directorio específico para aplicaciones de usuario. Por otro lado, tengo el siguiente script para lanzarlo:
#!/bin/bash CHROME_HOME="$HOME/Applications/chrome" if [ "$1x" == "x" ]; then $CHROME_HOME/google-chrome --enable-plugins "google.es" else $CHROME_HOME/google-chrome --enable-plugins "$@" fi rmdir $HOME/Downloads
El script abre el navegador habilitando el soporte para complementos y con una pagina inicial, evitando que se abra el aviso de desarrollo y elimina el molesto directorio Downloads que versión si, versión no, crea aunque se haya configurado para guardar los archivos descargados en otra ubicación. Por último, sólo resta enlazar el directorio de plugins de Mozilla para tener soporte para Adobe Flash…
Siguiendo con la serie de entradas sobre OpenWRT el siguiente paso es instalar un servidor Subversion, complemento perfecto para desarrollo. En este caso será imprescindible contar con soporte de almacenamiento USB, ya que el tamaño de los repositorios crece rápidamente y el dispositivo no tiene capacidad suficiente.
Lo primero es instalar los paquetes necesarios:
opkg update opkg install subversion-client subversion-server
Se instalará el servidor nativo svnserve de forma muy básica, donde la configuración se encuentra en /etc/config/subversion. El problema es que no tiene autentificación pudiendo acceder cualquiera a los repositorios. Para añadir un poco de seguridad, debemos crear un fichero de configuración (en /mnt/usb/svn/svn.conf, por ejemplo) que contenga lo siguiente:
[general] realm = openwrt anon-access = none auth-access = write
Esto forzará que svnserve solicite identificación, pero como no se ha indicado un archivo de usuarios/contraseñas y no será posible acceder a través del protocolo nativo. Lo que interesa es que se pueda acceder a través de svn+ssh, pero por defecto OpenWRT sólo crea el usuario root y no dispone de los comandos típicos de gestió de usuarios y grupos, por lo que es necesario añadir los nuevos usuarios a pelo, editando el archivo /etc/passwd copiado la primera línea y modificando el nombre de usuario, el UID/GID y la ruta de su home:
root:[contraseña]/:0:0:root:/root:/bin/ash david:[contraseña]/:1013:1013:david:/home/david:/bin/ash
Recomendable usar un UID/GID mayor de 1000 y copiar la contraseña de root (que luego se puede cambiar con el comando passwd [usuario]) para poder probar el primer acceso. Del mismo modo, hay que editar el archivo /etc/groups:
root:x:0: david:x:1013:
Una vez añadido el usuario, bastará reiniciar el router para tener el servidor Subversion 100% operativo a través de svn+ssh. Para probarlo, se puede crear un repositorio con svnadmin create /var/local/svn/test e intentar acceder a él con el comando svn info svn+ssh://[router]/var/local/svn/test.
Opera para Linux por defecto añade un irritante tray icon y que en las preferencias no es posible desactivar. Por suerte, es posible pasarle al ejecutable un parámetro para ocultarlo pero que ha de hacerse en cada ejecución. Una opción es crear un acceso directo con la opción, pero resulta más útil modificar el lanzador para que se ejecute desde donde se ejecute (acceso directo, consola, lanzador de aplicaciones…) nunca añada el dichoso iconito. Únicamente hay que modificar la última línea del archivo /usr/bin/opera y dejarla como sigue:
exec "$OPERA_BINARYDIR/opera" -notrayicon "$@"
Eso sí, cada vez que se actualice habrá que volver a modificar el archivo…
PJSIP es un conjunto de librerías y utilidades VoIP multiplataforma, que incluye un potentísimo cliente SIP en línea de comandos llamado pjsua. Sus principales características son:
¿Y qué podemos hacer con esto?. Con la funcionalidad de auto-responder permite dejar el programa funcionando e iniciar una llamada sin tener que pulsar nada (algo así como el famoso truco James Bond para Nokia) o con la funcionalidad de grabación puede tenerse un número al que llamar para almacenar mensajes de voz. También pueden combinarse esas dos funcionalidades para crear un sound test service como el de Skype y probar así que el cliente funciona correctamene. Las posibilidades son enormes aparte de tener un cliente VoIP muy muy ligero en línea de comandos.
No se ofrecen binarios, pero puede compilarse fácilmente (incluso en Windows) con los comandos ./configure && make dep && make.
Una de las importantes funcionalidades de NetBeans 6.7 es el Issue Tracker nativo, una integración con sistemas de bug-tracking como Bugzilla o Jira. Soporta creación y edición de bugs, integración con el sistema de control de versiones y autentificación HTTP sobre la autentificación estándar. Pero el problema llega cuando un paranoico como yo tiene su sistema de bugs con SSL. La configuración se realiza sin problema y es posible consultar los bugs pero no modificarlos, mostrándose el error A repository error has occurred. Se debe a que el sistema no acepta el certificado, por lo que debe procesarse para que NetBeans lo tenga en cuenta. Lo primero es exportarlo a un archivo físico en el disco (en Firefox, la opción está en Ver Información de la página » Seguridad » Ver Certificado » Detalles » Exportar) y luego ejecutar:
keytool -import -alias Bugs -file <certificado> -keystore NetBeans -storepass netbeans
Este comando generará la key store necesaria para que NetBeans haga uso del certificado. Los parámetros, por supuesto, pueden modificarse. Yo ubiqué el archivo resultante en ~/.netbeans/ssl. Luego, hay que modificar el archivo etc/netbeans.conf y añadir al final de la opción netbeans_default_options:
-J-Djavax.net.ssl.trustStore=~/.netbeans/ssl/NetBeans -J-Djavax.net.ssl.trustStorePassword=netbeans
Evidententemente, modificando la ruta o la contraseña en caso de haberlas puesto diferentes. Luego, basta reiniciar NetBeans para tener el Issue Tracker 100% funcional…
Uso Mediawiki para bastantes cosas en el trabajo y para documentar cosillas personales. Resulta muy útil para tener a mano cierta información pero el skin por defecto es un asco para acceder con un móvil. Para arreglar eso existe una extensión MobileSkin que detecta qué navegador se está usando y carga el skin adecuado. Soporta bastantes dispositivos (Blackberry, iPhone/iPod, Symbian, Opera Mobile…) y es muy fácil de instalar.
7/Ago/2009 | 0 comentarios | En Bitacoras.com
Para controlar a este bicho mientras no estoy en casa, pensé en usar la webcam en streaming para poder conectarme desde cualquier lado con el móvil y ver qué está haciendo. Tras mirar varias alternativas, me decidí por ffmpeg por la cantidad de formatos en los que se puede emitir, además de ser relativamente fácil de configurar.
La emisión se basa en dos ejecutables: ffserver y ffmpeg. El primero se ejecuta en modo escucha y se encarga de hacer el streaming real mientras que el segundo le envía la imagen al primero.
Para empezar, es necesario crear un archivo de configuración tomando como base /etc/ffserver.conf, dejándolo como sigue:
Port 8090 BindAddress 0.0.0.0 MaxHTTPConnections 2000 MaxClients 1000 MaxBandwidth 1000 CustomLog - <Feed webcam.ffm> File /tmp/webcam.ffm FileMaxSize 5M </Feed> <Stream webcam.swf> Feed webcam.ffm Format swf VideoBitRate 320 VideoFrameRate 15 VideoSize 640x480 NoAudio VideoQMin 1 VideoQMax 3 </Stream> <Stream stat.html> Format status </Stream> <Redirect index.html> URL http://www.ffmpeg.org/ </Redirect>
Una vez configurado, es necesario lanzar el servidor con el comando:
ffserver -f ffserver.conf
Ahora sólo quedaría enviar la imagen al servidor con el comando ffmpeg y se puede utilizar cualquier entrada para redireccionarla al servidor. Por ejemplo, en el caso de una webcam, una capturadora de TV o cualquier entrada de vídeo, el comando sería:
ffmpeg -r 15 -s 320x240 -f video4linux -i /dev/video0 http://localhost:8090/webcam.ffm
Con mi cámara web Logitech Quickcam Messenger y el driver gspca me encontré con este error:
[flv @ 0x97df6f0]rc buffer underflow VIDIOCMCAPTURE: Invalid argument
Que pude solucionar añadiendo lo siguiente antes del comando ffmpeg:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
Si todo va bien, podremos ver la imagen emitida con el navegador, ya que creará un objeto Flash automáticamente
Para empezar a aprovechar mi nuevo router Asus me puse a instalar un servidor web que me permitiera tener siempre disponible el software que utilizo frecuentemente: un wiki y un gestor de favoritos. Tras probar Apache, Cherokee, Lighttpd y thttpd (todos en el repositorio oficial) me quedé con Lighttpd, ya que fué el más ligero, rápido y fácil de instalar.
Como comenté en mi anterior entrada, opté por OpenWRT como firmware para mi nuevo router principalmente por su parecido con Debian: instalación mínima y todo el resto vía repositorios. Pero como Debian, necesita algún tuneo para tener todo bien ajustado y cómodo.
Lo primero es añadir módulos a LuCI (la interfaz web de OpenWRT), que como todo también es modular. Es necesario instalar mediante opkg (y en la memoria del router, no en el dispositivo USB) los siguientes paquetes:
También es interesante mejorar un poco el intérprete de comandos (ash en este caso) modificando el archivo /etc/profile y añadiendo alias para hacer más facil el uso de ciertos comandos:
Por último, otros añadidos útiles son:
En los repositorios también hay muchas cosas interesantes, que pueden ser útiles si queremos acceder desde cualquier lugar via SSH, como el navegador web elinks o el cliente de correo mutt, ambos en modo texto. También existen multitud de servidores, como FreeRadius, OpenVPN, Samba, Subversion o NFS.
Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons