Por William Amed Tamayo Guevara:

Hola comunidad, desde hace algún tiempo vengo recopilando información sobre el trabajo con archivos de multimedia (video y audio) y algunas librerías, frameworks que permiten el trabajo con ellos, quise compartirlos para las personas que le gusta curiosear con códigos o tener algún código para leer, entre estas utilidades encontré phonon o según los entendidos del tema, framework de multimedia de KDE por lo menos hasta el momento.

Phonon se basa en crear una capa intermedia entre los programas y los diferentes motores multimedia, para que se entienda un poquito más, cada motor trabaja con un backend específico, cada backend permitirá controlar las funciones básicas como reproducir, pausa, y buscar. Phonon también prestará apoyo a las funciones superiores, tales como la cantidad de pistas que se desvanecen en la otra.

Hay que tener en cuenta que existen diversos tipos de backend en dependencia del sistema. Aquí recopile algunos de los más importantes.

  • Los backends soportados en sistemas tipo Unix son: Xine, GStreamer, VLC, MPlayer.
  • Los backends soportados en Windows son: DS9, VLC, MPlayer.
  • Los backends soportados en Mac OS X son: QuickTime, VLC.

Lo interesante es que como phonon provee una capa intermedia no tienes que preocuparte mucho sobre cambios en la aplicación sino en la adaptación de phonon al backend . En especial uso GStreamer que viene integrado en el paquete phonon-backend-gstreamer de los repositorios.

También es posible compilar tu aplicación para Windows u otras plataformas siempre teniendo en cuenta el motor a utilizar en el sistema para poder adaptar phonon.

Integración con Qt

Qt provee soporte o más bien una interfaz para el trabajo con phonon de manera que se puede lograr una abstracción bastante alta a la hora de trabajar con archivos de multimedia, solo basta con llamar métodos como play, pause o stop para controlar una reproducción.

Otra característica es que Qt tiene otros componentes visuales para el trabajo con multimedia como Widget para mostrar videos, seek(slider para controlar la línea de reproducción) y para controlar volumen, alternativamente se pueden usar los componentes que mas estimes pero ya es de tu labor implementar como harán estas funciones.

Lo encontré bastante atractivo por su facilidad y abstracción a la hora de reproducir cualquier archivo. Hay que tener en cuenta también que existen librerías como VLC que son muy potentes para trabajar con multimedia.

Algunas de las aplicaciones que usan phonon son:

  • Amarok
  • Bangarang
  • Tomahawk

Los paquetes necesarios para el funcionamiento de phonon son:

  • phonon
  • phonon-backend-gstreamer

Además algunas librerías para el desarrollo:

  • libgstreamer0.10_0.10 Librería Base de GStreamer.
  • libgstreamer0.10_0.10-devel Contiene archivos para el desarrollo de aplicaciones con GStreamer
  • libgstreamer-plugins-base0.10 Contiene los plugins básicos para la reproducción de audio y video
  • libgstreamer-plugins-base0.10-devel Hace posible el desarrollo de aplicaciones usando los plugins bases.

Probando un poco me encontré que en Ubuntu 12.04 el paquete phonon-backend-gstreamer no funciona correctamente, a la hora de pedir los metadatos tiende a explotarse por lo que sugiero que usen el paquete de la versión anterior, la solución que yo le di fue instalar los paquetes phonon y phonon-backend-gstreamer de la versión anterior de Ubuntu 11.10 que funcionan correctamente.

Aquí les dejo algunas imágenes de cómo puede quedar algo hecho con Qt y phonon:

Aquí les dejo el paquete de instalación de Deros:

Deros 0.1.2 i386

Y un ejemplo sencillo utilizando phonon para reproducir audio:

Music Player

Tambien en la ayuda de Qt  vienen algunos ejemplos para reproducir video y audio.