domingo, 6 de junio de 2010

Integrar Google Chrome en KDE

El navegador Google Chrome (y por extensión Chromium) presenta un aspecto nada integrado con el sistema cuando se ejecuta en un sistema operativo GNU/Linux. El sistema de temas hace que su aspecto sea completamente distinto al del resto de aplicaciones del escritorio y las decoraciones de ventana en cliente hacen que no tenga un comportamiento ni aspecto consistente con el gestor de ventanas.

Como usuario habitual de KDE SC esto siempre me ha molestado, principalmente porque elijo Chromium como navegador por su velocidad y rendimiento (si bien soy consciente de la voracidad en cuanto a memoria se refiere, nada que no se solucione reiniciándolo cada pocas horas).

¿Cómo solucionar esta situación? Por fortuna, el navegador ofrece la posibilidad de dejar la decoración de la ventana al gestor de ventanas y emplear el tema visual de GTK. Puesto que KDE SC emplea Qt como librería de controles hay que elegir un tema GTK de colores y diseño parecido al usado en Qt. Para activar estas opciones hay que realizar estos cambios en el cuadro de opciones:


En la sección Appearance, dentro de la pestaña Personal Stuff, hay que marcar Use GTK+ theme y Use System title bar and borders. Tras reiniciar el navegador el borde de la ventana pasará a ser el empleado por el gestor de ventanas, y el aspecto visual el elegido para GTK. Para acabar una muestra en mi escritorio, usando KDE SC y Compiz-Fusion como gestor de ventanas:


Nótese la similitud de Chromium con Dolphin, el gestor de archivos que aparece tras la ventana del navegador.

lunes, 10 de mayo de 2010

Convertir secuencia de imágenes en vídeo

Hace poco me he visto en la necesidad de convertir secuencias de imágenes en vídeos. ¿Por qué? En mi caso genero animaciones fotograma a fotograma, y luego compongo el vídeo a partir de ellas, pero puede emplearse para montar presentaciones, crear time-lapses, etc.

Buscando en Google he visto que la forma más sencilla (trabajo sobre GNU/Linux) es empleando FFmpeg. Con una sencilla orden puedo convertir la secuencia de imágenes en vídeo alterando algunos parámetros. Tras mis investigaciones por foros, he guardado estas distintas opciones como útiles para mis fines.

ffmpeg -f image2 -i frame%04d.png -r 24 out.mpg

Esta orden convierte todos los archivos de nombre frame####.png (donde #### es el número de secuencia) en un vídeo llamado out.mpg que reproduce a 24 fotogramas por segundo (-r 24). Si queremos variar el número de cifras de la parte de secuencia del nombre del archivo (digamos que frame01 en vez de frame0001) hay que variar el número que aparece entre el %0 y la d (en el ejemplo, quedaría %02d).

Variando la extensión del archivo de salida se consigue que emplee diversos formatos. A mí me ha funcionado con flv, mpg, mp4 y avi. Sin embargo, es con el codec h.264 con el que he conseguido los mejores ratios de calidad/tamaño. Para ello, hay que ejecutarlo de la siguiente manera:
ffmpeg -f image2 -i frame%04d.png -r 24 -vcodec libx264 out.mp4
Para obtener la máxima calidad con una compresión bastante decente con el codec h.264 conseguí encontrar una serie de parámetros que dieron muy buenos resultados. Lamentablemente no guardé el enlace del foro en donde se discutían, sólo anoté la combinación que me funcionó. Se trata de la siguiente orden:
ffmpeg -f image2 -i frame%04d.png -threads 0 -r 24 -vcodec libx264 -level 41 -crf 20 -bufsize 20000k -maxrate 25000k -g 250 -coder 1 -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +dct8x8+bpyramid -subq 7 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -rc_eq 'blurCplx^(1-qComp)' -bf 16 -b_strategy 1 -bidir_refine 1 -refs 6 -deblockalpha 0 -deblockbeta 0 out.mp4
Se puede hacer acto de fe y creer que funciona ciegamente, pero para los curiosos: en la web de FFmpeg se explican todos y cada de estos parámetros.

