<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="gupnp" xml:lang="ru">
<info>
  <link type="guide" xref="index" group="gstreamer"/>
  <desc>Гибкая, эффективная и простая в использовании инфраструктура UPnP</desc>
  <revision pkgversion="1.0" date="2011-05-17" status="candidate"/>
</info>

<title>GUPnP</title>

<p>GUPnP — это объектно-ориентированная инфраструктура с открытым кодом для создания устройств UPnP и управления точками, написана на C с использованием GObject и libsoup. В основе программного интерфейса GUPnP лежит гибкость, эффективность и простота в использовании.</p>

<p>Инфраструктура GUPnP состоит из следующих компонентов/пакетов:</p>

<list>

<item><p>GSSDP: низкоуровневая библиотека, которая выполняет обнаружение ресурсов и их анонс в сети по протоколу SSDP.</p></item>

<item><p>GUPnP: основная библиотека, в которой реализована спецификация UPnP: анонс и обнаружение ресурсов, описание, управление, уведомление о событиях и представление (в GUPnP имеются возможности простого веб-сервера с помощью libsoup). В GUPnP нет вспомогательных функций для создания или управления какими-либо стандартизованными ресурсами (например, MediaServer); это обеспечивают библиотеки более высокого уровня, использующие инфраструктуру GUPnP.</p></item>

<item><p>GUPnP A/V: небольшая библиотека инструментов, целью которой является облегчение обработки и реализации аудио/видео профилей UPnP.</p></item>

<item><p>GUPnP DLNA: небольшая библиотека инструментов, целью которой является упрощение решение задач DLNA, например определение правильного медиа-профиля, перекодирование в заданный профиль и т.д.</p></item>

<item><p>GUPnP IGD: библиотека для работы с отображением портов устройств UPnP, работающих в качестве интернет-шлюзов.</p></item>

<item><p>GUPnP Vala: привязки Vala к библиотекам GUPnP.</p></item>

<item><p>GUPnP Tools: свободная замена инструментов Intel UPnP, использующая GUPnP. В пакете содержатся клиентские и серверные инструменты, позволяющие легко протестировать и отладить устройства UPnP и точки контроля:</p>

<list>

<item><p>Universal Control Point: инструмент, который позволяет обнаружить устройства и службы UPnP, получить информацию о них, подписаться на события и задать выполнение действий.</p></item>

<item><p>Network Light: виртуальная лампочка, которую можно включать или выключать через точки контроля, изменять её тусклость и запрашивать её текущее состояние. Также предоставляется простой пользовательский интерфейс для управления всеми лампами сети.</p></item>

<item><p>AV Control Point: простой пользовательский интерфейс медиапроигрывателя, позволяющий обнаружить и воспроизвести мультимедийный данные, доступные в сети. Является только точкой контроля и поэтому не имеет никаких возможностей воспроизведения и для фактического воспроизведения полагается на внешние устройства UPnP MediaRenderer.</p></item>

<item><p>Upload: простая утилита командной строки для отправки файлов и известные медиасерверы. Для обнаружения медиасерверов используйте Universal Control Point.</p></item>

</list>

</item>

</list>

<p>Инфраструктура GUPnP появилась из-за неудовлетворённости libupnp и отсутствием в ней поддержки нитей. GUPnP — однонитевая (но асинхронная) разработка, интегрируется с главным циклом GLib и предоставляет такой же набор возможностей что и libupnp, хотя и скрывает большую часть внутреннего устройства UPnP под элегантным объектно-ориентированным решением.</p>

<p>GUPnP — свободное ПО. Все библиотеки выпущены под лицензией GNU LGPL, а GUPnP Tools имеют лицензию GNU GPL.</p>

<p>Используйте GUPnP, если вам нужен код для взаимодействия с устройствами UPnP или DLNA. Такими устройствами являются, например, Sony Playstation 3 и телевизоры модели Bravia, телевизоры и телефоны Samsung, Microsoft XBox и все современные маршрутизаторы. Перечень устройств огромен и постоянно растёт.</p>

<p>Кроме контакта с существующими устройствами UPnP, на базе GUPnP можно легко создать домашнюю сеть, в которой устройства/службы смогут находиться и взаимодействовать друг с другом без какой-либо настройки пользователем.</p>

<p>Дополнительную информацию о GUPnP можно найти на <link href="http://www.gupnp.org">домашней странице проекта</link>.</p>
</page>
