SlimDLNA is a lightweight, high-performance DLNA/UPnP media server written in C++ with FFmpeg integration for macOS. It allows you to stream your video collection to any DLNA-compatible device on your local network. The server is designed to be efficient and easy to use, with a focus on high performance and rich metadata extraction.
Features
- High Performance: Written in C++ with optimized FFmpeg integration.
- Rich Metadata: Automatic extraction of video duration, resolution, codec, and bitrate.
- Smart Scanning: Scans directories recursively and serves the 100 most recently modified videos.
- DLNA/UPnP: Full SSDP discovery and ContentDirectory service implementation.
- HTTP Range Support: Efficient video streaming with seek support.
- Smart Transcoding: Optional on-the-fly H.264 transcoding for old TV compatibility.
- Simple CLI: Easy-to-use command-line interface with flexible options.
Supported Video Formats
- MP4 (.mp4, .m4v)
- MKV (.mkv)
- AVI (.avi)
- MOV (.mov)
- WMV (.wmv)
- FLV (.flv)
- WebM (.webm)
- MPEG (.mpg, .mpeg)
Requirements
- macOS (tested on macOS 10.15+)
- CMake 3.15 or later
- Homebrew (for dependencies)
Installation
- Install Dependencies: Use Homebrew to install CMake, FFmpeg, and libmicrohttpd.
- Build from Source: Clone the repository, create a build directory, configure with CMake, and build the project.
The compiled binary will be located at build/slimdlna. Run the server with default settings to start streaming your media collection.