Con esto ya cubro mis necesidades de creación de vídeos. En los próximos días crearé un nuevo post con resultados.

domingo, 2 de mayo de 2010

Atontaus in Town

Actualización: Al final no pudo ser, pero llegamos a la final. ¡Muchas gracias a todos los que nos votaron! Dejo el enlace al corto original:







Recientemente he participado en la realización de un corto titulado "Atontaus in Town" con diversos amigos. El motivo ha sido la participación en un concurso de cortos para promover el aprendizaje de distintas lenguas.

Desde aquí pido la ayuda de los lectores para conseguir ganar ^^ Podéis verlo, votarlo y comentarlo en la siguiente dirección:

"Atontaus in Town"

Por otro lado, podéis hablar con gente del equipo y ver imágenes del making of en el grupo de Facebook:


¡Muchas gracias a todos!

PD: Uno de los fondos realizados en 3D (el que me correspondió a mí) fue hecho con Blender 2.5:

Ceiling (Blender 2.5 Alpha 2)

miércoles, 10 de marzo de 2010

Jugar a Starcraft II Beta Offline

Por fin ha comenzado el periodo de beta de uno de los juegos de estrategia en tiempo real más esperados: Starcraft II. La beta es cerrada, sólo para personas a las que Blizzard haya seleccionado (vía registro online en su web) y sólo permite el juego online en battle.net.

Para los que tengáis el cliente de la beta y no tengáis conexión a internet, o simplemente queráis practicar jugando contra el ordenador, existe un lanzador que permite elegir jugadores, razas, colores, mapa e inteligencia artificial. No hay más que descargarlo, descomprimirlo en el directorio del juego, y ejecutarlo. Presentará una sencilla interfaz para configurar todo. La web para descargarlo es:

lunes, 15 de febrero de 2010

HTML 5 Vídeo y Youtube

Recientemente me he percatado de que en Youtube ya ofrecen soporte experimental para el tag video de HTML 5 y puede emplearse en lugar del reproductor Flash. Lo he estado probando con Google Chrome y funciona perfectamente, además de aparecer una nueva opción: variar la velocidad de reproducción.

Espero que sea el principio del fin de tener que utilizar un plugin para reproducir contenido multimedia y depender de un tercero para poder visualizar vídeos. A ver si por fin se comienza a emplear el estándar y la gente de Microsoft lo implementa, o los usuarios de Internet Explroer serán los únicos que necesiten plugins para ver vídeos.

Más información en Youtube: YouTube HTML5 Video Player

martes, 9 de febrero de 2010

Symbian libre

Recientemente se ha hecho público que Nokia ha liberado en su totalidad el código de Symbian, su sistema operativo para móviles. Parece ser que por fin todas las grandes empresas se están dando cuenta de que eso es el futuro. Ya sólo queda Microsoft. Más enlaces e información (incluído comentarios interesantes) en Slashdot:

http://mobile.slashdot.org/story/10/02/04/2032209/Symbian-Completes-Transition-To-Open-Source

viernes, 22 de enero de 2010

Páginas estáticas en Blogger

Blogger por fin ha incorporado el concepto de páginas estáticas a su servicio, algo que Wordpress ha estado ofreciendo desde hace mucho tiempo y era muy demandado por los usuarios.

Un página estática es una página que puede ser editada y está siempre disponible, como un enlace acerca del blog, datos de contacto, etc., y que por lo general se suele poder acceder mediante una barra de navegación en la parte superior.

De momento el servicio se encuentra en fase de pruebas, en Blogger in Draft. Lo he estado probando y parece que todo funciona correctamente. En el futuro se extenderá a todos los usuariso de Blogger, pero al menos ya puede emplearse si se necesita.

miércoles, 20 de enero de 2010

Google Chrome OS

Chrome OS es el nombre del sistema operativo basado en Linux que Google anunció a mediados del pasado año. Es un sistema muy simple, tan simple que sólo permite la ejecución de una única aplicación, que hace las veces de entorno de escritorio y gestor de aplicaciones: Google Chrome, el navegador que desarrolla Google basado en Webkit.

