Mostrando entradas con la etiqueta softwarelibre. Mostrar todas las entradas
Mostrando entradas con la etiqueta softwarelibre. Mostrar todas las entradas

domingo, marzo 21, 2010

Como Reproducir Videos a 1080p en GNU/Linux

Con el estreno de The Pacific he querido volver a ver Band of Brothers de nuevo como aperitivo. Ahora que la tecnología lo permite, estoy viendo la serie en alta definición a 1080 líneas. El problema con el que me encontré es que ni en Windows ni en Ubuntu podía reproducir el vídeo sin que se produjesen cuellos de botella. Todo el trabajo lo hace el procesador y encima sólo utiliza un núcleo, puesto que la aplicación todavía no está programada para multihilo.

Me puse a leer un poco y encontré la solución de cómo poder reproducir los vídeos sin que se produjesen pérdidas de fotogramas o cuellos de botella. En una de las últimas versiones de los controladores de NVIDIA (ATI también lo tiene) la empresa ha desarrollado un driver para reproducir vídeo que en lugar de dejar el trabajo al procesador y únicamente dedicarse a representar la imagen, lo que hace es pasar el trabajo de descompresión a la gráfica y posteriormente representarlo. El driver en cuestión se llama VDPAU (si recuerdo bien sólo está disponible para los modelos 8xxx en adelante). Si usamos GNOME, lamentablemente no he encontrado forma de que Totem haga uso del driver, sin embargo MPLAYER si viene con esta capacidad. Si abrimos Mplayer y vamos a Preferencias > Video, vemos que está en la lista de los posibles drivers. Si os pasa como a mí, que siempre que cambiais algo en esa pestaña Mplayer se cuelga (esto lleva así ya 3 o 4 versiones y no lo solucionan) podemos abrir el fichero de configuración de Mplayer y configurar directamente ahí la salida de vídeo que queremos. Así hacemos:

  • $ gedit ~USUARIO/.mplayer/gui.conf
  • y modificamos el valor 'vo_driver'
  • vo_driver="xv" >> vo_driver="vdpau"

Lamentablemente esto no es lo único que hay que hacer. Ahora podremos abrir el vídeo y verlo con cierta continuidad, cosa que antes no podía, pero de vez en cuando, sobretodo cuando los planos son cortos y con mucho movimiento, se sigue produciendo pérdida de fotogramas. Además, el programa sigue usando un núcleo de entre todos los disponibles. Lo bueno es que el filtro que se encarga de descomprimir el vídeo (ffmpeg) se puede configurar, y lo bueno es que podemos hacer que esos cambios sean permanentes.

Los cuellos de botella se producen porque el ancho de banda que necesita un vídeo a 1080p es enorme aunque esté comprimido. Es una densidad de píxeles gigantesca, 1920x1080, que tiene que mover esa cantidad de píxeles 24 veces por segundo (en este caso) y encima que tiene que aplicar determinados algoritmos para poder reconstruir la imagen; algoritmos que no es que sean precisamente simples. Lo que vamos a hacer es decirle a ffmpeg es que cuando decodifique un vídeo no tenga en cuenta los macrobloques (porciones en las que se divide el fotograma cuando se comprime para calcular el movimiento, redundancia, etc.) y que decodifique el fotograma entero como si fuera un único macrobloque. Con esto en teoría vamos a perder algo de calidad, sobretodo cuando haya mucho movimiento en la escena, quizás la división entre macrobloques se haga patente y tengamos algo de bracketing. Según mi experiencia no he notado esa perdida de calidad en el movimiento o los colores. Para establecer estas opciones hacemos:

  • $ gedit ~USUARIO/.mplayer/config
  • y escribimos:
  • lavdopts=threads=4:skiploopfilter=nonkey

La opción threads lo que nos habilita es la capacidad de que el decodificador use más de un núcleo, en este caso 4. Así que la idea es ajustar el número a la cantidad de núcleos que tengamos. Por otro lado skiploopfilter es el encargado de controlar el deblocking del video. Tenemos varias opciones, pero las más interesantes son all, nonkey, nonref y default. La primera deshabilita el deblocking para todos los fotogramas; nonkey lo desahabilita para todos los fotogramas excepto los claves -aquellos que no se comprimen-; nonref hace el deblocking únicamente en los de referencia y no en los clave; default obviamente habilita el deblocking siempre en todos los fotogramas. Dependiendo del ordenador que tengáis y de los recursos os interesará establecer una u otra. Las ordeno ahora de mayor a menor consumo de recursos: default > nonref > nonkey > all. Aunque no lo he notado, creo que es más conveniente, si dudamos entre nonref y nonkey, establecer nonkey porque los fotogramas siguientes se construyen a partir del clave, así tendríamos menos problemas a la hora de reproducir los vídeos.

Con estas opciones pasé de esta gráfica de consumo de CPU:

