Is it possible to change the location of CDVR Cached files?

Make sure you have a folder on your C drive called Streaming make sure their is nothing called streaming on your NAS .... If you installed the program that I posted you can right click on C:\Streaming and select Pick Link Source then go to your nas and right click and drop as Symlink.

Sounds like everyone is confused here.
You said you're running CDVR on your Windows PC, but pointing to your NAS for storage.
Post a screenshot of your DVR settings.

If Q: drive is a mapped network drive, then it's really the directory on your NAS that it's mapped to.
Using Q: in Windows is just a convenience. You could also use \\NAS_IP_ADDRESS\DIRECTORY

If your local NVme M.2 drive on the Windows 11 PC running CDVR is C: then you probably want to set Channels DVR to record to C: and use symbolic Directory links on Windows to link to directories on your NAS for everything but the Streaming directory. i.e. Database, Images, Imports, Logs, Movies and TV.

If you're having the DVR on the PC write to the NAS and then create a symlink on the NAS pointing to your Windows PC, you have network traffic going from the PC to the NAS and back again to the PC to write to the C:\ChannelsDVR\Streaming directory.

1 Like

The Q drive is just a mapped network drive on my windows 11 PC that points to the Qnap NAS.

I'm starting to get a grasp on things, but I still haven't round a resolution. When I try to create the Symlink correctly, I get the following error message... "Link Shell Extension: (4390) The file or directory is not a reparse point.". I can correctly create a Symlink from a local to local drive, but not local to remote.

Reading up on it further, it looks like my Qnap NAS might not allow for the traditional method of creating Symlinks. I found some instructions on how to create it by SSH'ing into my NAS using WinSCP. That allows me to create a Symlink, but it still doesn't work. I think it is trying to create a file symlink instead of doing it on the folder level. Channels DVR doesn't work thought without there being a Streaming folder.

Honestly I am not sure if there is a solution to this. I would LOVE to see Channels let me specific the directory/drive for the cache and/or any other folder that would benefit from being on a fast local drive instead of where my media is stored (on the NAS).

I would still welcome any advice or things to try.

What is Q:\ChannelsDVR mapped to on your NAS?
What is the directory on Windows C: that you want your Streaming folder in?

Basically on Windows you create the base directory for Channels DVR,
let's say C:\ChannelsDVR
You create that directory on your C:
Then create the directory C:\ChannelsDVR\Streaming
At this point, the only thing in C:\ChannelsDVR is the directory Streaming

You then create Directory symlinks on your Windows PC pointing to the directories on your NAS for every directory you want it to use on your NAS.
The directories must NOT already exist on your Windows PC, the symlinks take the place of them.

MKLINK /D C:\ChannelsDVR\Database Q:\ChannelsDVR\Database
MKLINK /D C:\ChannelsDVR\Images Q:\ChannelsDVR\Images
MKLINK /D C:\ChannelsDVR\Imports Q:\ChannelsDVR\Imports
MKLINK /D C:\ChannelsDVR\Logs Q:\ChannelsDVR\Logs
MKLINK /D C:\ChannelsDVR\Movies Q:\ChannelsDVR\Movies
MKLINK /D C:\ChannelsDVR\TV Q:\ChannelsDVR\TV

Whatever directories you want to keep on C:, just create those directories on C: instead of creating Directory symlinks for them pointing to your NAS.

Then uncheck [checkmark] Server Enabled and change the DVR directory from
Q:\ChannelsDVR
to
C:\ChannelsDVR
Then check [ ] Server Enabled

It would be much easier if the devs implemented overriding the location for the Streaming directory.

Q:\ChannelsDVR is mapped to \192.168.0.10\Public\ChannelsDVR is that what you are asking>

I would like the Directory on my C drive to be c:\ChannelsDVR

I've done this, and I am following you thus far.

So I think I am following you. I change the location of Channels to the c: drive and then create the symlinks for the TV and Movies folder so it still stores those on the NAS (with everything else remaining on the C drive)? If that is what you are suggesting, I will give that a try.

All you need is one symlink, to make the Streaming folder point to another disk.

You can do multiple symlinks I guess but it sounds complicated for no reason.

Correct.
Whatever you want to remain in C:\ChannelsDVR you create the directories in C:\ChannelsDVR instead of using MKLINK to create symlinks for them.

He wants only Streaming to remain on C:.
I guess he could create a symlink C:\ChannelsDVR\Streaming pointing to another directory on his C:.

And you also have to take into account that a Windows mapped network drive, like Q: is NOT mounted until the user that created it logs in. Until then Q: doesn't exist.

Another point is if CDVR is running as a system service you have to consider username credentials for the network shares.

What I do to access directories on my NAS from my Windows PC is to create the same usernames and passwords on my NAS that are on my Windows PC.

I then access the NAS shares from my Windows PC using \\IP_OF_NAS\DIRECTORY instead of Windows mapped network drive letters.

