miniDLNA 'no-scan' mode?

2012-08-12
2013-05-29
  • Paul Medynski
    Paul Medynski
    2012-08-12

    Hi folks,

    I'm running miniDLNA on my DNS-323 NAS with around 32,000 files (15,000 audio, 16,000 pictures, and 1000 video).  I have each of these media types in their own separate directory hierarchies, and I have miniDLNA configured such that each of the media types' root directories indicates the type of media it contains.

    I find that miniDLNA takes a very long time to scan these directories, and that even after a full scan it sometimes ends up eating up 100% of the CPU when I try to navigate through the directories via my Xbox 360.  In these cases, I don't know what it's doing because I can't seem to find any logs (although I didn't look very hard).

    In any case, I find this whole notion of scanning 32k files (on limited hardware) and attempting to keep them indexed over time to be unnecessary.  I have a feeling this indexing is to support some UPnP or DLNA searching features, but I have no use for those.  I keep all my files organized on the filesystem such that I can find what I want by traversing a few layers of directories.

    I used this approach with XBMC and samba/CIFS shares without any problems for years.  Now I'm using my Xbox 360 with miniDLNA and it's a big step backwards from simple CIFS sharing (I wish the Xbox 360 would support CIFS - it's Microsoft's protocol after all!).

    Anyway - would it be possible to configure miniDLNA such that it didn't scan anything and simply presented the configured media directories as-is, allowing only normal filesystem-style directory traversal?  I'm not sure what the implications of this would be.  I imagine a 'search' feature would either be non-functional, or would have to consult the filesystem on each search, which doesn't matter to me since I never search.

    Thoughts?

    I'm an experienced C++ developer and I'd be willing to help with this effort, but I'd need some guideance to get started.

    Thanks!
    -Paul

     
  • I've been doing some work to add PostgreSQL support to MiniDLNA, but there's still a fair amount of work to do.
    (It should help with large repositories, but you need separate hardware to run the SQL server.)

    You can see my code on my github: https://github.com/douglas-carmichael/minidlna