Fijaros como se nota que empiezo a reproducir el vídeo en torno al 30. A esta:

Un gran cambio :D.

jueves, julio 31, 2008

La Raíz Ética

Hace tiempo ya me leí una biografía de Bill Gates, que si recuerdo bien era de la colección de las biografías que regalaba el ABC. Me la leí porque había leído mucho sobre Software Libre, pero apenas nada sobre el otro bando y me parecía interesante conocer otro punto de vista.

Paradójicamente gracias a la biografía de Bill Gates comprendí el por qué del nacimiento del Software Libre y el por qué de la base ética de la que siempre habla su fundador y principal gurú Richard Stallman. Además, hoy mismo he podido reafirmar esto mismo.

En la biografía de Bill Gates hablan de los tiempos en que el amigo Bill estudiaba en el Instituto y posteriormente en la Universidad. Eran tiempos que, a pesar de que ya existían los ordenadores, no eran para nada algo común y existían pocos terminales. Además de la existencia de pocos terminales, los primeros ordenadores eran muy limitados en cuanto al uso que podías hacer de ellos. Nosotros ahora estamos acostumbrados a instalar un sistema operativo en un ordenador y tener una serie de programas que podemos usar. Pues bien, en los '70 el ordenador únicamente arrancaba, y si tu querías realizar determinada tarea debías programar por ti mismo ése programa para esa tarea. Qué ocurría: el número limitado de terminales hacía que los alumnos los usaran por horas: había que pedir cita; por lo tanto, al poder usar el ordenador por un tiempo muy limitado tenías que aprovechar lo máximo posible, esto es, debías ir con los programas ya escritos para rendir al máximo.

Obviamente se empezaron a comercializar programas para que el alumno no tuviese que re-escribir un programa cada vez que quisiera hacer una determinada tarea. El problema es que, por las leyes del mercado, al haber pocos terminales y un mercado relativamente pequeño, los programas eran muy caros. Para eso, alumnos de la Universidad como fuimos tú y yo, lo que hacían era que cada vez que escribían un programa y se lo daban a sus compañeros, así se formaba una pequeña comunidad en que todos ayudaban a todos.

La raíz ética del asunto, de la que tanto habla Stallman, está precisamente aquí. Stallman dice que cuando alguien te pide un programa sobre el que no tienes licencia para cederlo a otro se te plantea un dilema ético. Por un lado puedes ser buena persona y darle el programa, a pesar de que estás infringiendo la Ley; por otro, puedes ser mala persona y decirle, 'no te puedo dar este software, porque la licencia no me permite copiártelo'. Este planteamiento viene directamente de los años '70, en que la cuestión ética era: ¿hago que esta persona aproveche o no su tiempo limitado con los terminales?

Como decía al principio, esto me lo ha confirmado una entrevista al presidente de Linux International en 20Minutos, Jon 'Maddog' Hall, dice esto:

Comencé con Linux en 1994, cuando conoció [sic] a Linus Torvalds y vi el sistema por primera vez. En todo caso, empecé a utilizar software libre en 1969 cuando estudiaba en la universidad. Los programas de aquellos días eran muy caros, aunque también podías escribirlos tu mismo. Después, lo normal era regalarlo para que otra gente pudiera utilizarlo o mejorarlo. Había bibliotecas y tablones de anuncios llenos de software libre, aunque no lo llamábamos así, sino software.

Podéis leer más en la biografía que mencionaba del ABC de Bill Gates, escrita por Riccardo Stagliano; y en un libro muy bueno que resume toda la filosofía del Software Libre, básicamente son todos los artículos que escribió Stallman puestos en un libro, llamado Software Libre para una sociedad libre.

miércoles, julio 23, 2008

Empate a Uno

Hace tiempo comenté, con el tema de visualizar archivos RAW en GNU/Linux, la importancia de pulir esos detalles en el pingüino para que sea un sistema un poco más accesible para todos.

En este caso es al revés. En una entrada que puse el otro día usé Google Translate para que me tradujese a hiragana el texto de agradecimiento a la gente del Sakura Hostel. Pero ayer, me metí al blog usando un Windows y me dí cuenta de que en lugar de los caracteres japoneses aparecen unos bonitos cuadrados con números; mientras que en GNU/Linux aparecen los hiraganas tal cual. No sé muy bien por qué puede ser esto, porque la codificación de la página la miré y era igual en ambos sistemas y en ambos se usaba Firefox. Pero este tipo de cosas sí que hacen bueno al sistema Libre evitando preguntas de 'por qué veo estos cuadraditos'.

Versión en GNU/Linux:

Versión en Windows:

jueves, julio 03, 2008

Hoygan en Rawstudio

