Jump to content
beeswax

Start/Stop by EPG Running Status

Recommended Posts

beeswax

I might have misunderstood how this feature is supposed to work but I have it enabled for a particular series and found that even though the broadcaster provides PDC data, and it shows in the recording log, the end time was not updated for a programme that was running late.

 

Firstly, is this feature meant to extend the running time for late programmes (assuming the data is there to allow it?) or does it work differently?

 

Here's a log file from a recording of a programme (Louis Theroux) which was running late.  The "Start/Stop by EPG Running Status" option is enabled on the Series timer:

 

20:53:01 / 00:00:00 (~ 0.00 MB) Start Recording
20:53:02 / 00:00:00 (~ 0.00 MB) Top Gear running | EventID: 4226 PDC: 0x00000
20:53:02 / 00:00:00 (~ 0.00 MB) Louis Theroux: Surviving... not running | EventID: 4227 PDC: 0x00000
20:53:02 / 00:00:00 (~ 0.00 MB) EventID change 1324263424 to 4227
20:53:03 / 00:00:01 (~ 0.48 MB) PID 5500: H.264 Video, 16:9, 1920x1080, 25 fps
20:53:03 / 00:00:01 (~ 0.48 MB) PID 5501: AC3 Audio Stereo, 48 khz, 192 kbps
20:53:03 / 00:00:01 (~ 0.48 MB) PID 5502: MPEG Audio Stereo, 48 khz, 256 kbps
20:53:03 / 00:00:01 (~ 0.48 MB) PID 5503: Videotext
20:53:03 / 00:00:01 (~ 0.48 MB) PID 5504: DVB Subtitles
21:07:08 / 00:14:06 (~ 509.77 MB) Top Gear running | EventID: 4226 PDC: 0x00000
21:07:08 / 00:14:07 (~ 509.77 MB) Louis Theroux: Surviving... not running | EventID: 4227 PDC: 0x00000
21:21:05 / 00:28:03 (~ 1093.48 MB) Louis Theroux: Surviving... running | EventID: 4227 PDC: 0x00000
21:21:05 / 00:28:03 (~ 1093.48 MB) All Girls Live at the Apollo not running | EventID: 4228 PDC: 0x00000
21:26:17 / 00:33:15 (~ 1321.80 MB) Louis Theroux: Surviving... running | EventID: 4227 PDC: 0x00000
21:26:17 / 00:33:15 (~ 1321.80 MB) All Girls Live at the Apollo not running | EventID: 4228 PDC: 0x00000
22:12:01 / 01:18:59 (~ 3087.18 MB) Stop

The EPG data is saying the next programme hasn't started yet but it still stops the recording anyway.  If I haven't understood this feature properly, is there a way to use the PDC data to extend timers for programmes running late?

 

Thanks for any assistance.

 

Share this post


Link to post
Griga

PDC = 0 isn't a valid PDC. It means there is no PDC in the EPG data.

 

Google tells me that you've tried to record BBC programmes, so I guess you are receiving Freesat or Freeview (you shouldn't keep such important facts secret and post incomplete logs!). Freesat does not provide PDC, as I can see here in the TransEdit Analyzer.

 

You can try the following:

  1. Stop the DMS
  2. Launch DMSTweaker.bat from the DVBViewer installation directory.
  3. Search for the  "EPG Event ID usage on timer handling" input line, select it, read the description at the bottom and replace 0 by 2
  4. Save and restart the DMS.

However, using Event IDs for programme recognition and adjusting timers / accurate recording control is a bit risky. Many broadcasters don't handle it in a reliable way. They assign a different Event ID to the same programme on EPG updates (which defies the purpose of the Event ID) or even worse, assign the Event ID to a different programme. If I remember it correctly, people already reported that the Event ID can be used for BBC (or Freesat?) recording, but please don't blame me if it doesn't work out in your case... I would test it before recording really important stuff with this setting.

 

  • Thanks 1

Share this post


Link to post
beeswax

Thanks Griga, and apologies for not including all the pertinent information 😳

 

I see what you mean, I'd seen the Event IDs and strings stating things have or haven't started and assumed that to be PDC data, I realise now that it isn't.  I'm curious though, the strings in recording log files like these:

 