Actually, I changed my mind. I want everything on my local C drive except TV and Movies (media files). It looks like all I would need to do is enable the server pointing to c:\channelsDVR and then create symlinks for the Movies and TV folder. Do you agree?

Yep. Just make sure to create the symlinks before changing the DVR server to C: or it will create directories there.

1 Like

I did, thankfully. Seems to be working, but I don't like how it shows the storage space of the local drive instead of the storage space of the NAS. I guess it isn't a big deal, but man I sure wish the Devs would give us more control here. Thanks again for your help.

1 Like

Just posting a follow-up after doing some testing. Works much better doing it this way. The Channel DVR clients are now just as fast as they ever were. Scrolling through media is instant again now and the images no longer lag behind the scroll.

For those who want to use a NAS for media storage but don't want to run CDVR on the NAS, this is a great tweak to make.

It's still a clunky workaround, but worth it. Thanks again for all the help.

Pretty sure it's a Windows OS API call it uses to get the space on the drive you told it to use, C:

So to sum up what you did.

On your Windows PC you created the base directory for Channels DVR, C:\ChannelsDVR
Then you created Directory symlinks in it for the directories that you want to be only on your NAS.
The directories must NOT already exist on your Windows PC, the symlinks take the place of them.

MKLINK /D "C:\ChannelsDVR\Movies" "Q:\ChannelsDVR\Movies"
MKLINK /D "C:\ChannelsDVR\TV" "Q:\ChannelsDVR\TV"

At this point on your Windows PC you have
C:\ChannelsDVR (Directory on your PC C: drive)
C:\ChannelsDVR\Movies (Directory symlink pointing to your NAS Q:\ChannelsDVR\Movies)
C:\ChannelsDVR\TV (Directory symlink pointing to your NAS Q:\ChannelsDVR\TV)

Then uncheck [checkmark] Server Enabled and change the DVR directory from
Q:\ChannelsDVR
to
C:\ChannelsDVR
Then check [ ] Server Enabled

Channels DVR then creates and uses any other directories it needs on your PC C: if they didn't already exist.
C:\ChannelsDVR\Database
C:\ChannelsDVR\Images
C:\ChannelsDVR\Imports
C:\ChannelsDVR\Logs
C:\ChannelsDVR\Streaming

Much easier for other users to follow this.

Edit: double quote Windows directory paths in MKLINK command to accommodate any spaces in directory paths.

1 Like

Yes and no. Here are the steps I took.

  1. I unchecked the 'server enabled' under the general settings in Channels. I then fully exited Channels so it was no longer running.

  2. I created the base directory on my local drive (C:\ChannelsDVR). I then created the sub folders for the items I want to run off the C drive. These sub folders included Database, Images, Logs, and Streaming.

  3. I copied the existing data from my existing NAS sub folders into the above sub folders. In other words, I copied all the current files from Database, Images, Logs, and Streaming on my NAS to the newly created folders on the C drive.

  4. I downloaded and installed the program that @Edwin_Perez noted above Link Shell Extension (schinagl.priv.at) This allows for easier symlink creation using windows gui.

  5. I added the Symlink for Movies by doing the following: I navigated to my NAS using file explorer and found the Movies folder. I righted clicked on this folder, selected 'show more options' and then clicked on 'pick link source'.

  6. I then used file explore to navigate to C:\ChannelsDVR. I then used the Link Shell Extension by right clicking in the folder and selected 'show more options' and then clicked on 'drop as' and picked 'Symbolic Link'.

  7. I repeated steps 5 and 6 above for the TV folder, the Import folder, and the PlayOn folder on the NAS.

Yes, at this point that is correct.

  1. I deleted the sub folders Database, Images, Logs, and Streaming on my NAS since these now reside on my local C Drive. I left the Movies, TV, Imports, and PlayOn folders on the NAS.

  2. I opened Channels DVR and updated the Server Enabled location to c:\ChannelsDVR. I then re-checked the Server Enabled check box. Since the data was already copied to my C drive, there was no need for CDVR to create these new folders. I guess if I didn't copy the data in a previous step, then it would auto create them.

Your breakdown is basically the same I just find it easier to use the Link Shell Extension than the command prompt. Less issues with spaces and typos.

Here is how my C:\ChannelsDVR folder looks now:
cdrive

When it is setup correctly, you can see the logo/icon for the Symlink folders have a little arrow in the lower left hand corner of the folders.

Everything seems to be working great so far. Performance is much better especially when the NAS is busy with other file transfers, etc.

That is Pretty Slick took only a few minutes to setup.

The only thing I would do different is add a Directory symlink for C:\ChannelsDVR\Imports to have that stored on the NAS also. Since you said you just wanted media on the NAS.

That is what I just did.

Good point, I have edited to include that. I didn't do the Imports folder on my end as I don't use that. I have a separate Imports folder in a different directory.