Serve dlna - General discussion, tips & tricks

I created a couple of issues on github, regarding the dlna feature, but I figure that before asking for even more features or customization there should really be a discussion in the forum so that developers can actually understand how users want to use this feature, and where they feel it's lacking.

So please comment below, on anything having to do with the dlna feature. You can offer your experience regarding things like:

  • Do you use the dlna feature?
  • What are are your dlna clients (TV/Hi-Fi/hardware player/software player etc)
  • What kind of media do you use it for (video/music/photos/other etc)
  • How big is your library (how many items do you serve)
  • What kind of remote stores your library (local/gdrive/dropbox/sftp/ftp/http/crypt etc)
  • What does your 'serve dlna' command look like? How long does rclone take to create your dlna library?

Let me kick off the discussion with my (small) experience so far.

I just started playing around with dlna feature. Since I have a very large library of video (40+ TB) that I want to be able to serve, I understand it will take a bit of tweaking to find the optimal settings (for the moment I am only testing using a few subfolders)
Files are stored on a gdrive+crypt remote.

For now, my TVs (LG) seem to be able to connect fine.
External (srt) subtitles also seem to be working OK.

  1. Most media servers allow you to exclude entire folder trees by adding an empty file with a specific filename (something like .ignore or .nomedia). In rclone we can get the same behavior by using the --exclude-if-present flag (this is a global rclone flag, not specific to dlna, but very useful in this case). So my command includes --exclude-if-present .ignore since I have empty .ignore files in some folders I am not interested in serving (mainly because it's media my TVs cannot understand/play)
    However, please note that the --exclude-if-present flag can only be used once in an rclone command. There is an open github issue (https://github.com/rclone/rclone/issues/2423) regarding this.

  2. Also, rclone's dlna doesn't apply any kind of filtering to the files it serves. So a lot of items can be adertised that maybe I don't want to serve. So for now I am playing around with a set of --exclude flags, something along the lines of --exclude *sample* --exclude *Sample* --exclude *.nfo. Something like --exclude *.srt can be used to 'disable' external subtitles for now, although I am of the opinion that external subtitles support is something that should be configurable altoghether as a behavior with a specific flag and not with 'hack' like this. (https://github.com/rclone/rclone/issues/3794 and https://github.com/rclone/rclone/issues/3796)

  3. Since my library is very large, I have to see what more optimizations I have to use to make library scanning as fast as possible. I am thinking --dir-cache-time,--no-modtime and --poll-interval is where I should be looking at.