EPG Guide Issue - Airings with the same name

dd_progid is also correct, I suspect that Plex does not use this.
I use FreeBSD and OSX, for me you do not need to change epg123. I also switched to Emby, it works much better for me and until Plex fixes the known bugs, it takes me far too long.

Digressing slightly, I’ve also noticed that on live tv grid in android, the cursor (orange highlight) goes missing and gets lost. Another bug for plex to fix I guess!?

The bug is already known to me, I have since given up on Plex to report the bugs, look at date on the post to the crash of the Plex app. To date no answer from Plex :confused:

1 Like

Thanks for letting me know about this one @johnm_ColaSC, sorry it took me so long to get in to look at it. After digging at the code a bit, I can say that we’re not handling the dd_progid field correctly, so if the original-air-date field is missing we end up not processing the subtitle as we should. I’ll get that fixed up.

1 Like

Thanks @timwoj - how long do these things normally take?

Thanks to @johnm_ColaSC @marmei @garyan2 also

@timwoj will this also stop plex from seeing sports events as movies?

Yes, it should.

I honestly can’t give an ETA. The fix isn’t too terribly difficult code-wise (it’s mostly done already), but it’s going to depend on what the release cycle looks like coming up. I might be able to spin up a build for you to test with.

This is with entirely fake XMLTV data:

And an airing that looks like this:

  <programme channel="0" start="20181129224800" stop="20181129225300">
    <title lang="en">NFL Football</title>
    <desc lang="en">NFL Football: Game 2</desc>
    <sub-title lang="en">NFL Football: Game 2</sub-title>
    <country lang="en">United States</country>
    <episode-num system="dd_progid">EP12345678.0002</episode-num>
    <premiere/>
    <icon height="680" src="http://images.icetv.com.au/placeholder/22423_poster.png" width="1000"/>
    <video>
      <present>yes</present>
      <colour>yes</colour>
      <aspect>4:3</aspect>
      <quality>SDTV</quality>
    </video>
    <category>Sports</category>
  </programme>

Does that match what you’re expecting? For the “season” we’ll either key off the year in the original-air-date if it exists or the server’s current year, since that information isn’t directly available from the dd_progid field.

That looks like it does the trick. Am I interpreting correctly?

Season - Episode - Sub-title

Air date - desc

Also possibly worth a review from @marmei with his knowledge and seeing it working correctly in Emby

You can either spin something up for me, or I can share an xml with you to test :+1:t3:

Based off this information, it sounds like I could maybe stop populating an original-air-date field for epg123. It strictly uses Schedules Direct (Gracenote) so I am guaranteed to have a dd_progid present. What is your order of precedence for determining “uniqueness” of a programme?

For the dd_progid, how would you handle say a local news broadcast with id of “SH12345678.0000” and is new every night? Every airing will be “new” but the ID’s will all be the same? Would they be considered different since the “new” flag is present, or will they be considered the same because the ID’s are the same?

Is the dd_progid random, or how is it generated?
Do you have a link to a documentary? I wrote my own SD to XML tool, but I did not find anything about dd_progid. I write xmltv_ns and OAD in my xml file.

What would these two programs look like then? Both games have the same title and the same OAD

<programme channel="52" start="20181201141500 +0000" stop="20181201163000 +0000">
          <title lang="de">Fußball: Bundesliga</title>
          <sub-title lang="de">(Werder Bremen - FC Bayern MĂŒnchen) From Weser Stadium.</sub-title>
          <desc lang="de">Aus dem Weser Stadion in Bremen, Deutschland.&#xA;[Werder Bremen - FC Bayern MĂŒnchen]</desc>
          <category lang="en">Soccer</category>
          <icon src="https://s3.amazonaws.com/schedulesdirect/assets/p3589962_b_v8_an.jpg"></icon>
          <language></language>
          <video>
              <present>yes</present>
              <colour>yes</colour>
              <quality>HDTV</quality>
          </video>
          <date></date>
</programme>
<programme channel="53" start="20181201141500 +0000" stop="20181201163000 +0000">
          <title lang="de">Fußball: Bundesliga</title>
          <sub-title lang="de">(Borussia Dortmund - SC Freiburg) From Signal Iduna Park.</sub-title>
          <desc lang="de">Aus dem Signal Iduna Park in Dortmund, Deutschland.&#xA;[Borussia Dortmund - SC Freiburg]</desc>
          <category lang="en">Soccer</category>
          <icon src="https://s3.amazonaws.com/schedulesdirect/assets/p3589962_b_v8_an.jpg"></icon>
          <language></language>
          <video>
              <present>yes</present>
              <colour>yes</colour>
              <quality>HDTV</quality>
          </video>
          <date></date>
          <new></new>
</programme>

Currently, Plex is showing the same game on both channels (Ch.No. 52 and 53)

The pieces of the dd_progid mean something. The prefixes are “MV” for movies, “SH” for shows, “EP” for episodes, and “SP” for sports. I have never seen dd_progid defined for the XMLTV, but it has always been used with the TMS (Gracenote) IDs with a ‘.’ separator.

Episode
“EP<series id>.<production number>” where <series id> is 8 digits and the <production number> is 4 digits.

Series/Show
“SH<series id>.0000” where <series id> is 8 digits and the production number is all zeros. Typically the SH data will be the generic series information. It could just be a placeholder until the episode specific information gets entered in the listings, or it could be something like a daily news broadcast which will not continually update the descriptions or production numbers.

Movies
“MV<movie id>.0000” where <movie id> is 8 digits. From what I have seen, the same movie can have different IDs for the different languages, rather than using the same ID and just adding the titles/descriptions/metadata for the different languages to it.

Sports
Sports is tricky in general. They can be “SP”, “SH”, or “EP” which makes things fun. You will have to rely on other data provided for the program to determine what it is.

2 Likes

Thank you very much for the detailed explanation.

@timwoj Not sure if you missed my responses above?

Plex Media Server 1.14.1.5487 has just been released as Beta. It has a change to the handling of the dd_progid field.

See Release Notice

  • DVR) Properly parse episode number from dd_progid field in XMLTV data (â€Ș#9419‬)
1 Like

@timwoj @sa2000 Is there something that can be done for programmers where there is no progid!?

Can the Desc be used to differentiate where there is no progid?

i.e. title = NBA Basketball but there is no progid - the Desc is ignored by Plex

using the desc would show that the game is ‘Phoenix Suns at New York Knicks. From Madison Square Garden’ for example. Plex currently ignores this

What exactly is it doing in the case where there isn’t a progid or any other season/episode information? Combining them all into the same show?

Yeah exactly - it sees all ‘NBA Basketball’ as the same airing - even though it should be 20 something games

The problem is that without any season/episode notation whatsoever, we just assume that it’s a movie and you get what you’re seeing now. I don’t believe there’s any field in XMLTV that says whether something is a movie or a show, is there?