Estaba probando un programa de GNU/Linux que se llama rawstudio que sirve para revelar imágenes raw de cámaras de fotos digitales. Es un programa que había probado hace tiempo y no me gustó demasiado, pero han sacado la versión 1.0 hace un par de meses y me he animado a darle una segunda oportunidad.

Sigue siendo igual de lamentable que la versión anterior, desgraciadamente. Y eso que la idea, como programa, no está nada mal. Quiere emular un poco la filosofía de Aperture o Lightroom en el que tienes una biblioteca de imágenes junto al programa con que las revelas. Realmente lo único destacable del programa es el algoritmo de enfoque que usa, que es bastante bueno. He aquí una prueba de ello. Respecto de lo demás no merece nada la pena. Me sigo quedando con ufraw.

Lo divertido ha sido que mientras lo probaba me ha salido esto en un menú:

Hagamos zum todos juntos xD.

miércoles, febrero 14, 2007

Lo siento. Me pincharon via email.

Ahora que tengo tiempo te respondo. Sí y no. No creo que sea todo tan exagerado como pone en el mail, principalmente porque a Microsoft no le interesa tener a un 95% de la comunidad informática cabreada porque no puede escuchar MP3 del eMule, pero algunas de las cosas que dice sí son verdad. Microsoft ha incluído a nivel de núcleo, es decir, en la parte más importante del sistema operativo, las protecciones DRM, que son las de controles de derechos digitales. Básicamente lo que pretende es ver si en algún momento del proceso de algún archivo (principalmente audio o video) esos DRM se rompen. Sí lo detecta le lanza al usuario un aviso de a ver que pasa, o simplemente lo reproduce con mala calidad. Pero tiene que ser contenido FIRMADO DIGITALMENTE, las películas del eMule las hace, como todos sabemos y la SGAE nos ha enseñado en sus vídeos, una persona pedófila, ladrona de coches y asalta-viejas por las esquinas, por lo tanto sabemos que no va a incluir DRM en los ripeos que haga de algún DVD.

Otra cosa graciosa es que Microsoft ha puesto el DRM no ya solo a nivel de software, es decir archivos de audio o video, que tiene risa; sino a nivel de hardware. Para que Vista funcione todo el hardware del ordenador debe estar dado de alta en una base de datos de Microsoft, dicho así grosso modo. Esto de forma práctica se traduce en que ahora no podrás comprar la random tarjeta de red marca barata del mercado, o una tarjeta para ampliar los puertos USB, porque si no está firmada por Microsoft, Vista no la reconocerá porque entenderá que si no está en su base de datos es que tiene algún peligro (armas de destrucción masiva o algo así supongo). Es una bonita forma de controlar el mercado.

También es cierto que se tendrá que cumplir tarde o temprano la máxima de que no hay sistema de encriptación que no pueda ser saltado. Así que probablemente a Vista le pase lo mismo.

Básicamente no recomiendo Vista a nadie, pero mi opinión de fanático no cuenta. [MODO PEDANTE ON] Pa mi solo cuenta la libertad, y no me da la gana usar un sistema operativo donde me espían y saben lo que hago y donde consume recursos por el mero hecho de si eres malo. Prefiero tener algunas limitaciones en un sistema operativo libre antes que perder mi libertad. Pero es mi opinión. Los sistemas libres no son perfectos, pero sabes que no hay trampa ni cartón. Y los sistemas operativos propietarios tienen algunas ventajas, pero en ámbitos muy limitados. De hecho el pollo que creo todo esto del software libre no es contrario al software propietario de por sí. Pero como digo, vuelve a ser mi opinión. ¿Que Windows es muy simple y muy fácil? (para mi es una mera razón historicista) pues quizá lo sea; ¿Qué Mac simplemente funciona? pues probablemente sea así. Pero que ninguno es libre y cada uno impone sus normas, también es cierto. La semana anterior el cachondo de Apple va y escribe una carta diciendo que el DRM se debería abolir, cuando el cachondo de él se lleva haciendo de oro desde hace 6 años con un cacharrito llamado iPod -que por supuesto lleva DRM- y vendiendo 58 canciones por segundo sólo en EEUU (datos de este mismo enero) -que por supuesto, también llevan DRM- a través de iTunes. Digo yo, que ya podría haber pensado antes (que además a los de Apple se les da bien pensar) que lo del DRM era malo y no hacia bien a la cultura. Pero claro, es más fácil decirlo cuando tienes el 70% del comercio de música online (son la cuarta tienda online del mundo, a principios de este año superaron a Amazon). Pero vuelvo a decir, es mi opinión. [MODO PEDANTE OFF]

Y luego los piratas, pedófilos, ladrones de coches y asalta-viejas somos nosotros.

Ves, no me puedes pinchar con estos temas. Tu simplemente piensa que yo siempre diré que no. Así me evito el discursito. Hale odiarme. http://www.kriptopolis.org/drm-en-windows-vista http://badvista.fsf.org/