21:07:08 / 00:14:07 (~ 509.77 MB) Louis Theroux: Surviving... not running | EventID: 4227 PDC: 0x00000
21:21:05 / 00:28:03 (~ 1093.48 MB) Louis Theroux: Surviving... running | EventID: 4227 PDC: 0x00000

...show that DMS can differentiate between a programme 'running' or 'not running' yet the EventID and PDC 0x00000 are the same so how does it tell the difference?  Is there some other data being used that isn't in the log?

 

Regardless, I will give what you mentioned a try, and I definitely won't be whinging if it goes wrong!  BBC are really bad for sticking to schedules so anything I can do to mitigate this would be great.  It only really needs to work for BBC stuff.  I assume when I enable this hidden option, it only gets used when the box for "Start/Stop by EPG Running Status" is ticked?

Share this post


Link to post
Griga

The Present/Following EPG data contains running status information that can be used to start/stop a recording.

 

3 hours ago, beeswax said:

21:07:08 / 00:14:06 (~ 509.77 MB) Top Gear running | EventID: 4226 PDC: 0x00000 
21:07:08 / 00:14:07 (~ 509.77 MB) Louis Theroux: Surviving... not running | EventID: 4227 PDC: 0x00000 
21:21:05 / 00:28:03 (~ 1093.48 MB) Louis Theroux: Surviving... running | EventID: 4227 PDC: 0x00000 
21:21:05 / 00:28:03 (~ 1093.48 MB) All Girls Live at the Apollo not running | EventID: 4228 PDC: 0x00000

 

 

At 21:07 a change in the Present/Following EPG found its way into the log, announcing that Top Gear starts to run and Louis Theroux is not running (yet), but will be the next programme. At 21:21 Louis Theroux started to run. All Girls Live at the Apollo was announced as next programme. This message was repeated 5 minutes later.

 

Start/Stop by EPG Running Status means, that the recording of Louis Theroux (recognized by the Event ID 4227 stored in the timer) would have been started at 21:21:05 and would have been stopped by the "All Girls Live at the Apollo running" message. That's how it works.

 

An Event ID is supposed to uniquely identify a programme within a service (= channel) definition, which means, it shouldn't change during the lifetime of the programme in the EPG, thus allowing to recognize it even if the start time, duration and title change and ensuring a stable timer <-> programme assignment, provided (!) the broadcaster handles it correctly throughout.

 

Please note the importance of the lead time for running status-controlled recordings. The lead time specifies when the DMS starts to listen to incoming Present/Following EPG data. That means, it will tune the channel, but (in contrast to "normal" clock-controlled recordings) not start recording yet and wait for the appropriate running status.

 

1 hour ago, beeswax said:

I assume when I enable this hidden option, it only gets used when the box for "Start/Stop by EPG Running Status" is ticked?

 

It takes effect if "Start/End time update by EPG" or "Start/Stop by EPG Running Status" is selected. Both options require a programme recognition mechanism.

 

Share this post


Link to post
Griga

P.S.

 

As test I've just recorded a CBeebies show with the "Start/Stop by EPG Running Status" and " "EPG Event ID usage on timer handling" options. That's how the log of such a recording looks like:
 

Spoiler

 


CBeebies HD (AC3,eng) 15.07.2019
D:\Dateien von Griga\Eigene Videos\DVBViewer Pro\Show Me Show Me (CBeebies HD (AC3,eng)) 2019 07-15 12-35-01.ts
Device: Professional DVB Digital TV DVB-S2 (2)
EventID: 13902
Timer Name: Show Me Show Me - 12/26. Children's show. There's lots of dancing to
Timer Start: 15.07.2019 12:35:00
Timer Duration: 00:35:00 (35 min. incl. 5 min. lead time, 10 min. follow-up time)
Timer Options: Teletext=0, DVB Subtitles=0, All Audio Tracks=1, Adjust PAT/PMT=1, EIT EPG Data=0, Transponder Dump=0
Timer Source: Web
Monitoring Mode: Start/stop by running status

12:35:01 / 00:00:00 (~ 0,00 MB) Start EPG Monitoring
12:35:02 / 00:00:00 (~ 0,00 MB) My Pet and Me running | EventID: 13900 PDC: 0x00000
12:35:02 / 00:00:00 (~ 0,00 MB) Show Me Show Me not running | EventID: 13902 PDC: 0x00000
12:40:22 / 00:05:20 (~ 0,00 MB) Show Me Show Me running | EventID: 13902 PDC: 0x00000

