dmapd
The dmapd project provides a GObject-based, Open Source implementation of DMAP sharing with the following features:
- Support for both DAAP and DPAP
- Support for realtime transcoding of media formats not natively supported by clients
- Support for many metadata formats, such as those associated with Ogg Vorbis and MP3 (e.g., ID3)
- Detection of video streams so that clients may play them as video
- Use of GStreamer to support a wide range of audio and video CODECs
- Caching of photograph thumbnails to avoid regenerating them each time the server restarts
Dmapd runs on Linux and other POSIX operating systems. It has been used on OpenWrt Linux-based systems with as little as 32MB of memory to serve music, video, and photograph libraries containing thousands of files.
Dmapd supports the following command line options:
- -?, --help
- Show help options
- -f, --foreground
- Do not fork; remain in foreground
- -n, --name
- Name of media shares
- -m, --music-dir
- Music directory
- -p, --picture-dir
- Picture directory
- -M, --music-format
- Acceptable music format
- -P, --picture-format
- Acceptable picture format
- -l, --lockpath
- Path to lockfile
- -i, --pidpath
- Path to PID file
- -d, --db-dir
- Media database directory
- -u, --user
- User to run as
- -g, --group
- Group to run as
- -t, --transcode-mime-type
- Target MIME type for transcoding
- -r, --rt-transcode
- Perform transcoding in real-time
- -w, --max-thumbnail-width
- Maximum thumbnail size (may reduce memory use)
- -c, --directory-containers
- Serve DMAP containers based on filesystem heirarchy
Dmapd supports the following environment variables:
- DMAPD_DEBUG
- Enable verbose debugging messages
- DMAPD_CONFIG_FILE
- Path to an alternate configuration file
- DMAPD_MODULEDIR
- Directory containing dmapd modules
- DMAPD_AV_META_READER_MODULE
- Name of an alternate AV module
- DMAPD_AV_RENDER_MODULE
- Name of an alternate AV render module; when applicable may also specify a host, e.g.: DMAPD_AV_RENDER_MODULE=gst:host=192.168.0.1
- DMAPD_PHOTO_META_READER_MODULE
- Name of an alternate photograph module
- DMAPD_DB_MODULE
- Name of an alternate database module
Dmapd can provide content to any client that supports DAAP or DPAP. This includes the following software clients and hardware devices:
Dmapd can read metadata from any music file supported by GStreamer. In order to use this feature you must have the appropriate GStreamer plugins installed. The following plugins are always required if you wish to use this feature:
- app
- decodebin
- typefindfunctions
The following GStreamer plugins are required for the corresponding media types:
- mad (MP3)
- id3demux (MP3)
- ogg (Ogg Vorbis, etc.)
- vorbis (Ogg Vorbis)
- flac (FLAC)
- mpeg2dec (MPEG video)
- theora (Ogg Theora video)
- dmapd-0.0.1.tar.gz
- dmapd-0.0.2.tar.gz
- dmapd-0.0.3.tar.gz
- dmapd-0.0.4.tar.gz
- dmapd-0.0.5.tar.gz
- dmapd-0.0.6.tar.gz
- dmapd-0.0.7.tar.gz
- dmapd-0.0.8.tar.gz
- dmapd-0.0.9.tar.gz
- dmapd-0.0.10.tar.gz
- dmapd-0.0.11.tar.gz
- dmapd-0.0.12.tar.gz
- dmapd-0.0.13.tar.gz
- dmapd-0.0.14.tar.gz
- dmapd-0.0.15.tar.gz
- dmapd-0.0.16.tar.gz
- dmapd-0.0.17.tar.gz
- dmapd-0.0.18.tar.gz
- dmapd-0.0.19.tar.gz
- dmapd-0.0.20.tar.gz
- dmapd-0.0.21.tar.gz
- dmapd-0.0.22.tar.gz
- dmapd-0.0.23.tar.gz
- dmapd-0.0.24.tar.gz
- dmapd-0.0.25.tar.gz
- dmapd-0.0.26.tar.gz
- dmapd-0.0.27.tar.gz
- dmapd-0.0.28.tar.gz
- dmapd-0.0.29.tar.gz
- dmapd-0.0.30.tar.gz
- dmapd-0.0.31.tar.gz
- dmapd-0.0.32.tar.gz
- dmapd-0.0.33.tar.gz
- dmapd-0.0.34.tar.gz
- dmapd-0.0.35.tar.gz
- dmapd-0.0.36.tar.gz
- dmapd-0.0.37.tar.gz
- dmapd-0.0.38.tar.gz
- dmapd-0.0.39.tar.gz
- dmapd-0.0.40.tar.gz
- dmapd-0.0.41.tar.gz
- dmapd-0.0.42.tar.gz
- dmapd-0.0.43.tar.gz
- dmapd-0.0.44.tar.gz
- dmapd-0.0.45.tar.gz
- dmapd-0.0.46.tar.gz
- dmapd-0.0.47.tar.gz
- dmapd-0.0.48.tar.gz
- dmapd-0.0.49.tar.gz
- dmapd-0.0.50.tar.gz
- dmapd-0.0.51.tar.gz
- dmapd-0.0.52.tar.gz
- dmapd-0.0.53.tar.gz
- dmapd-0.0.54.tar.gz
- dmapd-0.0.55.tar.gz
- dmapd-0.0.56.tar.gz
- dmapd-0.0.57.tar.gz
- dmapd-0.0.58.tar.gz
- dmapd-0.0.59.tar.gz
- dmapd-0.0.60.tar.gz
- dmapd-0.0.61.tar.gz
- dmapd-0.0.62.tar.gz
- dmapd-0.0.63.tar.gz
- dmapd-0.0.64.tar.gz
- dmapd-0.0.65.tar.gz
- dmapd-0.0.66.tar.gz
- dmapd-0.0.67.tar.gz
- dmapd-0.0.68.tar.gz
- dmapd-0.0.69.tar.gz
- dmapd-0.0.70.tar.gz
- dmapd-0.0.71.tar.gz
- dmapd-0.0.72.tar.gz
- dmapd-0.0.73.tar.gz
- dmapd-0.0.74.tar.gz
- dmapd-0.0.75.tar.gz
- dmapd-0.0.76.tar.gz
- dmapd-0.0.77.tar.gz
- dmapd-0.0.78.tar.gz
- dmapd-0.0.79.tar.gz
- dmapd-0.0.80.tar.gz
- dmapd-0.0.81.tar.gz
- dmapd-0.0.82.tar.gz
- dmapd-0.0.83.tar.gz
- dmapd-0.0.84.tar.gz
- dmapd-0.0.85.tar.gz
- dmapd-0.0.86.tar.gz
- dmapd-0.0.87.tar.gz
- dmapd-0.0.88.tar.gz
- dmapd-0.0.89.tar.gz
- dmapd-0.0.90.tar.gz
- dmapd-0.0.91.tar.gz
- dmapd-0.0.92.tar.gz
- dmapd-0.0.93.tar.gz
- dmapd-0.0.94.tar.gz
- dmapd-0.0.95.tar.gz
- dmapd-0.0.96.tar.gz
- dmapd-dummy-0.0.1.tar.gz
- dmapd-dummy-0.0.2.tar.gz
The dmapd project is also available as a Git repository. To clone the repository, execute
git clone https://www.flyn.org/git/dmapd