Additional Storage Locations for Channels DVR Recordings

i was was pretty excited about this but there’s a pretty big oversight in your implementation: Windows paths have to have a colon (“D:\DVR”) in them and your implementation uses colon as a delimiter, so Windows users can’t use this feature.

Any chance of getting this bug fixed? I’m running low on space :wink:

Here is the repro:

$url = "http://127.0.0.1:8089/dvr"
$payload = '{"ExtraPaths":"D:\DVR"}'

Invoke-RestMethod -Method Patch -Body $payload -uri $url

Invoke-RestMethod -Method Get -uri $url

Output:
activity : @{0-job-1520402220-15=Recording ch7.1 for NCIS: New Orleans until 11:03PM.}
busy : True
clients : 0
disk : @{free=356599914496; total=1999753965568; used=1643154051072}
enabled : True
extra_paths : {D, \DVR}
keep : @{num=; only=}
padding : @{end=180; start=180}
path : C:\DVR
stats : @{groups=29; files=313; jobs=38; rules=19}
status : running

Hey cool, I didn’t know about Invoke-RestMethod

I’ll change the separator to ; on windows since that seems to be the standard for PATH.

Awesome, let me know when you have a build available and I will test it out.

After thinking about this; Why not make this value a JSON array instead of using delimiters in a string?

It’s a limitation of how the data is stored. Settings are stored in a simple string key/value format.

I’ve uploaded a test build which uses ; on windows. Use this to upgrade:

iwr -Method put http://127.0.0.1:8089/updater/check/2018.03.07.2242

Didn't seem to work.

New version: 2018.03.07.2242

Patch request body was:
{"ExtraPaths":"D:\DVR"}

Get response body was:
{
"activity":{},
"busy":false,
"clients":3,
"disk":{"free":449997070336,"total":1999753965568,"used":1549756895232},
"enabled":true,
"extra_paths":["D","\DVR"],
"keep":{"num":"","only":""},
"padding":{"end":"180","start":"180"},
"path":"C:\DVR",
"stats":{"groups":29,"files":278,"jobs":33,"rules":19},
"status":"running"
}

Oops, try again with 2018.03.08.0054

Success! Thanks for getting a fix so quickly, that was awesome!

1 Like

I would like to request this feature to be added to the GUI to select multiple folders.

2 Likes

I was able to get this set up today and it works great. I have a question about it though… Is this additional directory used solely for playback of recordings? Or, will it also be used to record new shows once the original path (drive) is full? Thanks!

The extra directories are used for playback only.

1 Like

So recordings can be manually copied over to a second drive/array?

I’m thinking I’ll record to the 4 tb drive & copy over to the RAID array. OTA mpeg-2 really adds up quick.

How do I implement this on Windows? Is it documented somewhere? Thanks.

The powershell commands required are listed above.

$url = "http://127.0.0.1:8089/dvr"
$payload = '{"ExtraPaths":"D:\DVR"}'

Invoke-RestMethod -Method Patch -Body $payload -uri $url

I'm on a Mac. Do I just add this command to Terminal (changing the name of Drive2 to my drive)? Doesn't seem to work.

There were some smart quotes in that command which I have fixed.

You would need to specify the correctly path to where your extra recordings are stored, including both the drive name and the recordings folder name.

So, this is for playback which mean we would have to manually/script moving the files from the first location to the secondary locations? The DVR would search both first and second when trying to playback a recording, but only record new programs to the first location?

1 Like

Correct.

Correct.

If you have an unlimited Google Drive account and running Windows, you can use your Google Drive as DVR storage !

3 Likes