12:40:22 / 00:00:00 (~ 0,00 MB) Start Recording
12:40:22 / 00:00:00 (~ 0,00 MB) My World Kitchen not running | EventID: 13903 PDC: 0x00000
12:40:23 / 00:00:00 (~ 0,09 MB) PID 5301: AC3 Audio Stereo, 48 khz, 192 kbps
12:40:23 / 00:00:00 (~ 0,09 MB) PID 5302: MPEG Audio Stereo, 48 khz, 256 kbps
12:40:24 / 00:00:01 (~ 0,74 MB) PID 5300: H.264 Video, 16:9, 1920x1080, 25 fps
13:03:10 / 00:22:48 (~ 1155,60 MB) My World Kitchen running | EventID: 13903 PDC: 0x00000
13:03:11 / 00:22:48 (~ 1155,60 MB) Teacup Travels not running | EventID: 13904 PDC: 0x00000
13:03:11 / 00:22:48 (~ 1156,51 MB) Stop

Average Data Rate: 0,845 MB/s
Total Size: 1156,5 MB (1212687984 Bytes)
Removed Filler Data: 13,8 MB (1,3%)

 

 

 

 

The result is ok, though I wouldn't call it "accurate recording". It started 7 seconds too early and stopped 20 seconds too late. However, that's better than the other way round :)

 

  • Thanks 1

Share this post


Link to post
beeswax

Thank you again, Griga, that's some very useful information.  I've tested it and got similar behaviour as you - about 20s lead time and about 45s lead out, which is perfect.  I was worried when I noticed the recording didn't actually start at the set time, thinking maybe the BBC don't sent the "running" status in time and a small amount of the opening would be missed, but it worked nicely.

 

One last question just so I understand and can maybe preempt any problems - once DMS hits the timer's hard start time and it begins 'listening' for the EPG to indicate a 'running' status, does it simply start recording at the next 'running' state or is it aware of the actual programme and only starts if it's the right one? 

 

For example, if my series timer has a constant lead time of 10 minutes set for a programme that starts at 21:00 but there is a very short programme on between 20:55 and 21:00 e.g. a weather forecast, will DMS end up recording just the weather forecast or will it know this is the wrong programme, ignore the first 'running' event and then start recording around 21:00 as desired?

Share this post


Link to post
Griga
22 minutes ago, beeswax said:

will it know this is the wrong programme, ignore the first 'running' event and then start recording around 21:00 as desired?

 

Yes, because the Event ID of the desired programme is stored in the timer data. The DMS does not wait for some programme to start, but for the one with the right Event ID.

 

That's why it is so important that the broadcaster doesn't mess around with the Event ID, but keeps it unchanged as long as the associated programme is part of the EPG.

 

  • Thanks 1

Share this post


Link to post
beeswax

That's great, it seems this hidden feature will solve all my BBC woes!

 

Hopefully, I'm already avoiding the 'EventID getting changed' scenario to some degree because for reasons I won't get into, I already have a script in place which downloads new EPG data twice per day and at the same time, deletes all inactive search-based Timers and recreates them, which should mean EventIDs are always very recently refreshed.

 

Thank you for you time, Griga.  Much appreciated.

Share this post


Link to post
HaraldL

A risk is when a station sends i.e. "not running" at begin of a commercial or other break and then again "running" at the end of the break. Then the recording stops at the break and does not start again after. Because at the "not running" the timer is assumed to be completed and no longer active. We had this in Germany recently when EU election campain spots were inserted in the program with weird EPG "running"/"not running" information.

 

So the feature can be great if the stations send data correctly but unfortunately this is not always the case.

Share this post


Link to post
beeswax

I've hit my first niggle using this method, I wonder if anyone knows of there's a workaround.  For some reason, sometimes the BBC are sending extra "is runing" events well after the show has started.  They aren't signalling the end when this happens, just throwing in extra, unnecessary "running events.  The result of this is another recording starts of the same show and when this happens, it usually happens several times resulting in DVBViewer trying to record 4 instances of the same show at once.  In turn, this causes disk I/O issues which result in errors in the recording.

 

Here's an example recording log:

 

