Manual Recording Feature

clicked on the link, went to the page, please tell this newbie what to do next,
do i need to sign in
what to i click to add this extension?

1 Like

Another thing too is that it will only work in a browser on a desktop computer.

Even though you may use Chrome on your Android phone, extensions are not supported on a mobile device. Just to clarify.

If you go to the Chrome Web Store page for it:
Channels DVR Extras - Chrome Web Store

You should see a "Get" button. In my case, it says "Remove" because I have already installed it.

2 Likes

manual recording successfully done

thank you!!!!!!!!

Thanks!

I want to give a shout out here because yesterday the Tigers/Mariners game was delayed and eventually moved off of FS1. I was able to use manual recordings on both FS2 as well as MLB (the guide data would never update quickly enough)

THANK YOU

I saw that too but just did it the quick and dirty way - recorded the supposed soccer game on FS2 in progress and extended it by 3 hours.

1 Like

cant extent that far on the app (limited to 120 minutes),

so if i am going to run to the PC, might as well use the manual, and also retitle it to my liking

No need to use a pc, phone works great for web admin. But I get your point, I could have set up a manual recording. For me it was just as easy to watch and record it from the guide then mod the padding from the web page. I was doing it while it was in progress in other words. For future manual recordings like rainout reschedules or bad guide data I use the new feature.

1 Like

I see what you did there, going to the web interface via Phone.....

However, keep in mind that when viewing the web interface on your phone, you won't have access to this manual feature. You can't install the extension on a mobile device.

manual = PC only
extend way far out = learned i can do this on my phone as well

1 Like

I also made something which you can host yourself: GitHub - giejay/channels-dvr-manager: Channels DVR Manager - Manual scheduling and more

Features:

  • Create manual recordings with custom start/end times, multiple channels, and repeat options
    
  • Search and select channels with logos and filtering
    
  • View, filter, and manage all scheduled recordings in a data table
    
  • Edit or delete individual or multiple scheduled recordings
    
  • Dark/light mode toggle with automatic detection
    
  • Proxy support for secure API access to your Channels DVR server
    
  • Docker-ready for easy deployment

I was able to create an advanced pass using the Time contains "12pm", etc. to record whatever airs in a timeslot. It works fine except for one specific corner case. If there is a program scheduled that you have already recorded, the pass skips that time slot. The only way to catch it is to mark the recorded show as not recorded, something that the advanced pass can't do. Of course you can do it manually, but that's not ideal. I'm working on a script to do this, but I'm wondering if anyone else has already combined those two features; unconditionally recording a time slot (even 24x7), and also proactively marking existing recordings in the same time slots as not recorded?

That's the problem with using a pass. The scheduler is looking at the ProgramID.

Sounds like you want to create recurring "curl based" manual recordings.
That way the scheduler doesn't care what's airing at the time of recording. (As long as you don't use both SeriesID and ProgramID in your json payload. I just use SeriesID for grouping)

In fact, I created a "curl based" manual recording to record the same thing from two different channels and they both ended up recording to the same file. How to create a Manual Time/Channel based recording job - #21 by chDVRuser

Another option (which has been brought up before and gained no traction) is to allow a pass to record "everything" that meets its criteria. TiVo had this (New/New & Repeats/Everything).

Not exactly. I think it will help to explain why I would even want to do it in the first place, because there are multiple reasons that a manual recording may be desired.

The problem is that when an important news event takes place, like the shooting at the White House Correspondent's Dinner, I want to start recording and not stop for a while. The schedule data is incorrect because all scheduled programming is preempted. In this case, I don't want the DVR logic interfering with the directive to record everything. This has been happening enough lately that I have been recording my favorite news channel 24x7, but it has holes because of the rerecord logic embedded in passes.

So, one solution would be to add support for a time-based pass with a "dammit" checkbox (don't skip the time slot because the apparently scheduled program was already recorded).

The ultimate solution would be for Gracenote to notify that something's up (programming data is invalid due to breaking news or whatever), and Channels has a "when somethings up do this" capability.

I've never understood why this simple fix was not implemented. Change the 're-record deleted' pass flag to everything and implement it, problem solved as long as the guide data is correct.

But ultimately, a simple manual recording UI should have been added which allows for repeating days etc. There's an extension out there by @mjitkop that does this for us, but it really should have been in the web admin. As posted above, there are times when events are moved or preempted and you want to schedule a simple manual recording to override the guide.

I wouldn't hold my breath waiting for those last two solutions you mention.

There is a very simple way to do what you want.
The nice thing about this method is it doesn't interfere with existing scheduled recordings.

Create a Custom M3U Source with no guide data (it will use placeholders) that points to your source device channel to record. Then create your pass using that custom channel.

Example using my HDHR Prime tuner source channel 706
I export the M3U for my HDHR Prime source and edit it

#EXTINF:-1 channel-id="706" tvg-id="706" tvg-chno="706" tvg-logo="https://tmsimg.fancybits.co/assets/s32356_h3_aa.png?w=360&h=270" tvc-guide-stationid="34197" tvg-name="KVIEDT" group-title="Favorites",PBS
http://192.168.1.4:8189/devices/1323AADB/channels/706/stream.mpg?format=ts&codec=copy

to use as a new custom M3U source. The existing one is still ch706, the new one is ch10706.

#EXTM3U
#EXTINF:-1 channel-id="10706" tvg-id="10706" tvg-chno="10706" tvg-logo="https://tmsimg.fancybits.co/assets/s32356_h3_aa.png?w=360&h=270" tvg-name="PBS-KVIEDT",PBS-KVIEDT
http://192.168.1.4:8189/devices/1323AADB/channels/706/stream.mpg?format=ts&codec=copy


If you want something other than 1 hour placeholders you can set that
https://getchannels.com/docs/channels-dvr-server/how-to/custom-channels/#automatic-placeholders

If you want to duplicate multiple channels, just add those lines to the custom M3U Text.

Great example, I was in a similar boat, twice recently, trying to manage it remotely. Last mimute recordings without reliable guide data is way more difficult than I'd expect them to be on this platform. I've often thought that I'd love to see Manual Recordings added to CDVR's web admin page, maybe an advanced tab somewhere, that we could kick off a recording right away, yes, even without any metadata, just a recording of "this channel, what's on right now, for next 5 hours," or, whatever.

That works, but it has a side effect. Consider the worst case: if I have a 24x7 rule for CNN and another one without guide data, that's 200Gb instead of 100Gb on disk. It seems like the solution for now is to add a watcher service that marks everything qualified by the rule (however it's defined) as not recorded. That way I have recordings with their proper metadata and no gaps.

You could do that, but I wouldn't recommend it because you'll be fighting the DVR scheduler.

Use your web browser dev tool network inspector to inspect the network traffic and click on a pass in the DVR web UI. Look for the POST to the API /dvr/rules/test.
The Request payload is the rule (pass) json.
The Response json is what fills up the Matches tab on the pass.
Gather all the ProgramID values from the response.
Look each one up in the /programs API (GET /programs/ProgramID)
The result for each will tell you if it's marked as imported, recording, recorded, skipped, queued or null if the ProgramID doesn't exist in /programs

ProgramID's for gracenote begin with EP(episode), SH(show), MV(movie)