Un marco de trabajo UPnP fácil de usar, eficiente y flexible

# GUPnP

GUPnP es un marco de trabajo orientado a objetos de código abierto para crear dispositivos y puntos de control UPnP, escrito en C usando GObject y libsoup. La API de GUPnP está pensada para ser fácil de usar, eficiente y flexible.

El marco de trabajo GUPnP consta de los siguientes componentes/paquetes:

GSSDP: la biblioteca de bajo nivel que implementa el descubrimiento de recursos y el anuncio en la red mediante el protocolo SSDP.

GUPnP: el núcleo de la biblioteca que implementa la especificación UPnP: anuncio de recursos y descubrimiento, descripción, control, notificación de eventos y presentación (GUPnP incluye funcionalidad de servidor muy básica mediante libsoup). GUPnP no incluye auxiliares para construcción o control de recursos estandarizados específicos (ej. servidor multimedia): esto se deja para bibliotecas de nivel superior que usen el marco de trabajo GUPnP.

GUPnP A/V: una pequeña biblioteca que pretende simplificar el manejo y la implementación de perfiles UPnP A/V.

GUPnP DLNA: una pequeña biblioteca que pretende simplificar las tareas relacionadas con DLNA tales como adivinar el perfil de un medio, transcodificar a un perfil dado, etc.

GUPnP IGD: una biblioteca para manejar mapeos de puertos de dispositivos UPnP de puerta de enlace de Internet.

GUPnP Vala: bindings de Vala para las bibliotecas de GUPnP.

Herramientas de GUPnP: alternativa libre a las herramientas UPnP de Intel, que usan GUPnP. Proporcionan herramientas para el cliente y el servidor que permiten probar y depurar fácilmente dispositivos UPnP y puntos de control:

Universal Control Point: una herramienta que permite descubrir dispositivos y servicios UPnP, obtener información sobre ellos, suscribirse a eventos e invocar acciones.

Network Light: una bombilla virtual que controla puntos de control para encenderlos o apagarlos, cambiar su nivel de regulación y consultar su estado actual. También proporciona una sencilla IU para controlar todas las luces de red disponibles en la red.

AV Control Point: una sencilla IU de reproductor multimedia que permite descubrir y reproducir contenido multimedia disponible en una red. Es, estrictamente, un punto de control y, por lo tanto, no tiene capacidades de reproducción por sí mismo, así que se apoya en dispositivos de renderizado multimedia UPnP para reproducir.

Upload: una sencilla utilidad de línea de comandos que sube archivos a servidores multimedia conocidos, Use «Universal Control Point» para descubrir los servidores multimedia.

El marco de trabajo GUPnP nació de la frustración con libupnp y su lío de hilos. GUPnP es totalmente mono-hilo (aunque asíncrono), se integra con el bucle principal de GLib y proporciona el mismo conjunto de características que libupnp al tiempo que oculta la mayor parte de la implementación de UPnP mediante una elegante diseño orientado a objetos.

GUPnP es software libre. Todas las bibliotecas se publican bajo la licencia LGPL de GNU, y las herramientas de GUPnP se publican bajo la licencia GPL de GNU.

Debe usar GUPnP siempre que quiera que su código se comunique con dispositivos UPnP o DLNA. Por ejemplo, estos dispositivos se incluyen la Playstation 3 y los modelos de televisor Bravia de Sony, televisores y teléfonos Samsung, XBox de Microsoft, routers modernos, etc. La lista de dispositivos es enorme y sigue creciendo.

Aparte de tratar con los dispositivos UPnP, GUPnP se puede usar para crear fácilmente soluciones personalizadas de red doméstica en dispositivos/servicios capaces de descubrir e interactuar unos con otros sin ningún tipo de configuración por parte del usuario.

Para más información acerca de GUPnP, visite la página web del proyecto.