freesteam, programa para calcular propiedades de agua y vapor

Hace tiempo que vengo aprendiendo python, y este es el primer programa que publico, de hecho se trata de lo que iba a ser una herramienta de un proyecto mayor pero que he decidido separar.
Freesteam, se trata de una herramienta con licencia gnu que permite el cálculo de propiedades del agua (liquida o vapor). Esta más enfocada al desarrollo que al usuario final ya que lo que aporta son librerías de calculo de las propiedades (en C, en python, fortran o ASCEND).
Hace tiempo que la usaba como librería en otro proyecto, pero finalmente decidí colaborar con freesteam y aportar una gui para este programa.
Esta escrito en python con qt como librería gráfica, como digo es el primer proyecto así que seguro que tiene muchos fallos e ineficiencias pero es un principio.

Características:


  • Tabla de propiedades de dos ejes, capaz de exportar en formato csv

  • Gráficos 3D de propiedades de vapor

  • Diagramas termodinámicos en 2D

  • Soporte para isolíneas (isotermas, isocoras, isobaras, ...)

  • Soporte para puntos individuales

  • Guarda configuración de una sesión a otra

  • Sistema de unidades configurable

  • Soporte para internacionalización (de momento solo tiene traducciones en inglés y español) Estaré encantado si alguien se anima a aportar la traducción a otros idiomas.



Descarga:
De momento el gui solo está disponible en el repositorio svn del proyecto, así que para descargarlo hace falta tener subversion instalado, y para descargarlo ejecutamos este comando en una terminal que nos creará un directorio freesteam con una copia de trabajo del proyecto:

svn co https://freesteam.svn.sourceforge.net/svnroot/freesteam freesteam


En el directorio creado buscamos la carpeta pyqt y ahí está el script del gui, UI_steamTables.py

Dependencias:

  • pyqt4

  • matplotlib

  • numpy



Otra forma de instalarlo más sencilla, aunque no asegurar tener la última versión:
Instalamos los paquetes deb disponibles en la página del proyecto, en concreto libfreesteam1_2.0_i386.deb (la propia librería en c++) y python-freesteam_2.0_i386.deb (los binding de python).
A continuación descargamos los archivos del gui de aqui: http://tinyurl.com/39lbsrx
Lo descomprimimos y ejecutamos el archivo UI_steamTables.py
Unas capturillas:
Diagramas termodinámicos, con campana de saturación, isolineas, etiquetas:



Los gráficos se pueden navegar y guardar en un archivo con la barra de herramientas, por ejemplo, el diagrama T-s:


Grafico 3D con rejilla, isolineas y puntos específicos:


Ventana de caracteristicas de los puntos específicos:


Configuración del programa con sistema de unidades inglés


Locale en inglés con la tabla de propiedades:


Pues nada, espero que a alguien le resulte útil. Desde luego el campo de las aplicaciones científicas específicas es uno de los puntos débiles del software libre, faltan aplicaciones.

Chemcad en wine

Desgraciadamente, sigue habiendo lagunas en el software disponible para linux, vengo a hablar de un campo que no creo que interese a mucha gente, pero que demonios, es mi blog.
Se trata del campo de los simuladores de procesos, en windows hay varios, chemcad, hysys, aspen plus, todos ellos muy potentes, por supuesto comerciales, que no disponen de versión para linux y tampoco ninguna alternativa libre.
Existen programas para aplicaciones muy concretas, como gnuPinch (para análisis del optimo en sistemas de intercambiadores mediante el análisis Pinch), buenas calculadoras técnicas, como qalculate, conversores de unidades como gonvert. También existe potencia de cálculo, wxmaxima, octave, rkward, python con un montón de librerías de calculo, pero no hay nada concreto sobre simulación de procesos.

Afortunadamente chemcad, en su versión 5 funciona con wine (en concreto lo estoy utilizando con wine-1.1.11), y no requiere ninguna triquiñuela para instalarlo o ejecutarlo, simplemente el método normal:

$wine setup.exe
...
$wine "directorio/cc5.exe"



Funciona perfectamente, exceptuando la integración con excel, y la unidad excel que nos permitir personalizar un cálculo usando una hoja de excel externa.

Una cosa que podemos configurar para integrarlo más en linux son los editores que usará el programa para visualización de resultados, pudiendo así elegir editores nativos, para ello desde la ventana principal de chemcad, sin ningún proyecto abierto, vamos al menú File/Report View Setup y colocamos la ruta del ejecutable del editor que más nos guste:



Y la integración será casi total:



Desgraciadamente se trata de una versión relativamente antigua, la versión 6 he sido incapaz de instalarla en wine, aunque he de reconocer, que como muchos programas comerciales, no aporta grandes novedades, aparte de las visuales.
Chemcad es por así decirlo el simulador educativo (con mucha ayuda contextual para conocer el fundamento de los cálculos):