El objetivo de este sistema es cubrir las necesidades de las personas que usan el ordenador para poco más que navegar por internet y uso casual de aplicaciones ofimáticas. Ofrece sencilla integración con las aplicaciones web de Google y promueve el almacenamiento en sus servidores de la información personal (documentos, preferencias, etc), de forma que esté accesible desde cualquier terminal que se emplee. Es destacable la velocidad de arranque, desde que se enciende la máquina hasta que aparece la pantalla de login: unos pocos segundos. Además es fácilmente accesible y visible el estado de batería y red inalámbrica. En mi opinión parece diseñado para correr sobre netbooks, donde los usuarios esperan arranques rápidos y usan casi exclusivamente el navegador en redes inalámbricas.

El pasado noviembre Google anunciaba que liberaba el código de Chrome OS bajo el nombre de Chromium OS, como ya hiciera en su día con Chromium. Se encuentra aún en un estado bastante primitivo, y desde la web y la documentación se hace hincapié en la falta de madurez del código en general y de la interfaz en particular, que aún podrá evolucionar bastante respecto a su estado actual.

Desde que Google liberara el código fuente un estudiante británico ha estado trabajando en una distribución del sistema operativo llamada ChromiumOS Zero. Es esta distribución la que he estado probando, y presento unas cuantas capturas de pantalla para compartir mis impresiones.



La pantalla de conexión aparece tras unos pocos segundos desde el encendido. El diseño ha sido personalizado por el autor de la distribución. Aquí introduje el usuario y contraseña de mi cuenta de Google, y pasó a la siguiente pantalla.



La configuración de red la debió obtener automáticamente por DHCP desde el router de mi red local. No hizo preguntas, simplemente funcionó. Tras escasos segundos esta pantalla, personalizada también, dejó paso al navegador a pantalla completa: Google Chrome.



A primera vista el aspecto es bastante similar al del navegador como aplicación independiente que se encuentra disponible para Windows, Linux y Mac OS. Abre en el primer arranque la dirección del autor de la distribución. Destaca un nuevo icono, en la esquina superior izquierda, que es el que abre el menú de aplicaciones. En la esquina superior derecha se encuentran el reloj, el icono de información del idioma del teclado, del estado de red y de la batería.

También se observa un nuevo tipo de pestaña: las pestañas fijas. Estas pestañas no se pueden cerrar por error presionando el botón que en las convencionales existe. Su tamaño se reduce al de sólo el icono, ahorrando espacio. Es fácil convertir una pestaña fija en una convencional y viceversa, con una opción en el menú que aparece al hacer clic con el botón derecho del ratón sobre ellas.



En el menú de aplicaciones se encuentran las aplicaciones disponibles (¡sorpresa!). Como el fin del sistema es el de servir de interfaz para aplicaciones web la mayor parte de estos iconos se limitan a abrir la dirección correspondiente en una nueva pestaña. Todos estos servicios se encuentran igualmente disponibles desde cualquier navegador en un sistema operativo convencional, nada especial aquí.

La única novedad es la tercera fila de iconos (Contacts, Calculator, To-do list, Calendar Panel). Representan lo que los diseñadores del interfaz han llamado paneles. Un panel es un área que se despliega desde la parte inferior de la pantalla con una pequeña herramienta, y se puede volver a plegar, reduciéndose a un pequeño recuadro con su nombre en el borde inferior de la pantalla. Es posible tener diversos paneles cargados al mismo tiempo y, según los diseños, en el futuro se podrán mover a distintos bordes de la pantalla con opción de ocultar/mostrar automáticamente.



En la anterior captura es visible el panel que corresponde al calendario desplegado sobre una pestaña del navegador, y otros dos plegados sobre el borde inferior (Calculator, Google Talk). Los paneles son regulables en altura.



El gestor de procesos disponible en Chrome también se encuentra en Chrome OS. Desde aquí es posible averiguar qué pestañas emplean más recursos. Destaca la apariencia característica de los controles: Gtk. Es la librería de controles que han empleado para el desarrollo del navegador.



