Hoy he lanzado dos nuevas versiones de manera simultánea. La primera es la versión 1.3 de HTMLProc, el preprocesador de HTML que utilizo para generar mi página web. Se trata de un cambio casi sin importancia: ya no da un Warning al usar enlaces dentro de la misma página (los famosos a h ref=»#…)
Y para los que se pregunten el por qué de usar un preprocesador, la respuesta es que simplifica un montón de detalles. Por ejemplo, permite hacer #includes de otros ficheros, cosa que, sin él, obligaría a copiar y pegar un montón de código repetido en cada página (y posiblemente teniendo que modificarlo de manera diferente en cada una de ellas), o usar PHP incluso para páginas completamente estáticas. Otro detalle que simplifica es la gestión de las rutas de cada fichero. En efecto, convierte todas las rutas de absolutas a relativas, lo que permite usar el mismo archivo de menús para todas las páginas, aunque estén en directorios diferentes. Por último, añade los campos width y height a las imágenes, con lo que la carga es mucho más eficiente cuando se usan conexiones lentas (vale que hoy en día no es algo tan útil, pues todo el mundo tiene ADSL o cable, pero cuando lo creé sí tenía mucho sentido).
Pasando a DeVeDe, los cambios son realmente muchos. El más visible es, sin duda, el nuevo sistema de menús. En esta nueva versión eliminé el feo recuadro rosa alrededor del título e hice que sea éste el que se ilumine. La razón de no haberlo hecho así al principio era que la imagen con la parte seleccionada tiene que tener un máximo de cuatro colores, cosa que con Cairo no es posible hacer directamente. Sin embargo, Mohojolder me envió un parche en el que conseguía hacer ésto usando convert, una de las utilidades de ImageMagick. Además movió el menú al centro de la pantalla. Aunque la idea era buena, el código no me convencía, así que decidí reescribirlo y, además, permitir que el usuario pudiese escoger donde colocar el menú (arriba, centrado o abajo), y los colores tanto del fondo como de las letras.
El segundo cambio importante es que ahora puede ajustar automáticamente la tasa de bits de los vídeos, de manera que ya no será necesario ir probando valores hasta que consigamos unos que llenen bien el disco. Este cálculo no se hace a la ligera, sino que se tiene en cuenta la resolución final del vídeo (dándole más tasa a aquellos que tienen más resolución), la tasa de audio, el número de subtítulos, y si el vídeo se está recodificando o simplemente copiando. Gracias a esta opción, crear un DVD será tan sencillo como arrastrar los vídeos a la ventana en cada uno de los títulos deseados, pulsar dicho botón, y la estructura estará lista para grabarse.
Y ésto nos lleva al siguiente cambio importante: el soporte de hasta 32 subtítulos diferentes. Ahora ya se pueden tener en un mismo vídeo los subtítulos en castellano, inglés y bielorruso. Además también se puede especificar la lengua en la que están cada uno de ellos, de manera que el reproductor nos lo indicará en pantalla.
Otra novedad muy solicitada es el permitir escoger el flujo de audio que se usará, cuando el archivo original contiene varios audios. Aunque muchos usuarios me piden poder generar discos con varias pistas de sonido, actualmente no es posible porque Mencoder no lo soporta (a menos que alguien del público sepa como hacerlo, claro…).
También permite rotar e invertir los vídeos. Esta opción hará las delícias de los usuarios que quieran pasar a un CD o DVD los vídeos hechos con su móvil y se encuentren con que lo tenían girado. A ésto hay que sumar el permitir mezclar en un mismo disco contenido en formato panorámico y normal, además de permitir generar ficheros DivX en Alta Definición (útil para aquellos que quieran recodificar ficheros Matroska en HD).
También añadí soporte para CPUs de varios núcleos. Este activa el flag de Mencoder que permite que éste use X núcleos en paralelo. Por desgracia, la ganancia no parece ser del doble, sino que está en torno a un 50% más.
Por último, ahora se pueden añadir parámetros extra no sólo del grupo de parámetros independientes, sino también en lavcopts, lameopts y vf. De esta manera es más fácil cambiar la matriz de cuantización u otras acciones.
El resto son novedades menores. Espero que lo disfruteis.