Easiest way to re-record a lot of episodes because the time needs to be padded

I've got several TV shows that I've put on a "Record All - Keep All" pass, only to find later that the schedule is off a bit so I'm recording a couple minutes of the previous show, and missing the last couple of minutes on the recorded episode. Some of the shows I have hundreds of episodes recorded and so I'm a little reluctant to just delete all the shows and start over. What I'd like to do is change the pass to pad it by 3 minutes on the ending time and then have it re-record-replace as the episodes appear again. I realize there isn't an option to do that, but was wondering if anyone had any tips on the most efficient way to do this. I have also read a few places that you can delete episodes and have it not re-record them which would be bad if I deleted hundreds of episodes from a pass.

Sounds like TVE (I always end-pad those 3 minutes). Easiest way is get the padding right to start with!

I know of a couple ways to do what you want.

This one would have to be repeated as it only uses upcoming airings in the guide.
Find future airings of the shows episodes using search or otherwise and for those shown as recorded "mark as not recorded", then pause and resume your series pass for the show.


This will work for all recordings you've already made.
Get a list of the ProgramID's for the episodes you already recorded from http://x.x.x.x:8089/dvr/programs (they're sorted making it easy to find).
Use curl to delete those database entries (does the same as mark an episode as not recorded),
then pause and resume your series pass for the show.

ProgramID's from dvr/programs
The show/series is represented by the first 10 characters 'EP00000746'
The episodes are respresented by the last 4 characters '0012', but that doesn't mean S00E12.

EP000007460012 "recorded-1174"
EP000007460013 "recorded-1194"
EP000007460015 "recorded-2847"
EP000007460018 "recorded-2060"
EP000007460019 "recorded-1195"
EP000007460021 "queued-1609097400-10"
EP000007460023 "recorded-2911"
EP000007460024 "recorded-2071"
EP000007460033 "recorded-1254"
EP000007460036 "recorded-2814"
EP000007460037 "recorded-1537"
EP000007460038 "recorded-400"
EP000007460045 "recorded-838"
EP000007460047 "recorded-17"
EP000007460048 "recorded-45"
EP000007460049 "recorded-67"
EP000007460051 "queued-1522983600-10"

Use curl to remove only the "recorded-file#" (not "queued-...") episodes from the database

curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460012"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460013"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460015"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460018"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460019"

DON'T REMOVE THIS, IT'S SCHEDULED TO RECORD->EP000007460021 "queued-1609097400-10"

curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460023"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460024"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460033"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460036"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460037"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460038"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460045"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460047"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460048"
curl -v -XDELETE "http://x.x.x.x:8089/dvr/programs/EP000007460049"

DON'T REMOVE THIS, IT'S SCHEDULED TO RECORD->EP000007460051 "queued-1522983600-10"

Now pause and resume your series pass for the show.

Would be nice if you could do this from the DVR web UI at the show/episode level. Like mark show and all recorded episodes as not recorded, or select episodes within show to mark as not recorded.

EDIT to add. If you need help determining the ProgramID numbers for a Series, post the Series ID and I can look it up. Or you can find it in the recorded files http://x.x.x.x:8089/dvr/files or scheduled jobs http://x.x.x.x:8089/dvr/jobs json data.


As a result of Prince Philip popping his clogs yesterday, many of the UK's TV programmes were replaced with tributes, so I'm trying to remove all those recordings in the expectation that they'll be re-broadcast at some point...

I looked at your post in an attempt to find the details of those recordings - and notice that the 'EP...' identifier is not the same as the Series ID in the DVR pass. Is there a quick way to find it? I did see that I could look through the DVR log for a newly-scheduled job where it tells you the EP number, but hoping there's a quicker method!

Question to Devs - is it worth including the EP number in the log when the recording is made so that you can quickly identify recent recordings?

As far as I know there are four places to see the tms ProgramID.
the logs as you said
the scheduled jobs json http://x:8089/dvr/jobs if it's scheduled to record but hasn't yet
the recorded files json http://x:8089/dvr/files if it's already been recorded
the programs json http://x:8089/dvr/programs for those recorded already

It's not surfaced in the UI that I know of.

What I explained in my post is how to 'Mark as Not Recorded'. This can also be done from the web UI for each individual program.

Here is where I think it makes the most sense to put the 'Mark as not Recorded' button, since that's where you are when you discover the recording is not what you wanted.

Thanks for the info. It looks like dvr/files is the most useful for me, as it has all the details of the recent recordings that are incorrect. I also agree with your suggestion about the placement of a 'Mark as not Recorded' option!