
Code: Select all
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<!-- See avahi.service(5) for more information about this configuration file -->
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_dlna._tcp</type>
<port>8200</port>
</service>
</service-group>
Code: Select all
# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200
# network interfaces to serve, comma delimited (8 interfaces max)
network_interface=eth0
# specify the user account name or uid to run as
user=minidlna
# set this to the directory you want scanned.
# * if you want multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to specific content types, you
# can prepend the types, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
# + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
media_dir=/n/movies
media_dir=/n/music
media_dir=/n/music-videoDo you mean my mpd audio stream? That's TCP based, so think it will be similar to your example.You may need one for your UDP service. Not sure which service name that VLC is looking for.
Mostly default, i only changed the media_dir to be somewhere in /tmp for testing purposesHow is your /etc/minidlna.conf:
Code: Select all
# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200
# network interfaces to serve, comma delimited (8 interfaces max)
#network_interface=eth0
# specify the user account name or uid to run as
#user=jmaggard
# set this to the directory you want scanned.
# * if you want multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to specific content types, you
# can prepend the types, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
# + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
media_dir=/tmp/dlna
# set this to merge all media_dir base contents into the root container
# note: the default is no
#merge_media_dirs=no
# set this if you want to customize the name that shows up on your clients
#friendly_name=My DLNA Server
# set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache
#db_dir=/var/lib/minidlna
# set this if you would like to specify the directory where you want MiniDLNA to store its log file
#log_dir=/var/log/minidlna
# set this to change the verbosity of the information that is logged
# each section can use a different level: off, fatal, error, warn, info, or debug
#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn
# this should be a list of file names to check for when searching for album art
# note: names should be delimited with a forward slash ("/")
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
# set this to no to disable inotify monitoring to automatically discover new files
# note: the default is yes
inotify=yes
# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
enable_tivo=no
# set this to beacon to use legacy broadcast discovery method
# defauts to bonjour if avahi is available
tivo_discovery=bonjour
# set this to strictly adhere to DLNA standards.
# * This will allow server-side downscaling of very large JPEG images,
# which may hurt JPEG serving performance on (at least) Sony DLNA products.
strict_dlna=no
# default presentation url is http address on port 80
#presentation_url=http://www.mylan/index.php
# notify interval in seconds. default is 895 seconds.
notify_interval=60
# serial and model number the daemon will report to clients
# in its XML description
serial=12345678
model_number=1
# specify the path to the MiniSSDPd socket
#minissdpdsocket=/var/run/minissdpd.sock
# use different container as root of the tree
# possible values:
# + "." - use standard container (this is the default)
# + "B" - "Browse Directory"
# + "M" - "Music"
# + "V" - "Video"
# + "P" - "Pictures"
# + Or, you can specify the ObjectID of your desired root container (eg. 1$F for Music/Playlists)
# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root
#root_container=.
# always force SortCriteria to this value, regardless of the SortCriteria passed by the client
# note: you can prepend the sort criteria with "!" to alter the titles of the objects so that they
# will be alphanumerically sorted in the order you specify here, to work around clients that do their
# own alphanumeric sorting.
#force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title
# maximum number of simultaneous connections
# note: many clients open several simultaneous connections while streaming
#max_connections=50
# set this to yes to allow symlinks that point outside user-defined media_dirs.
#wide_links=no
# enable subtitle support by default on unknown clients.
# note: the default is yes
#enable_subtitles=yes
Yes, for this proof-of-concept everything runs on my desktop.Is vlc running on the same machine that the dlna servers are?
I did enable zeroconf for vlc, i missed the upnp use flag, i'll enable that later today and retry.Edit to add: If you are trying to use upnp from vlc then did you enable upnp when you built vlc?
Yes. For minidlna zeroconf is enabled, the netgear and readynas flags are disabled.ETA2: Since you're using avahi (zeroconf use flag) is it set for both vlc and minidlna?