Lo que si es una pena es que otros simuladores más profesionales como hysys o aspen plus no haya manera de instalarlos bajo wine, no es que tengan capacidades de cálculo superiores a chemcad, pero si disponen de módulos muy potentes como el de analisis de viabilidad financiera del hysys

Calendario en conky

Para mostrar un calendario en conky se hace uso del comando cal, para saber como funciona leete su manpage (man cal en una terminal). Como verás tiene muchas opciones, podemos representar el año completo, el mes actual, el siguiente, al anterior, en fin, lo que se te ocurra o te interese.

Yo para permitirme poder cambiar el formato individual de cada parte del calendario, marcar el día actual, etc tengo un script que me facilita las llamadas desde conky, calendario.sh

#! /bin/sh
#str=`echo '\033[01;32m29'`

DATE=`date | awk -F" " '{print $3}'`

case "$1" in
mes)
cal -m | head -n1
;;
semana)
cal -m | head -n2 | tail -n1
;;
pasado)
cal -m | grep -v '[a-zA-Z]' | grep '[0-9]' | awk -F$DATE ' BEGIN {i=0}
($1 == $0 && i==0) {print $1}($1 != $0 && i==0){i=i+1;print $1}';
;;
hoy)
echo $DATE;
;;
futuro)
cal -m | grep -v '[a-zA-Z]' | grep '[0-9]' | awk -F$DATE ' BEGIN {i=1}
(i==0) {print $0}($1 != $0 && i==1){i=i-1;print $2}';
;;
esac

Así llamando a las diferentes partes del script puedo obtener la información para conky para poder darle diferente formato obteniendo algo como:


que corresponde a las líneas en el conkyrc:

${color white}${font LCDMono:size=30}${time %H:%M}$font${voffset -10}${font LCDMono:size=16}${time :%S}$font
${voffset 7}${color gold}${execi 60 ~/configuracion/calendario.sh mes}
${color dddddd}${execi 60 ~/configuracion/calendario.sh semana}
${color 888888}${execi 60 ~/configuracion/calendario.sh pasado}${color red}${execi 60 ~/configuracion/calendario.sh hoy}${color 888888}${execi 60 ~/configuracion/calendario.sh futuro}

y en donde uso la fuente LCD Mono para la hora.
Por supuesto esto es un ejemplo de como lo tengo configurado, hay miles de formas de configurarlo.

aMule en conky

Como no, también se puede mostrar información del amule en conky.
Para poder utilizarlo hay que activar la firma online en la configuración del amule:


así el programa irá guardando los datos importantes de la conexión en el archivo ~/.amule/amulesig.dat, y de ahí podremos ir sacando los datos que queramos para ponerlos en pantalla.
El archivo se compone de 17 líneas con diferente información:
  1. Estado de la conexión, 0 si está desconectado, 1 si está online y 2 si está conectado a la red ED2K
  2. El nombre del servidor al que está conectado
  3. La ip del servidor al que está conectado
  4. El puerto que usa el servidor
  5. Estado de la red ED2K, H si es HighID, L si es LowID
  6. Estado de la red Kad, 0 si está desconectado, 1 si está firewalled, 2 si está bién
  7. Velocidad de descarga en KB/s
  8. Velocidad de subida en KB/s
  9. El número de clientes en nuestra cola de subida
  10. El número de archivos compartidos
  11. Nuestro nick de usuario
  12. Cantidad total de datos descargados, ojo, en bytes
  13. Cantidad total de datos subidos, en bytes
  14. La versión del amule
  15. Cantidad de datos descargados durante la sesión, también en bytes
  16. Cantidad de datos subidos durante la sesión, en bytes
  17. Tiempo, en segundos, de la sesión actual
Algunos de estos datos son directamente utilizables, otros necesitan un retocado para presentarlos por pantalla, como en el caso del estado de las redes, poner 0 y 1 no sería demasiado intuitivo, o convertir el tiempo en h:min:seg y las cantidades de datos en sus unidades más adecuadas, para ello que uso una subrutina (es lo que primero que me he atrevido a "programar" xD) para convertirlos en mensajes normales OK, firewalled, highID...como el tiempo de sesión, o el estado de las redes, para lo cual uso el siguiente script, amule.sh.

Como se puede ver se pueden representar muchas datos:



ya queda a gusto del usuario qué representar, desde algo sencillo:

