This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
software:ssdpd:index [2022/02/04 18:40] – removed - external edit (Unknown date) 127.0.0.1 | software:ssdpd:index [2022/02/05 04:29] (current) – root | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== SSDP announcer for UPnP/DLNA ====== | ||
+ | - a program for announcing the network UPnP/DLNA devices.\\ | ||
+ | Announcements are sent using IPv4 and IPv6 on the special multicast address.\\ | ||
+ | SSDP announcer allows you announce on your LAN any UPnP / DLNA server located on the Internet, another network segment.\\ | ||
+ | |||
+ | UPnP - based on the SSDP announcements for automatic detection of available devices on the local network, and HTTP to communicate with devices it has found.\\ | ||
+ | In HTTP, the data is transmitted using XML-SOAP.\\ | ||
+ | |||
+ | Archive with SSDP announcer contains implementation UPnP / DLNA server on nginx and PHP.\\ | ||
+ | Nginx takes on work with http, php script processes the XML-SOAP requests from client devices.\\ | ||
+ | The script allows browsing through the file system and access to the media which is to be found.\\ | ||
+ | |||
+ | Thanks SSDP announcer can write your own UPnP / DLNA server on any scripting language, which is able to work nginx.\\ | ||
+ | |||
+ | |||
+ | ===== Supported OS ===== | ||
+ | * FreeBSD | ||
+ | * Linux | ||
+ | |||
+ | |||
+ | ===== How it works ===== | ||
+ | UPnP clients (eg DLNA for android, VLC under Linux etc), listen to the network multicast announcements and periodically send queries themselves to receive announcements.\\ | ||
+ | Announcements represent a IPv4 / IPv6 multicast UDP packets with HTTP format for content. Requests are sent directly to the announcer.\\ | ||
+ | Announcement contains: | ||
+ | * UUID - unique device ID; | ||
+ | * type devices advertised; | ||
+ | * services offered device; | ||
+ | * URL for by HTTP-GET XML file detailing the devices and links to XML files, a description of its services.\\ | ||
+ | |||
+ | SSDPd requires specify on which interfaces to work out what URL announce and XML file describing the device.\\ | ||
+ | In this work SSDPd ends. Everything else happens communication client to the server via HTTP.\\ | ||
+ | |||
+ | Client after receiving announcements if he was interested in the type of UPnP devices on the HTTP-GET takes the XML file from the announcement of the URL, parses it, then picks up the XML files describing services.\\ | ||
+ | XML files are static, attached examples in the distribution.\\ | ||
+ | |||
+ | After parsing the XML files the client accesses the services by URL specified in XML files using HTTP, using the methods: POST, SUBSCRIBE, UNSUBSCRIBE.\\ | ||
+ | In a simple case (for a minimum of the functional) processing HTTP request methods SUBSCRIBE, UNSUBSCRIBE amount to granting the 200 + a pair of additional headers this can easily cope nginx.\\ | ||
+ | |||
+ | ==== Multicast addresses ==== | ||
+ | * 239.255.255.250: | ||
+ | * [FF02:: | ||
+ | * [FF05:: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Settings ===== | ||
+ | [[software: | ||
+ | |||
+ | |||
+ | ===== Download ===== | ||
+ | Source code: [[https:// | ||
+ | UPnP docs: [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | {{tag> |