dmapd(8)

πŸ“¦ version 0.0.96, in fedora 43, fedora 44

✨ dmapd ✨

okay bestie, pull up a chair because we're talking about dmapd β€” a server that provides DAAP and DPAP shares. yes it's a System Manager's Manual situation, yes it's section 8, and yes it's about to be your new obsession. πŸ’–


🌸 SYNOPSIS 🌸

dmapd [options]

that's it. that's the whole vibe. you run it, you hand it options, it serves media. iconic behavior honestly. πŸ’…


πŸ¦‹ OVERVIEW πŸ¦‹

so the dmapd project is a GObject-based, Open Source implementation of DMAP sharing, and it comes with the following features, no cap:

  • 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 literally 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. like… it's giving tiny-but-mighty. 🧚


πŸ’œ DETAILS πŸ’œ

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

🌈 Environment Variables 🌈

dmapd also supports the following environment variables, bestie:

  • 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

🫢 Clients & Devices 🫢

dmapd can provide content to any client that supports DAAP or DPAP. this includes the following software clients and hardware devices:

  • Apple iTunes
  • Apple iPhoto
  • Rhythmbox
  • Roku SoundBridge

πŸŽ€ GStreamer Metadata Situation πŸŽ€

dmapd can read metadata from any music file supported by GStreamer. but listen β€” 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

and 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)
ok so real talk: no plugins, no metadata. it's giving "you had one job." go install them. πŸ’€

πŸ‘‘ AUTHORS πŸ‘‘

W. Michael Petullo <mike@flyn.org> β€” thank you for your service, king. πŸ«‘πŸ’–


and that's the whole page, bestie! this one came to you from the System Manager's Manual, dmapd(8), and it was serving absolute main character energy the whole time. mwah. πŸ’…βœ¨πŸŽ€πŸ¦‹πŸŒΈ