que corresponde a estás líneas de código en el archivo de configuración:
${if_running amule}${color #0077ff}${alignc}aMule
${color #888888}Conectado a ${color}${execi 50 head -n2 ~/.aMule/amulesig.dat |tail -n1}
${color #888888}ED2K ${color}${execi 5 ~/configuracion/amule.sh ed2k}${alignr}${color #888888}KAD ${color}${execi 5 ~/configuracion/amule.sh kad}
${color #888888}Up: ${color}${execi 5 head -n8 ~/.aMule/amulesig.dat |tail -n1}k/s${alignr}${color #888888}Down: ${color}${execi 5 head -n7 ~/.aMule/amulesig.dat |tail -n1}k/s
${voffset -5}$color$stippled_hr$endif
hasta algo más completo como:

que corresponde a :
${if_running amule}${voffset 5}${color white}${font lprabbits1:size=18}H${voffset -7}${font Anklepants:regular:size=11}${color #5da5d3} aMule$font  ${color gold}${font Arrows:size=10}N$font${execi 60 cat /home/jjgomera/.aMule/logfile |grep -c "Descarga terminada:"}$alignr${color #888888}Sesion: ${color}${execi 5  ~/configuracion/amule.sh horas}h ${execi 5  ~/configuracion/amule.sh minutos}m ${execi 5  ~/configuracion/amule.sh segundos}s
${voffset -7}${color #ffd700}${hr 1}$color
${color #888888}Conectado a ${color}${execi 50 head -n2 ~/.aMule/amulesig.dat |tail -n1}
${color #888888}ED2K ${color}${execi 5 ~/configuracion/amule.sh ed2k}${alignr}${color #888888}KAD ${color}${execi 5 ~/configuracion/amule.sh kad}
${color #888888}Compartidos: ${color}${execi 50 head -n10 ~/.aMule/amulesig.dat |tail -n1}$alignr${color #888888}En cola: ${color}${execi 50 head -n9 ~/.aMule/amulesig.dat |tail -n1}
${color #888888}Subida: ${color}${execi 5 head -n8 ~/.aMule/amulesig.dat |tail -n1}k/s${alignr}${color #888888}${color}${execi 5 ~/configuracion/amule.sh subidosesion} ${execi 5 ~/configuracion/amule.sh unidadsubidosesion} ${color #888888}(${execi 5 ~/configuracion/amule.sh subidototal} ${execi 5 ~/configuracion/amule.sh unidadsubidototal})
${color #888888}Descarga: ${color}${execi 5 head -n7 ~/.aMule/amulesig.dat |tail -n1}k/s${alignr}${color #888888}${color}${execi 5 ~/configuracion/amule.sh descargadosesion} ${execi 5 ~/configuracion/amule.sh unidaddescargadosesion} ${color #888888}(${execi 5 ~/configuracion/amule.sh descargadototal} ${execi 5 ~/configuracion/amule.sh unidaddescargadototal})
${execbar ~/configuracion/amule.sh porcentaje}
${color #3A9191}${execi 60 cat ~/.aMule/logfile | grep "Descarga terminada:"| cut -d":" -f6- | tail -n1}
${voffset -5}${color #ffd700}${hr 1}$endif
y que incluye ademas el número de descargas terminadas durante la sesión, así como el nombre de la ultima descarga terminada en la sesión, si la hay.
En ambos casos con la clausula if_running, se condiciona que la información se muestre por pantalla a que el proceso amule esté ejecutándose.
Como se puede ver, la orden clave para obtener los datos del archivo es una combinación head-tail para quedarnos únicamente con la línea que nos interesa en los casos en que la información de amulesig sea directamente utilizable.

dvd::rip: Manual



Sin duda, se trata de la herramienta gráfica más completa para ripeo de dvd existente en linux. Se trata de un front-end de transcode

Existen otras alternativas, más sencillas, o enfocadas a otra función:

  • Avidemux: Su manejo de multiaudios deja mucho que desear, por lo demás es muy completo también. (un buen manual a cargo de AgustinG lo podéis encontrar en cine-clasico)
  • k9copy: Enfocada más a la conversión dvd9 --> dvd5, también permite el ripeo a fichero avi aunque es poco configurable. (hace uso de mencoder/mplayer)
  • Acidrip: versión muy simplificada (hace uso de mencoder/mplayer)
  • Winff: versión muy simplificada (hace uso de ffmeg)
  • Gtranscode: otro front-end gráfico de transcode, pero mucho menos desarrollado que dvd::rip.

Por supuesto, usando cualquiera de las herramientas por consola (ffmpeg, transcode, mencoder/mplayer) tendríamos mucha más versatilidad, pero, se trata de hacer las cosas fáciles, plantearse hacer ripeos desde consola sería probablemente el primer paso hacia la locura.

Y a continuación un pequeño manual de funcionamiento, vaya por delante que no se trata de un manual de ripeo (eso me superaría por todos lados), sino de un manual de cómo ripear con dvdrip

  • Instalación
Búscalo en los repositorios de tu distribución, donde sino la última, estará disponible una versión más o menos reciente. Si no acude a la página de descargas del programa.
En el caso de debian/ubuntu recomiendo que lo instales usando aptitude por terminal:
sudo aptitude install dvdrip

Es recomendable aptitude sobre apt-get o synaptic, ya que se instalarán no solo las dependencias, sino también los paquetes recomendados, que son bastantes y que harán que dvd::rip tenga todas sus funciones disponibles.

  • Configuración general
Lo primero es ajustar las preferencias del programa, esto se puede hacer en el menú Editar/Preferencias:



La unidad de DVD predeterminada parece trivial, pero es muy útil para poder indicar cuando el contenido del DVD lo tenemos en el disco duro, cualquiera sabe como llegó ahí si no tenemos el DVD .
Todas estas opciones de configuración se guardan en el archivo ~/.dvdriprc, por lo que si tienes problemas, puedes reiniciar la configuración borrando ese archivo.

También es importante comprobar que todas las dependencias están correctamente instaladas, menú Depuración/comprobar dependencias



Una vez comprobado todo ya podemos lanzarnos a ripear

  • Almacenamiento
En esta primera pestaña definimos el nombre del proyecto y los directorios donde se guardaran los diferentes archivos (que no puede contener espacios o signos raros), y que no se podrán cambiar después. Asegúrate de tener memoria libre de sobra para poder trabajar sin problemas. (mínimo el tamaño del dvd, 5-9 GB)
Elegimos a su vez la localización del dvd, puede ser el punto de montaje del lector de dvd, o algún directorio del disco duro donde tengas los archivos del dvd.
Por último elegimos el tipo de funcionamiento, es muy recomendable si dispones de suficiente espacio optar por el volcado a disco, ya que nos permitirá más opciones en los pasos siguientes.



Una vez elegido todo podemos pasar a la siguiente pestaña

  • Extraer título

Le damos al botón de Leer tabla de contenido del dvd, aparecerán los diferentes títulos del dvd, normalmente la película principal (de gran tamaño), algún extra de menor tamaño y que también podríamos ripear, y otros fragmentos pequeños que corresponden a los menús, presentaciones de la productora...
A veces surgen problemas de lectura de TOC, ya que los archivos del dvd, vob, ifo ... están renombrados con ";1" finales u otras coletillas, una especia de sistema anticopia rudimentario. En ese caso lo mejor es volcar primero el contenido del DVD al disco duro, editar el nombre de los archivos con algún renombrador masivo, como pyRenamer, y cambiar la dirección del DVD en el proyecto a esa carpeta.
Podemos visualizar las pistas para identificar la que nos interesa.
Elegimos la pista que queremos ripear, y a la derecha, elegimos las opciones:

  • Pista de audio que será escaneada
  • Ángulo que ripear, hay escenas que se graban para cada idioma, y debemos elegir solo una, si no se ripearán todas y aparecerán como repetidas, muchas veces ripeadores oficiales han tenido problemas con esto como en la pelicula de los simpsons, o en el ripeo que hay en la red de Polar Express
  • Capturar o no los subtítulos
  • Crear archivos independientes para cada capítulo, para ninguno, o para algunos específicos
Finalmente, y si hemos elegido en la pestaña anterior el volcado a disco, le damos al botón de extraer título que copiara ese vídeo al disco duro para trabajar con él.



Podemos incluso, usando las teclas CTRL, ALT, seleccionar varios títulos a la vez, útil sobre todo en DVDs de series, donde todos los capítulos van a tener las mismas características.

  • Recortar y zoom
Entramos ya en lo que es propiamente el ripeo, en esa primera pestaña mediante recortes y zoom, tenemos que alcanzar la resolución del archivo deseada.
Elegimos primero el título a ripear, y a continuación previsualizamos algún fotograma, buscamos alguno con poco color negro para poder localizar mejor las bandas negras. Y pinchando sobre los fotogramas podremos ver sus características y configurar los recortes



En el primer recorte eliminamos las bandas negras que pueden traer los vídeos originales en el DVD. Luego con un zoom ajustamos la resolución del vídeo que queremos obtener. Este paso es muy delicado ya que siempre hay que mantener la razón de aspecto (anchura/altura) del vídeo original, para evitar falsear la imagen achatándola o ensanchándola. Para ello disponemos de varias herramientas:
  • Calcular anchura con una altura fija
  • Calcular altura con una anchura fija
  • Calculadora de zoom, para encontrar la resolución más aproximada de acuerdo al tamaño que queramos de vídeo


Para conocer la resolución original del vídeo en el dvd, reproduzco el vídeo con cualquier reproductor, tomo una captura de pantalla, lo edito con el gimp para eliminar las bandas negras, y al archivo de imagen resultante le calculo la relación de aspecto (anchura/altura).
Como truco final, si usamos valores de corte negativo, estaríamos añadiendo bandas negras, lo cual puede ser útil para después añadir los subtítulos no sobre el vídeo sino sobre las bandas negras.

  • Subtítulos
En esta pestaña elegimos el tíítulo que vamos a ripear, y podremos ver si hay subtítulos disponibles, normalmente detecta correctamente el nombre, pero si no es así o tenemos dudas, podemos capturarlos para previsualizarlos, y comprobar el idioma al que corresponden.

Una vez comprobado que hay subtítulos disponibles podemos optar por varias opciones:

-Incrustarlos en el vídeo, (solo funciona si elegimos copiar dvd al disco duro) para lo cual evidentemente solo podremos elegir uno, y podemos configurar algunos parámetros:
  • Desplazamiento vertical de los subtítulos, empezando a contar desde el fondo de la imagen. Existen dos funcionas de autocolocación, segun tengamos un letterbox (ripeo con bandas negras, donde los subtitulos pueden colocarse en el fondo justo sobre ellas) o pantalla completa (ripeo sin bandas negras, en este caso el subtítulo debe ser colocado sobre la imagen, a una distancia tal del fondo, que quepe todo y no se corte)
  • Desfase de los subtítulos, cuando en la previsualización advirtamos que no están del todo sincronizados podremos usar este valor para corregirlo
  • Posprocesamiento: En este caso la imagen es cortada y ajustada en tamaño antes de incrustar los subtítulos, útil si en la pestaña de recortes hemos usado valores negativos para crear bandas negras y ahora queremos colocar los subtítulos sobre ellas. La previsualización no monstrará los subtítulos.
  • Suavizado de bordes: Mejora el aspecto de la fuente de letra, es lo que en otros programas se denomina antialiasing
  • Elegir el color de subtítulos, normalmente el color por defecto es el adecuado, pero si no estás de acuerdo aqui lo puedes cambiar, lo que se hace tras activar la casilla de manipulación es añadir dos valores de gris (entre 0 y 255) y a cada uno de ellos se le asigna un nivel (de 1 a 3), para que veas como funciona, lo mejor es que uses la previsualización.
-Crear un vobsub: Si no quieres incrustar los subtítulos, pero si quieres extraerlos para reproducirlos o convertirlos después a srt, se puede usar esta opción, que además nos permite elegir los subtitulos que se extraerán.

Si no te interesan los subtítulos pues pasa directamente a la siguiente pestaña.

  • Codificar
Y llegamos al meollo de la cuestión, la verdadera pestaña de ripeo, donde están las opciones de vídeo y audio.

Lo primero de todo, arriba del todo, comprobar que el título que vamos a ripear, es el que deseamos.
Elegimos el contenedor, lo normal avi, aunque también permite ogg y mpeg con sus características propias (SVCD, VCD, XSVCD...). Aqui hay una pequeña pega porque se echa en falta el contenedor mkv.
En la sección de video elegimos el codecs de vídeo (a partir de aqui lo explicaré para contenedor avi y codecs de video xvid4, que yo creo que es el más normal, pero para cualquier otro el proceso es similar)
Si elegimos xvid4 se nos activará el botón para configurar el codecs (si tenemos instalado correctamente xvid4conf)



Esto si se sale realmente de mis conocimientos, y en las capturas aparecen las opciones como yo las uso, las pestañas del cuatizador, primera y segunda pasada las dejo con los valores por defecto porque no tengo ni idea para que es cada cosa, la primera pestaña es la única que se cambio un poco, siempre elijo las opciones más alta es Motion y VHQ, activo la opción Trellis y a veces la turbo mode. Y siempre procuro dejar desactivadas las opciones Packed, Quartelpel y GMC ya que suelen dar incompatibilidades con los reproductores divx normales.
Una vez elegidas las opciones, en la pestaña Save/load pulsamos el botón Save Settings para aceptar los cambios y ya podemos cerrar la ventana sin perder los cambios. Podemos también fijar esa configuración como por defecto, o cargar otras configuraciones.

Además tenemos otras opciones que configurar en la ventana principal:
  • Fotograma clave: indica cada cuantos fotogramas se inserta un fotograma clave, que no depende de los anteriores, además de que el propio codecs elegirá donde insertar más fotogramas claves, saltos de escena y demás... Aumentar este valor mejora la compresibilidad del video, pero puede disminuir la calidad. 50 es un buen valor.
  • Tasa de vídeo: no se trata de elegir aquí la tasa de video de nuestro video resultante (eso se hará a continuación en filtros), sino de comprobar que la detección de la tasa de vídeo del dvd es la correcta, en dvd PAL, debería ser 25, en dvd NTSC 23.976 o 29.97, y aquí es donde tenemos que comprobar que el valor sea el correcto, porque a veces trancode no reconoce bien este parámetro, y si está mal editarlo.
  • Hacer o no dos pasadas, a no ser que tengas mucha prisa, el resultado es mucho mejor con dos pasadas
  • Reutilizar registro, a no ser que por alguna razón la segunda pasada no terminara bien, se fuera la luz, se apagara el ordenador..., si no hemos cambiado nada de la primera, podemos reutilizar el log de la primera pasada y así evitartos hacer otra ver la misma primera pasada. En cualquier otro caso, si se ha cambiado cualquier cosa de la configuración de video, no deberíamos activar esta casilla.
  • Desentrelazado: Primero hay que tener claro si nuestro video tiene desentrelazado, si probamos a verlo con cualquier reproductor, en las escenas con movimiento puede que se aprecien rayas raras,
  • si es así, el video está entrelazado, y habrá que activar alguna de estas opciones, yo personalmente siempre elijo desentrelazado inteligente que me da muy buen resultado. Cuando el dvd a 30 fps ha sido creado a partir de una emisión a 23 fps (telecine) se añaden forzosamente frames que son precisamente los que aparecen tan defectuosos. Si estamos seguros que esta es la razón del entrelazado, la opción a elegir es telecine inverso para eliminar esos frames de relleno. La opción de zoom del fotograma completo también es eficaz, aunque algo más lenta.
  • Filtros: Finalmente aparte de poder configurar los filtros de desentralazo se pueden utilizar otros filtros.

Sin duda se trata de uno de los puntos débiles de dvd::rip con respecto a avidemux, los filtros no se encuentran ordenados y falta información sobre su funcionamiento, pero aún así hay una buena lista. Yo personalmente solo he utilizado (y me da muy buen resultado para eliminar suciedad de la imagen) el hqdn3d. Muchos de ellos además son los mismos que se activan a elegir las diferentes opciones de desentrelazado que hay en la ventana de codificación principal, pero que aqui además permiten ser configurados, por ejemplo la opción de telecine inverso sería añadir los filtros ivtc y decimate.
Para añadirlos a la lista de filtros activos, simplemente doble clic sobre ellos, en la parte de inferior derecha se activaran las casillas de configuración, y en la inferior izquierda aparece una pequeña información sobre el codecs, como digo bastante insuficiente.
Algo más de información (no mucha tampoco) tendremos si tecleamos en una terminal el comando:
tcmodinfo -i nombre_filtro

Cabe destacar que los filtros al añadirlos se podrán colocar en la zona pre o post al redimensionado de la imagen, siguiendo un esquema tal que:


Finalmente en la parte inferior de la ventana, y para evitar dar palos de ciego, tenemos la opción de poder previsualizar el efecto de cada uno de los filtros sobre el vídeo resultante para hacernos una idea de si funciona o está bien configurado, para ello definimos el número de fotogramas que se mantendrán en memoria, el fotograma de inicio y fin de la previsualización y tras iniciarla podemos navegar por los diferentes fotogramas para comprobar el resultado.

En la sección de cálculo de la tasa de bits del vídeo, tenemos tres formas de elegir el tamaño:
  • Por tamaño final de archivo: cuando quieres que ocupe un cierto espacio, para meterlo en un dvd, esta es la mejor opción. Puede haber variaciones al final con respecto al tamaño puesto aquí, sobretodo si se usa algún filtro que mejore la compresibilidad y reduzca por tanto el tamaño final del video.
  • Por bitrate de video: podemos fijar el bitrate de video del archivo resultante.
  • Por qf: indicando el valor deseado de bit por pixel, este es el indicativo más claro de la calidad de un ripeo, ya que nos está indicando la cantidad de información que hay en cada pixel de imagen, deriva directamente del bitrate de video,
qf=bitrate/(altura*anchura*fps)

Un valor por debajo de 0.2 no debería de darse nunca, si tenemos fijo el tamaño del video, más vale reducirle la resolución, se verá mejor aunque más pequeño (aquí lo de caballo grande ande o no ande no funciona).

En la sección de audio elegimos la pista de audio que deseamos, podemos además elegir otras cadenas de audio secundarios, botón Multi:

Esta es el gran punto fuerte de dvd::rip con respecto a avidemux, que es incapaz de manipular la segunda pista de audio. Por lo menos para mí es fundamental ya que dispongo del dvd, poder hacerme un ripeo con ambas cadenas, doblada y original, aparte de los subtítulos.
Podemos a continuación elegir si dejar el audio como estaba en el dvd, en ac3, (sin modificar) o ripearlo a mp3 pudiendo en este caso definir diversas opciones de codificación:
  • Bitrate: 128 kbits es lo normal
  • Tasa de muestreo
  • Calidad: Lógico, cuando más rápido lo haga más perdidas habrá
  • Algún filtro para normalizar el sonido y demás
  • Reescalar el volumén, elevarle el nivel sin llegar a distorsionarlo.
Con video y audio ya configurados podemos ver los tamaños estimados del archivo final pulsando el botón Detalles:

Para comprobar si el archivo cumple los tamaños/calidades que le exigimos.

Finalmente queda un apartado para opciones generales:
  • Rango de fotogramas: Para hacer una prueba final y comprobar que todo está ok, es recomendable elegir una pequeña porción de video en mitad del archivo.
  • Opciones de transcode: Esta es para expertos que conozcan más a fondo el uso de transcode y conozcan exactamente una opción que les interesa de transcode y que no está contemplada en dvd::rip.
  • Prioridad del proceso: Dado que el ripeo es un proceso que consume mucha cpu, es recomendable darle una prioridad baja, por defecto 19 es el valor más bajo.
  • Previsualizar: Si se activa esta casilla, se abrira una ventana donde irá viendose la imagen del video que se va creando.
  • Usar núcleo PSU: En el caso de dvd NTSC es recomendable activar esta casilla para evitar problemas de desincronización audio-video. Sólo funciona cuando se ha elegido copiar el titulo al disco duro antes de ripear.
  • Ejecutar al terminar: Aqui se pueden poner comandos de terminal que queramos que se ejecuten al terminar el ripeo, como apagar el equipo, abrir el video con el reproductor..., y también cerrar dvd::rip activando la casilla y salir.
Y ya solo queda darle al botón de Codificar y dejar que el programa haga su trabajo.

En todo momento en la barra inferior se informa del estado de la codificación, pero siempre podemos recurrir a la pestaña registro donde además del proceso aparecen los comandos que habría que utilizar por consola para realizar el ripeo con transcode, unos tochos importantes:

La opción cluster se utiliza cuando se dispone de varios ordenadores en red, para distribuir el trabajo entre ellos, desafortunadamente no es mi caso.

Y como no, un ejemplo del resultado:
Captura del dvd reescalada vs captura del ripeo resultante

Fuente: la documentación oficial en inglés del programa.

gmusicbrowser en conky

Como no, si con amarok lo hacía, al usar gmusicbrowser también deseaba añadir información sobre la canción actual para que conky la mostrara.

Para ello uso un script que devuelve la información, gmusicbrowser.sh


#!/bin/bash
# gmusicbrowser info display script by jjgomera
#
# requirements: gmusicbrowser with NowPlaying plugin on (!)


file=~/.config/gmusicbrowser/nowplaying
#must be configure in plugin, for example, i use the command "tee ~/.config/gmusicbrowser/nowplaying"

tiempo=`cat $file | grep "Length" | cut -d"=" -f2`
puntuacion=`cat $file | grep "Rating: " | cut -d" " -f2`
estado=`dbus-send --print-reply --dest=org.gmusicbrowser /org/gmusicbrowser org.gmusicbrowser.GetPosition | grep "double" | cut -d" " -f5`

case "$1" in

minutostotales)
expr $tiempo / 60
;;

segundostotales)
minutos=`~/configuracion/gmusicbrowser.sh minutostotales`
expr $tiempo - $minutos \* 60
;;
minutosestado)
expr $estado / 60
;;
segundosestado)
minutos=`~/configuracion/gmusicbrowser.sh minutosestado`
expr $estado - $minutos \* 60
;;
progreso)
expr $estado \* 100 / $tiempo
;;
esac


y en el conkyrc añado las lineas:
>
${if_existing /home/jjgomera/.config/gmusicbrowser/gmusicbrowser.fifo}${voffset 10}${font Musicelements:regular:size=21}${color #5da5d3}s${voffset -7}${font Anklepants:regular:size=11}${color #5da5d3} gmusicbrowser$font$color$alignr${color #888888}Last.fm: ${color}${execi 3600 sh ~/configuracion/last.fm uno}${execi 3600 sh ~/configuracion/last.fm dos}${execi 600 sh ~/configuracion/last.fm tres}${execi 600 sh ~/configuracion/last.fm cuatro}${execi 600 sh ~/configuracion/last.fm cinco}
${voffset -7}${color #ffd700}${hr 1}$color
$alignc${color #CC6600}${execi 10 cat /home/jjgomera/.config/gmusicbrowser/nowplaying | grep "Artist" | cut -d"=" -f2}
$alignc${execi 10 cat /home/jjgomera/.config/gmusicbrowser/nowplaying | grep "Title" | cut -d"=" -f2}
${execi 2 ~/configuracion/gmusicbrowser.sh minutosestado}:${execi 2 ~/configuracion/gmusicbrowser.sh segundosestado}/${execi 10 ~/configuracion/gmusicbrowser.sh minutostotales}:${execi 10 ~/configuracion/gmusicbrowser.sh segundostotales} ${execibar 2 ~/configuracion/gmusicbrowser.sh progreso}
${color #CC6600}${execi 10 cat /home/jjgomera/.config/gmusicbrowser/nowplaying | grep "Album" | cut -d"=" -f2}$alignr${execi 10 cat /home/jjgomera/.config/gmusicbrowser/nowplaying | grep "Year" | cut -d"=" -f2}$color
${voffset -5}${color #ffd700}${hr 1}$color$else${voffset -10}$endif


De esta manera, conky solo monstrará está información cuando sea útil, gmusicbrowser esté ejecutandose. Como veis el script de arrriba lo tengo guardado en el directorio ~/configuracion/, esto queda a gusto del usuario, no olvidando de cambiarlo también en todas las entradas del conkyrc.
Para embellecer el título uso un símbolo musical usando la fuente Music Elements

Para rematar la faena uso otro script para mostrar en pantalla la caratula, si la hay, del disco actualmente en escucha, caratula.sh

#!/bin/bash
#
# script para mostrar por pantalla la caratula del disco actualmente en escucha por gmusicbrowser
# dependencias: tener instalado el paquete feh de manipulación de imagenes
sleep 10
feh -x -R 20 -g "150x150+250+850" /tmp/caratula.jpg &
while [ -e "/home/jjgomera/.config/gmusicbrowser/gmusicbrowser.fifo" ]
do
longitud=`cat /home/jjgomera/.config/gmusicbrowser/nowplaying | grep "Length" | cut -d"=" -f2`
estado=`dbus-send --print-reply --dest=org.gmusicbrowser /org/gmusicbrowser org.gmusicbrowser.GetPosition | grep "double" | cut -d" " -f5`
time=$(($longitud-$estado))
album=`cat /home/jjgomera/.config/gmusicbrowser/nowplaying | grep "Album" | cut -d"=" -f2`
caratula=`dbus-send --print-reply --dest=org.gmusicbrowser /org/gmusicbrowser org.gmusicbrowser.GetAlbumCover string:"$album" | grep "string" | cut -d" " -f5- | cut --delimiter='"' -f2`
cp "$caratula" /tmp/caratula.jpg
sleep $time
done


Y este es el resultado:


Clientes torrent en linux

Si de algo hay programas para elegir en linux, es sin duda de clientes torrents, hay tantos que resulta dificil enumerarlos todos, o por lo menos los importantes:

Ktorrent


Apropiado para un escritorio kde, con muchas características, consume bastantes recursos

Transmission

Apropiado para un escritorio gnome, xfce, con bastantes características, consume pocos recursos

Azureus

Sin duda el cliente más completo, con más funciones implementadas, a costa, también, de largo, el que más recursos consume.
Como opcion tenemos vuze, una versión de azureus que además incluye VOD (video a demanda) en plan red social.


Deluge

Tiene bastantes opciones y lo mejor, un sistmea de plugins para habilitar o desabilitar funciones, programado en python, consume bastante recursos

Torrentflux

Se ejecuta como demonio y para acceder a el lo hacemos mediante intefaz web, en la dirección http://localhost/torrentflux. Tiene muchas opciones, y está especialmente pensado para ser usado para distintos usuarios que descarguen archivos sin que vean entre sí el uso del otro, excepto por parte del administrador.

rtorrent

Se ejecuta por consola, por tanto no necesita servidor gráfico para ejecutarse. Al controlarse por atajos de teclado requiere un cierto acomodo con su funcionamiento, son pocas teclas pero hay que saberlas. Con muchas funcionalidades y muy ligero, de largo el de menor consumo de recursos, especialmente cuando aumentamos el número de torrent activos. Sin duda, apto para montar un servidor con algún ordenador viejo.

qtorrent

Cliente muy básico para escritorio kde, como única caracteristica soporta multiples torrents simultaneos

gnome-btdownload

Cliente muy básico para escritorio gnome, xfce, ni siquiera soporta multiples torrents simultáneos

Como se puede ver, cada uno tiene sus pros y sus contras, que si demasiado tragones, que si demasiado simples..., yo personalmente me quedo con rtorrent.