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

I see there was an old feature request for this, but it doesn't look like there has been any movement : Change Streaming Cache Location

I recently moved all my media files from local drives to a NAS. Everything seems to work well, and the system is fairly snappy as long as I'm not running any large transfers or scans on the NAS. If the NAS is busy, then I notice some lag looking through my media via the Channels App (the image art takes some time to load instead of being instant when on a local drive).

Even if this isn't officially supported, is there a way to change the location where this meta data/cache is stored? I would love to put it on my local NVme M.2 drive on my Windows 11 PC running CDVR and keep all my media on the NAS.

Plex has a solution for this even though it requires some Registry editing and manual file copying, but it works well after making the changes : [HowTo] An extended guide on how to move the Plex data folder on Windows - Tips, Tricks & How-Tos - Plex Forum

I've heard @racameron mention something about a workaround using symlinks, but I know nothing about that. Do symlinks apply to Windows Environments, or just Linux?

If there is a way to do this, even if unofficially?

Yes you can make a symlink on Windows to make the Streaming folder point wherever you want.

Thanks. I'll figure out the Symlink, seems pretty simple. Are there any other folder in addition to the streaming folder that would benefit from a faster (non network) drive?

For those that have used Symbolic Links before, can you please confirm something for me? I created a Symlink from my q:\ChannelsDVR\Streaming folder on my NAS to point to my local NVme drive c:\ChannelsDVR\Streaming.

I believe the symlink command worked as I now see a "Streaming" folder on my C: drive. Here is my question...

It appears when CDVR saves anything in this Streaming folder, they are updated in both my Q:\ChannelsDVR\Streaming and my C:\ChannelsDVR\Streaming folder. Is this normal/expected? I was thinking it should only show up in the C:\ drive.

One more question for @tmm1 or any developer. I accidentally deleted the data and folders in the Streaming folder. I don't see any negative effects thus far, will CDVR just re-create those files as I search and watch shows/movies? Or, should I try to restore all the old data?

When you Click on Streaming on your NAS (symlink) you will see what is on your c drive. It will appear as if it is on the NAS but actually isn't..

I think I have something messed up. Here is the command I used (see below). The command worked and created a "Streaming" folder on the C: drive.

MKLINK /D “C:\ChannelsDVR\Streaming” “Q:\ChannelsDVR\Streaming”

After running this command, here is what the Cache file (in the Streaming folder) looks like on the Q drive:

Here is what it looks like on the C: Drive:

To me it looks like the data is stored on each drive separately. I'm wondering if the I put in the command backwards (i.e. the source and target are reversed)? Any ideas?

This is what mine looks like ... symlink I am on windows so I use a pgm to create them ... makes life easier.

Link Shell Extension (schinagl.priv.at)

image

I will try that program now to see if that helps. Can you elaborate on the file sizes of each directory. Are you saying there is very little data stored on the CDVR folder and that it is all saved on the local drive (C: in my case)?

You have to shutdown channels DVR on your NAS to create the symlink ... on the nas... You can move over the Streaming folder to the C drive then create a symlink on the Nas with the name Streaming on your NAS.

I did shutdown CDVR before creating any symlinks. I downloaded the program you referenced and have things setup as follows. My concern is that both folders show the exact same file size (like it is being stored on both drives).

Do you see anything wrong with these settings? I think I may have the drives backwards?

Here is how it looks on my NAS Q: Drive

Q-Drive

This is how it looks on my C: Drive

C-Drive

Both drives have the same amount of space taken up in the folder.

That appears to be backwards.

Ok, I was thinking the same thing, I appreciate your input. The problem is, when I reverse it, I get the following error message:

"Link Shell Extension: (4390) The file or directory is not a reparse point"

Not sure what that means, it seems like it should work, but it isn't. Any ideas?

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:.