BBC Two HD 20/07/2019
D:\Recorded TV\BBC Documentaries\Wonders of the Moon - Using the latest and most detailed imagery, this d_BBC Two HD_2019-07-20_13-23-01.ts
Device: TBS 6982 DVBS/S2 Tuner A (8)
EventID: 1324641216
Timer Name: Wonders of the Moon - Using the latest and most detailed imagery, this d
Timer Start: 20/07/2019 13:23:00
Timer Duration: 01:19:00 (79 min. incl. 7 min. lead time, 12 min. follow-up time)
Timer Options: Teletext=1, DVB Subtitles=1, All Audio Tracks=1, Adjust PAT/PMT=1, EIT EPG Data=1, Transponder Dump=0
Timer Source: Search:Documentaries (BBC)
Monitoring Mode: Start/stop by running status

13:23:01 / 00:00:00 (~ 0.00 MB) Start EPG Monitoring
13:23:01 / 00:00:00 (~ 0.00 MB) My Life on a Plate running | EventID: 4247 PDC: 0x00000
13:23:01 / 00:00:00 (~ 0.00 MB) Wonders of the Moon not running | EventID: 4248 PDC: 0x00000
13:23:01 / 00:00:00 (~ 0.00 MB) EventID change 1324641216 to 4248
13:30:36 / 00:07:35 (~ 0.00 MB) Wonders of the Moon running | EventID: 4248 PDC: 0x00000

13:30:36 / 00:00:00 (~ 0.00 MB) Start Recording
13:30:36 / 00:00:00 (~ 0.00 MB) Netball World Cup 2019 not running | EventID: 4249 PDC: 0x00000
13:30:37 / 00:00:01 (~ 1.52 MB) PID 5500: H.264 Video, 16:9, 1920x1080, 25 fps
13:30:37 / 00:00:01 (~ 1.52 MB) PID 5501: AC3 Audio Stereo, 48 khz, 192 kbps
13:30:37 / 00:00:01 (~ 1.52 MB) PID 5502: MPEG Audio Stereo, 48 khz, 256 kbps
13:30:37 / 00:00:01 (~ 1.52 MB) PID 5503: Videotext
13:30:40 / 00:00:03 (~ 7.10 MB) PID 5504: DVB Subtitles
14:02:33 / 00:31:56 (~ 1297.79 MB) Wonders of the Moon running | EventID: 4248 PDC: 0x00000
14:02:33 / 00:31:56 (~ 1297.79 MB) Netball World Cup 2019 not running | EventID: 4249 PDC: 0x00000
14:02:42 / 00:32:05 (~ 1301.28 MB) Wonders of the Moon running | EventID: 4248 PDC: 0x00000
14:02:42 / 00:32:05 (~ 1301.28 MB) Netball World Cup 2019 not running | EventID: 4249 PDC: 0x00000
14:02:53 / 00:32:16 (~ 1304.11 MB) Wonders of the Moon running | EventID: 4248 PDC: 0x00000
14:02:53 / 00:32:16 (~ 1304.11 MB) Netball World Cup 2019 not running | EventID: 4249 PDC: 0x00000
14:04:14 / 00:33:37 (~ 1338.44 MB) Errors: 166
14:04:16 / 00:33:39 (~ 1339.06 MB) Errors: 230
14:04:17 / 00:33:40 (~ 1339.19 MB) Errors: 139
14:04:19 / 00:33:42 (~ 1339.19 MB) Errors: 3
14:04:20 / 00:33:43 (~ 1339.19 MB) Errors: 2
14:04:22 / 00:33:45 (~ 1339.50 MB) Errors: 201
14:04:24 / 00:33:47 (~ 1340.43 MB) Errors: 50
14:10:02 / 00:39:26 (~ 1470.86 MB) Wonders of the Moon running | EventID: 4248 PDC: 0x00000
14:10:03 / 00:39:26 (~ 1470.86 MB) Netball World Cup 2019 not running | EventID: 4249 PDC: 0x00000
14:29:57 / 00:59:20 (~ 2080.11 MB) Netball World Cup 2019 running | EventID: 4249 PDC: 0x00000
14:29:57 / 00:59:20 (~ 2080.11 MB) The Super Squirrels not running | EventID: 4250 PDC: 0x00000
14:30:04 / 00:59:27 (~ 2083.69 MB) Stop

Average Data Rate: 0.584 MB/s
Total Size: 2083.7 MB (2184903288 Bytes)
Removed Filler Data: 34.7 MB (1.9%)

 