Code: Select all
[000055984c534a20] main playlist debug: processing request item: Audio, node: Universal Plug'n'Play, skip: 0
[000055984c534a20] main playlist debug: rebuilding array of current - root Universal Plug'n'Play
[000055984c534a20] main playlist debug: rebuild done - 4 items, index 0
[000055984c534a20] main playlist debug: starting playback of new item
[000055984c534a20] main playlist debug: resyncing on Audio
[000055984c534a20] main playlist debug: Audio is at 0
[000055984c534a20] main playlist debug: creating new input thread
[00007f5914000ec0] main input debug: Creating an input for 'Audio'
[000055984c534a20] main playlist debug: requesting art for new input thread
[00007f5914000ec0] main input debug: using timeshift granularity of 50 MiB
[00007f5914000ec0] main input debug: using default timeshift path
[00007f5914000ec0] main input debug: `upnp://<ip>:49153/upnp/control/cds?ObjectID=6' gives access `upnp' demux `any' path `<ip>:49153/upnp/control/cds?ObjectID=6'
[00007f58e80011e0] main input source debug: creating demux: access='upnp' demux='any' location='<ip>:49153/upnp/control/cds?ObjectID=6' file='(null)'
[00007f58e8001340] main demux debug: looking for access_demux module matching "upnp": 11 candidates
[00007f58e8001340] main demux debug: no access_demux modules matched
[00007f58ec000c70] main meta fetcher debug: looking for meta fetcher module matching "any": 0 candidates
[00007f58ec000c70] main meta fetcher debug: no meta fetcher modules
[00007f58e8001780] main stream debug: creating access: upnp://<ip>:49153/upnp/control/cds?ObjectID=6
[00007f58e8001780] main stream debug: looking for access module matching "upnp": 22 candidates
[00007f58ec000c70] main art finder debug: looking for art finder module matching "any": 1 candidates
[00007f58e8001780] main stream debug: using access module "upnp"
[00007f58e8001a40] main stream debug: looking for stream_filter module matching "any": 25 candidates
[00007f58e8001a40] main stream debug: no stream_filter modules matched
[00007f58e8001f40] main stream_directory debug: looking for stream_directory module matching "any": 0 candidates
[00007f58e8001f40] main stream_directory debug: no stream_directory modules
[00007f58e80011e0] main input source debug: attachment of directory-extractor failed for upnp://<ip>:49153/upnp/control/cds?ObjectID=6
[00007f58e8001a40] main stream debug: looking for stream_filter module matching "record": 25 candidates
[00007f58e8001a40] main stream debug: using stream_filter module "record"
[00007f58e80011e0] main input source debug: creating demux: access='upnp' demux='any' location='<ip>:49153/upnp/control/cds?ObjectID=6' file='(null)'
[00007f58e8001340] main demux debug: looking for demux module matching "any": 48 candidates
[00007f58e8001340] es demux debug: cannot peek
[00007f58e8001340] es demux debug: cannot peek
[00007f58e8001340] es demux debug: cannot peek
[00007f58e8001340] es demux debug: cannot peek
[00007f58e8001340] es demux debug: cannot peek
[00007f58ec000c70] main art finder debug: no art finder modules matched
[00007f58e8001340] main demux debug: using demux module "directory"
[00007f58e80045b0] main demux meta debug: looking for meta reader module matching "any": 0 candidates
[00007f58e80045b0] main demux meta debug: no meta reader modules
[00007f5914000ec0] main input debug: `upnp://<ip>:49153/upnp/control/cds?ObjectID=6' successfully opened
[000055984c538d60] qt interface debug: IM: Setting an input
[00007f5914000ec0] main input debug: EOF reached
[000055984c534a20] main playlist debug: incoming request - stopping current input
[00007f58e8001340] main demux debug: removing module "directory"
[00007f58e8001a40] main stream debug: removing module "record"
[00007f58e8001780] main stream debug: removing module "upnp"
[000055984c534a20] main playlist debug: dead input
[000055984c534a20] main playlist debug: nothing to play
[000055984c538d60] qt interface debug: IM: Deleting the input
[000055984c534a20] main playlist debug: processing request item: Streams, node: Universal Plug'n'Play, skip: 0
[000055984c534a20] main playlist debug: rebuilding array of current - root Universal Plug'n'Play
[000055984c534a20] main playlist debug: rebuild done - 12 items, index 7
[000055984c534a20] main playlist debug: starting playback of new item
[000055984c534a20] main playlist debug: resyncing on Streams
[000055984c534a20] main playlist debug: Streams is at 7
[000055984c534a20] main playlist debug: creating new input thread
[00007f5914000ee0] main input debug: Creating an input for 'Streams'
[000055984c534a20] main playlist debug: requesting art for new input thread
[00007f5914000ee0] main input debug: using timeshift granularity of 50 MiB
[00007f5914000ee0] main input debug: using default timeshift path
[00007f5914000ee0] main input debug: `upnp://<ip>:49153/upnp/control/cds?ObjectID=536' gives access `upnp' demux `any' path `<ip>:49153/upnp/control/cds?ObjectID=536'
[00007f58f4000fc0] main input source debug: creating demux: access='upnp' demux='any' location='<ip>:49153/upnp/control/cds?ObjectID=536' file='(null)'
[00007f58f4001170] main demux debug: looking for access_demux module matching "upnp": 11 candidates
[00007f58f4001170] main demux debug: no access_demux modules matched
[00007f58e4000c80] main meta fetcher debug: looking for meta fetcher module matching "any": 0 candidates
[00007f58e4000c80] main meta fetcher debug: no meta fetcher modules
[00007f58e4000c80] main art finder debug: looking for art finder module matching "any": 1 candidates
[00007f58e4000c80] main art finder debug: no art finder modules matched
[00007f58f40015c0] main stream debug: creating access: upnp://<ip>:49153/upnp/control/cds?ObjectID=536
[00007f58f40015c0] main stream debug: looking for access module matching "upnp": 22 candidates
[00007f58f40015c0] main stream debug: using access module "upnp"
[00007f58f40018e0] main stream debug: looking for stream_filter module matching "any": 25 candidates
[00007f58f40018e0] main stream debug: no stream_filter modules matched
[00007f58f4001df0] main stream_directory debug: looking for stream_directory module matching "any": 0 candidates
[00007f58f4001df0] main stream_directory debug: no stream_directory modules
[00007f58f4000fc0] main input source debug: attachment of directory-extractor failed for upnp://<ip>:49153/upnp/control/cds?ObjectID=536
[00007f58f40018e0] main stream debug: looking for stream_filter module matching "record": 25 candidates
[00007f58f40018e0] main stream debug: using stream_filter module "record"
[00007f58f4000fc0] main input source debug: creating demux: access='upnp' demux='any' location='<ip>:49153/upnp/control/cds?ObjectID=536' file='(null)'
[00007f58f4001170] main demux debug: looking for demux module matching "any": 48 candidates
[00007f58f4001170] es demux debug: cannot peek
[00007f58f4001170] es demux debug: cannot peek
[00007f58f4001170] es demux debug: cannot peek
[00007f58f4001170] es demux debug: cannot peek
[00007f58f4001170] es demux debug: cannot peek
[00007f58f4001170] main demux debug: using demux module "directory"
[00007f58f4004460] main demux meta debug: looking for meta reader module matching "any": 0 candidates
[00007f58f4004460] main demux meta debug: no meta reader modules
[00007f5914000ee0] main input debug: `upnp://<ip>:49153/upnp/control/cds?ObjectID=536' successfully opened
[000055984c538d60] qt interface debug: IM: Setting an input
[00007f5914000ee0] main input debug: EOF reached
[000055984c534a20] main playlist debug: incoming request - stopping current input
[00007f58f4001170] main demux debug: removing module "directory"
[00007f58f40018e0] main stream debug: removing module "record"
[00007f58f40015c0] main stream debug: removing module "upnp"
[000055984c534a20] main playlist debug: dead input
[000055984c534a20] main playlist debug: nothing to play
[000055984c538d60] qt interface debug: IM: Deleting the input

Yes this works with both minidlna and gerbera, normal file browsing and playing is working correctly. My VLC is version 3.0.21,Anon-E-moose wrote:In vlc, is this option available "View -> Playlist -> Local Network -> Universal Plug'n'Play"
and if it is does it show the gerbera server?




This is also what the article you linked to describes.Both upmpcdcli and the upnp use flag on mpd doesn't seem to do what i need.
upmpcdcli wants to control mpd and does so based on upnp events. The upnp use flag on mpd enables it to access upnp resources, but not to become one itself.
