INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Synology NAS as Library Server  (Read 4948 times)

John G

  • Recent member
  • *
  • Posts: 11
Synology NAS as Library Server
« on: May 06, 2016, 01:09:24 pm »

I'm storing music files on a Synology Disk Station on an Ethernet LAN. I'd like to move the MC library there, and have local renderers (which are all PCs) play from that library, rather than from one of the PCs as is currently the case. This would let me turn off the PC currently serving the library when it's not in use.

I made a copy of my current library and put it on the NAS. When I try to load it as a "Local Library" or point to it as a "Library Server," it loads on the local PC, and other renderers can't see it. This seems to happen whether I point to it as a local (192.168...) URL or with the access key.

The library represents a lot of work, adding composers, album art, etc, and I'm hoping to avoid creating a new one. Any help, or pointers to this topic previously addressed by others, would be appreciated.
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72549
  • Where did I put my teeth?
Re: Synology NAS as Library Server
« Reply #1 on: May 06, 2016, 04:51:36 pm »

If you want to turn off your PC as the server, then you will need something to act as a server on the Synology.  MC won't do that, but there are other DLNA/UPnP servers which probably can.

You could just use the Synology as a drive and import its files on the client PC's.
Logged

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: Synology NAS as Library Server
« Reply #2 on: May 06, 2016, 10:59:06 pm »

I made a copy of my current library and put it on the NAS. When I try to load it as a "Local Library" or point to it as a "Library Server," it loads on the local PC, and other renderers can't see it. This seems to happen whether I point to it as a local (192.168...) URL or with the access key.

Ooooh. Don't do that. When you do that, you are trying to have multiple programs (instances of MC on the renderer PCs) access the one set of files (the MC library files on the NAS) at the same time, and they are definitely not intended to be used that way. Individual files in a Windows system are not intended to be multi-user. The application needs to provide multi-user capabilities, where it needs to exist. For example, with large database systems.

What you tried to do is like have two copies of Microsoft Word on different PCs open the one document on your NAS, edit it, save it, and then expect to have all the edits in the document on the NAS, and for the text to make sense. Won't work. In fact Microsoft put controls in to prevent that, exactly because it won't work. Ever seen a "file in use" message, in Word, or any other application? That is Windows preventing corruption of the file. If Word did allow it, you would just end up with corrupt files. Someone did this not so long ago and started getting strange errors and problems with MC. The problem was, certain files in the MC library were being corrupted, and then MC recreated them, so changes and settings were lost. Or MC just broke. There may have been a change in MC so that the library gets hidden from other MC instances, once it is in use. That would be a good change.

That is why the MC Server exists; to allow multiple PCs to use one library, although indirectly by synchronising the library to each MC Client PC.

So, the best choice for what you want to do is to decide which renderer PC is used most often, and could be left on all the time. Then make that PC the MC Server. You still end up with one PC on all the time, or set up to sleep when not required, and wake when someone wants to use another MC Client on another PC. But that works, and you have experience in using MC that way.

The only other way to do it is to designate one of the renderer PCs as the primary PC, and that is where all library maintenance will be done, and after every time you do maintenance, shut down MC and copy the new library version to all the other renderer PCs. That sounds a lot like what MC Server functionality does already, doesn't it? But it is a lot, lot more work, and fraught with possible disasters. I'm not even going to attempt to list all the possible problems. I do know that at least a couple of people do this with MC, but they do see problems, and need to be aware of how their environment works, and what doesn't. Theoretically once the library is copied to each PC, and media server is turned off on each, and the Access Key is removed, then if all library maintenance is done in such a way that all tags are written to the files or sidecar, side-by-side files, then this can work. But each library on each renderer will start to diverge as views, playlists, etc. are changed. I wouldn't want to do it this way.

So, can you just make one of the renderer PCs into a new MC Server, or repurpose the existing MC Server to become one of the renderer PCs? Or perhaps just leave it as it is.

PS: Do you have the current MC Server sleep when no-one is using it? If power usage is the issue, that will help. A MC Client will wake the MC Server when required.
PPS: You could put a DLNA server on the NAS, and then just use MC instances on the renderer PCs as DLNA clients. I haven't tried that, but I don't think you would still get all the views and metadata that you wish to retain, as only the metadata and views that the DLNA client provides would be available. You would lose what you are trying to retain.
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner

John G

  • Recent member
  • *
  • Posts: 11
Re: Synology NAS as Library Server
« Reply #3 on: August 05, 2016, 05:04:19 pm »

Ooooh. Don't do that. When you do that, you are trying to have multiple programs (instances of MC on the renderer PCs) access the one set of files (the MC library files on the NAS) at the same time, and they are definitely not intended to be used that way. Individual files in a Windows system are not intended to be multi-user. The application needs to provide multi-user capabilities, where it needs to exist. For example, with large database systems.
Thanks for your thoughtful and helpful reply. I found a solution which seems to be working, which is to copy the MC library file to the NAS, and then load it on each of the renderers.
Logged
Pages: [1]   Go Up