Skip to main content

What is DLNA Media Server?

DLNA Media Server is a lightweight, TypeScript-based implementation of a DLNA (Digital Living Network Alliance) media server. It runs on Node.js and enables you to stream video content from your machine to any DLNA-compatible device on your local network — smart TVs, game consoles, media players, and more. The server implements the UPnP (Universal Plug and Play) MediaServer:1 device specification, including:
  • SSDP (Simple Service Discovery Protocol) for automatic device advertisement
  • ContentDirectory:1 service for browsing and serving media metadata
  • SOAP over HTTP for UPnP service control messages

Quickstart

Get the server running and streaming in minutes

How It Works

Understand the DLNA/UPnP protocol stack

Configure Your Gallery

Add your video files to the media gallery

Architecture

Explore the server’s internal structure

Key features

  • Zero-config device discovery — SSDP multicast automatically advertises the server on your LAN; no manual IP entry needed on client devices
  • ContentDirectory browsing — DLNA clients can browse, search, and fetch your video library via standard UPnP SOAP actions
  • JSON-driven media gallery — add videos by editing a single gallery.json file; no database required
  • Auto IP detection — the server detects your local IPv4 address at startup, so it works across network changes
  • Edge.js XML templates — all UPnP XML responses are rendered from clean, editable Edge.js templates
  • Pure TypeScript — fully typed source with minimal dependencies (cheerio and edge.js)

Requirements

  • Node.js 18 or later (ESM support required)
  • TypeScript 5+ (for development)
  • A local network with DLNA-capable devices to stream to