En la ventana de opciones del navegador ha aparecido una nueva pestaña relacionada con la configuración del sistema operativo, aunque de momento el número de opciones disponibles es más bien escaso. De nuevo resalta el aspecto Gtk: me recuerda a OpenOffice.org, Gimp. Gnome...



La anterior captura acaba por confirmar lo que me parecía evidente: Gtk es la librería de controles. Puede verse el cuadro de diálogo típico para abrir/guardar archivos. Esta captura no la he incluido para decir esto, sino para ilustrar un problema que me he encontrado: la ausencia de gestor de ventanas. Cualquier ventana que no sea la principal del navegador aparece ocupando la pantalla completa, sin bordes ni posibilidad de cambio de tamaño. La excepción es este cuadro de diálogo modal, que es de un tamaño más reducido. Sin embargo la imposibilidad de actuar sobre sus dimensiones hace que sea muy difícil de manejar por no haber suficiente espacio para todos los controles.



Se incluye también una herramienta para analizar la memoria empleada por los diversos procesos relacionados con el sistema. Es útil para comprobar cuánta memoria emplea Chrome en comparación con otros navegadores, y parece que abren la posibilidad a, en el futuro, poder usar otros además de Chrome en Chrome OS (aunque menciona IE no creo que esa situación vaya a darse).

Destaco el aspecto de la utilidad, integrada en una pestaña y con un diseño agradable y coherente con el resto del interfaz. Contrasta con las pantallas de opciones y gestor de tareas, que se imponen encima del interfaz con un aspecto radicalmente distinto. En mi opinión deberían integrarse también, como se ha hecho con la herramienta de memoria o el menú de aplicaciones.



Si se presiona Ctrl+Alt+T se abre una consola, para poder introducir comandos. Debido a lo primitivo del interfaz ha de ser desde aquí donde se configuren opciones de red distintas a DHCP, Proxy, idioma del teclado, resolución, apagar/reiniciar el sistema... Vi se encuentra instalado, así que se puede emplear para modificar los archivos de configuración (más información sobre estos asuntos en la web de la distribución).



Por fin, para acabar, una captura con el navegador visitando mi blog. Podría haber hecho una entrada recursiva, escribiendo este texto sobre Chrome OS desde Chrome OS, pero lo he ejecutado sobre una máquina virtual y la latencia hubiera podido conmigo. Me doy cuenta de que tengo que cambiar esa fotografía mía, que tendrá ya cerca de seis años, por una más actualizada.

Tras esta experiencia, ¿qué pienso de Google Chrome OS? Lo primero, que aún se encuentra muy verde. Imaginando el futuro, cuando se encuentre más completo, puedo verlo en algunos netbooks y otros dispositivos similares (por ejemplo, un Nokia N900), y en terminales públicos para acceder a internet. Habrá quien lo use también en máquinas de escritorio, pero no creo que tenga mucha aceptación a ese nivel; a no ser que se abra a más casos de uso que el actual de sólo navegar por internet. También puede haber quien piense: "bueno, le instalo paquetes de algún repositorio y le doto de un gestor de ventanas y algunas aplicaciones adicionales". Y en ese caso yo le preguntaría: "¿Por qué?". Si tuviera un netbook y quisiera un sistema operativo reducido para navegar y poco más instalaría mi distro de Linux favorita, Xfce como gestor de ventanas y, si quiero Chrome, pues Chrome como navegador, y tendría la posibilidad de fácilmente ampliarla. No hay necesidad de complicación implementando casos de uso en un sistema operativo no pensado para ello cuando ya existen plataformas más abiertas para tal fin. También me viene KDE 4 con su nueva interfaz para netbooks a la cabeza como alternativa: Plasma on netbook.

En definitiva, con su línea actual Google Chrome OS no es para mí, pero le veo futuro en distintos sectores. Si diversifican los casos de uso, el tiempo dirá si consigue hacerse un hueco en sistemas de escritorio o no.

domingo, 3 de enero de 2010

Google Nexus One

En Engadget han publicado las primeras impresiones con el prototipo del primer teléfono que comercializará directamente Google, con Google Android 2.1. El fabricante ha sido HTC. Más información en: Exclusive: Google Nexus One hands-on, video, and first impressions.