With each extra "running" event (they start at 14:02:33 and there are 3 of them), an additional .ts file is created and written to in my Recorded TV folder.  The very first .ts file would be absolutely fine, if it weren't for the disk I/O problems caused by the phantom recordings.  Is there any way to get DVBViewer to ignore any additional "running events" if the timer has already started and is still recording?  I can't think of any use case where a user would want this behaviour.

 

Thanks all.

Share this post


Link to post
Griga
11 hours ago, beeswax said:

They aren't signalling the end when this happens, just throwing in extra, unnecessary "running events.  The result of this is another recording starts of the same show and when this happens, it usually happens several times resulting in DVBViewer trying to record 4 instances of the same show at once.

 

That's not possible, as far as I can see. For x simultaneous recordings x timers are required. So I'd say, check your automatically created timers more carefully. Maybe you had several for the same programme at the same time on different BBC channels, let's say BBC Two HD, BBC Two Wal HD, BBC Two SD...

 

There is another thing that puzzles me:

 

11 hours ago, beeswax said:

EventID: 1324641216

 

How could this happen? It's no valid Event ID, but just a mess. It's completely out of range and looks like a random number. Fortunately, by looking at the start and end time, the DMS could guess what you wanted and corrected it:

 

11 hours ago, beeswax said:

13:23:01 / 00:00:00 (~ 0.00 MB) EventID change 1324641216 to 4248

 

Otherwise your recording wouldn't have started!

 

In case of such trouble please zip the svcdebug.log (see configuration folder) and attach it here. It sheds more light on what actually happened.

 

Share this post


Link to post
beeswax

Yeah, that EventID change with the big long number happens on every single recording so not sure what's going on there.  It doesn't seem to cause any problems though.

 

These are definitely being spawned from a single time.  Each recording log shows they originate from the same Search-based timer and in the Timers view, there are no duplicates.  Each new .ts file is created at the exact timestamp of the extra "running" events.

 

I've attached my support.zip.  Last occurrences were:

 

2019-07-20 13-23-01 ( 4 .ts files)

2019-07-18 02-28-00 ( 4 .ts files)

2019-07-17_02-33-00 ( 4 .ts files)

 

This only started happening once the epg monitoring option was enabled, the timers are the same as they have been for a long time.  Thanks for your help, Griga.

 

 

 

support.zip

Share this post


Link to post
Griga

Someone or something performs automatic timer creation while the recording is going on and adds the timer for the currently recorded programme (at 20.07.19 14:02:32  among 363 other timers) again and again. Since the timer is already overdue, it starts immediately. All these timers have these messy Event IDs.

 

I have no idea how and why the timer creation is triggered, but ticking "Additionally check against recording timers" in the search preset (on the "Search EPG page") should prevent timers from being added if they already exist (it's a kind of check against recordings that are supposed to exist in future).

 

Do you import EPG data from somewhere? Are there add-ons in use that could do such things via the DMS API? If not it's time to call a parapsychologist :iiam:

 

Share this post


Link to post
Griga

Well, obviously you are using imported EPG data, as other forum posts suggest. Probably Xepg. It uses its own 32-bit Event ID system, that is not compatible with the 16-bit DVB Event IDs used by broadcasters.

 

That explains the odd Event IDs in your timers. The DMS gets it right somehow by comparing start time and duration. However, this auto-correction won't work if the actual start time has been shifted so much that the point of time in the middle of the broadcasted DVB EPG item = (start time + end time) / 2 is no more inside the duration of the corresponding imported EPG item. E.g. if the start time of a 10 minutes programme gets shifted 11 minutes, it will not be recorded.

 

But the coincidence of the repeated EPG running status messages with auto timer creation remains a mystery... there is no such mechanism and no such connection in the DMS.

 

Share this post


Link to post
beeswax

OK, thank you for looking Griga.  Yes, my EPG data comes from DigiGuide.  I have XMLTV GUI pull the DigiGuide data into an xmltv file and then EPGCollector processes this, sorts out genres and does some programme description tweaks before injecting into DVBViewer.

 

I've switched the EventID feature off again now as the duplicate recordings issue is is cropping up more often than the BBC not sticking to schedules.  When it works, it's wonderful but for me at least, it's too buggy.  Hopefully it gets improved with time but maybe my weird use case is beyond fixing!  Cheers.

Share this post


Link to post
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...