{"id":16237772,"url":"https://github.com/pschatzmann/arduino-dlna","last_synced_at":"2026-03-02T23:37:19.908Z","repository":{"id":239223084,"uuid":"798913514","full_name":"pschatzmann/arduino-dlna","owner":"pschatzmann","description":"A Lean DLNA Server and Control Point Implementation for Microcontrollers","archived":false,"fork":false,"pushed_at":"2025-11-22T18:41:41.000Z","size":619164,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-22T20:29:47.556Z","etag":null,"topics":["arduino-library","audio","cmake","communication","controlpoint","dlna","dlna-client","dlna-player","dlna-server","media-server"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pschatzmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"philschatzh","custom":["https://www.paypal.com/paypalme/pschatzmann?country.x=CH\u0026locale.x=en_US"]}},"created_at":"2024-05-10T18:39:57.000Z","updated_at":"2025-11-22T18:41:45.000Z","dependencies_parsed_at":"2025-10-17T10:29:17.019Z","dependency_job_id":"a5260256-a682-4803-8814-3bf86f9daab7","html_url":"https://github.com/pschatzmann/arduino-dlna","commit_stats":null,"previous_names":["pschatzmann/arduino-dlna-server","pschatzmann/arduino-dlna"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/pschatzmann/arduino-dlna","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pschatzmann%2Farduino-dlna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pschatzmann%2Farduino-dlna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pschatzmann%2Farduino-dlna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pschatzmann%2Farduino-dlna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pschatzmann","download_url":"https://codeload.github.com/pschatzmann/arduino-dlna/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pschatzmann%2Farduino-dlna/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30025186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T23:36:48.274Z","status":"ssl_error","status_checked_at":"2026-03-02T23:33:36.569Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino-library","audio","cmake","communication","controlpoint","dlna","dlna-client","dlna-player","dlna-server","media-server"],"created_at":"2024-10-10T13:36:56.223Z","updated_at":"2026-03-02T23:37:19.900Z","avatar_url":"https://github.com/pschatzmann.png","language":"C++","funding_links":["https://buymeacoffee.com/philschatzh","https://www.paypal.com/paypalme/pschatzmann?country.x=CH\u0026locale.x=en_US","https://www.buymeacoffee.com/philschatzh","https://paypal.me/pschatzmann?country.x=CH\u0026locale.x=en_US"],"categories":[],"sub_categories":[],"readme":"﻿# Digital Living Network Alliance (DLNA)\r\n\r\n[![Arduino Library](https://img.shields.io/badge/Arduino-Library-blue.svg)](https://www.arduino.cc/reference/en/libraries/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\n\r\nThis library provides the functionality to implement __UPnP/DLNA control points and devices__ for Arduino.\r\n\r\nThe Digital Living Network Alliance (DLNA) aimed to establish __interoperability__ among PCs, consumer appliances, and mobile devices across wired and wireless networks. The goal was to provide a common solution for __sharing digital media and content__ services. \r\n\r\nThough this technology is now more then 20 years old and can be considered obsolete, it is still quite useful for some use cases: For __Audio and Video__ the successor protocols are __Chromecast and AirPlay__. Chromecast is close sourced and uses secure channels to Google, so you can't implement your own devices. On the other hand, Airplay is Apple specific and is not available on other platforms (e.g. Android). This leaves __DLNA as the only open and flexible Standard__ for accessing and sharing digital media (audio, video, images...)!\r\n\r\n\r\n## Device Types and Control Points\r\n\r\nThis library provides memory-efficient classes to implement __DLNA devices__ and __control points__ (=clients). In addition to the core functionality, this project includes some easy-to-use classes:\r\n\r\n- Devices\r\n  - [DLNADevice](https://pschatzmann.github.io/arduino-dlna/classtiny__dlna_1_1DLNADevice.html) (Generic Device API)\r\n  - [DLNAMediaRenderer](https://pschatzmann.github.io/arduino-dlna/classtiny__dlna_1_1DLNAMediaRenderer.html)\r\n  - [DLNAMediaServer](https://pschatzmann.github.io/arduino-dlna/classtiny__dlna_1_1DLNAMediaServer.html)\r\n\r\n- Control Points\r\n  - [DLNAControlPoint](https://pschatzmann.github.io/arduino-dlna/classtiny__dlna_1_1DLNAControlPoint.html) (Generic Control Point API)\r\n  - [DLNAControlPointMediaRenderer](https://pschatzmann.github.io/arduino-dlna/classtiny__dlna_1_1DLNAControlPointMediaRenderer.html)\r\n  - [DLNAControlPointMediaServer](https://pschatzmann.github.io/arduino-dlna/classtiny__dlna_1_1DLNAControlPointMediaServer.html)\r\n\r\n\r\nThis implementation supports the different __Arduino Network Stacks__: Just specify\r\nyour network class as template parameter. The table below shows the recommended\r\npairings for the common Arduino WiFi and Ethernet libraries.\r\n\r\n| Class | WiFi | Ethernet |\r\n| - | - | - |\r\n| `HttpRequest` | `HttpRequest\u003cWiFiClient\u003e` | `HttpRequest\u003cEthernetClient\u003e` |\r\n| `HttpServer` | `HttpServer\u003cWiFiClient, WiFiServer\u003e`  | `HttpServer\u003cEthernetClient, EthernetServer\u003e` |\r\n| `HttpServerUsingTask` | `HttpServerUsingTask\u003cWiFiClient, WiFiServer\u003e`  | `HttpServerUsingTask\u003cEthernetClient, EthernetServer\u003e` |\r\n| `DLNADevice` | `DLNADevice\u003cWiFiClient\u003e` | `DLNADevice\u003cEthernetClient\u003e` |\r\n| `DLNAMediaRenderer` | `DLNAMediaRenderer\u003cWiFiClient\u003e` | `DLNAMediaRenderer\u003cEthernetClient\u003e` |\r\n| `DLNAMediaServer` | `DLNAMediaServer\u003cWiFiClient\u003e` | `DLNAMediaServer\u003cEthernetClient\u003e` |\r\n| `UDPService` | `UDPService\u003cWiFiUDP\u003e` | `UDPService\u003cEthernetUDP\u003e` |\r\n\r\n## Project Documentation\r\n\r\n* [Wiki](https://github.com/pschatzmann/arduino-dlna/wiki)\r\n* [Class Documentation](https://pschatzmann.github.io/arduino-dlna/annotated.html)\r\n* [Blogs](https://www.pschatzmann.ch/home/tag/dlna/)\r\n* [Examples](https://github.com/pschatzmann/arduino-dlna/tree/main/examples)\r\n\r\n\r\n## Installation in Arduino\r\n\r\nYou can download the library as zip and call include Library -\u003e zip library. Or you can git clone this project into the Arduino libraries folder e.g. with\r\n\r\n```\r\ncd  ~/Documents/Arduino/libraries\r\ngit clone https://github.com/pschatzmann/arduino-dlna.git\r\n```\r\n\r\nI recommend to use git because you can easily update to the latest version just by executing the ```git pull``` command in the project folder.\r\n\r\n\r\n## Sponsor Me\r\n\r\nThis software is totally free, but you can make me happy by rewarding me with a treat\r\n\r\n- [Buy me a coffee](https://www.buymeacoffee.com/philschatzh)\r\n\r\n- [Paypal me](https://paypal.me/pschatzmann?country.x=CH\u0026locale.x=en_US)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpschatzmann%2Farduino-dlna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpschatzmann%2Farduino-dlna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpschatzmann%2Farduino-dlna/lists"}