[Solved] Program Guide Insanity

Have a MythTV related problem? Ask for help from other MythTV users here.

Moderator: Forum Moderators

Post Reply
mythtv_grkgd1s_org
Newcomer
Posts: 4
Joined: Thu Jan 27, 2022 7:45 pm
United States of America

[Solved] Program Guide Insanity

Post by mythtv_grkgd1s_org »

Oh my. I've just installed MythTV 31, and everything is working nicely except the program guide. I initially started with EIT only (which works, but is rather underwhelming).

I signed up for Schedules Direct, and after much fooling around (including a full reinstall of frontend and backend, and 1.3 zillion Internet searches), I simply cannot get it to work.

FWIW, I've got a (paid) SD account, and it has been setup with a proper lineup.

tv_grab_zz_sdjson is setup and configured. Run manually it produces about 35MB output. Eyeballing the XML looks great.

Running mythfilldatabase, it runs completion. Other than warning about "Unknown xmltv channel identifier:" for a few channels (I'm getting USA-OTA-20171, which includes a number of channels I don't get... I get 7 warnings vs. 39 good channels) Watching /tmp, it's about 34MB of data.

Checking in the DB, it loads approximately 26,000 entries into the "program" table. (Definitely contains programs for the problem channels.)

What I have so far indicates that up to and including database insertion is working. But - the programs are not appearing on any of the front end clients. There is some data in the program guide (apparently from EIT), but multiple channels are 100% "Unknown (Unknown)".

If I re-enable EIT scanning, I get some data in program guide - variable by channel.

One more weirdness: While watching live TV, if I hit up/down arrow, I see the program title, description and channel logo, even on channels where the Program Guide (from main menu or menu inside watching live) simply shows "Unknown (Unknown)"

What could be the cause of SD download and mythfilldatabase working, but not having the data appear in the program guide on the frontend?

+++ Just noticed that when I go into Manage Recordings / Upcoming Recordings, it shows correctly shows times, titles, channels, etc., for recordings (All Showings) on the channels that show blank in the program guide... And they have to be from SD, as they continue out for weeks. (EIT only gives a day or two...)
Last edited by mythtv_grkgd1s_org on Fri Jan 28, 2022 4:55 pm, edited 2 times in total.
User avatar
bill6502
Developer
Posts: 2307
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: Program Guide Insanity

Post by bill6502 »

Sorry to hear of the massive searches. In the future, checkout release notes, e.g. https://www.mythtv.org/wiki/Release_Not ... or_Changes
and has a link to: https://www.mythtv.org/wiki/XMLTV#Sched ... rect_Setup

See if the additions for XMLTV look similar to this: viewtopic.php?f=36&t=3480&start=15#p19508
But note that that's for the SQLite version.

The backend expects to find files as above. If running mythfilldatabase as yourself, then run it as user mythtv and
it will access the same files.
mythtv_grkgd1s_org
Newcomer
Posts: 4
Joined: Thu Jan 27, 2022 7:45 pm
United States of America

Re: Program Guide Insanity

Post by mythtv_grkgd1s_org »

Thanks for the reply, but I've been through those pages (and many more), multiple times, and nothing seems to be working.

As I mentioned, I can see the programs in the MySQL database. For example, program guide shows nothing for channel 5_3, but:

Code: Select all

mysql> select channum,starttime,title,listingsource 
from program natural join channel 
where channum = '5_3' 
and starttime between NOW() and NOW() + interval 2 hour 
order by 2;

+---------+---------------------+--------------------+---------------+
| channum | starttime           | title              | listingsource |
+---------+---------------------+--------------------+---------------+
| 5_3     | 2022-01-28 11:30:00 | My Three Sons      |             4 |
| 5_3     | 2022-01-28 11:30:00 | My Three Sons      |             1 |
| 5_3     | 2022-01-28 12:00:00 | Toon In With Me    |             4 |
| 5_3     | 2022-01-28 12:00:00 | Toon In with Me    |             1 |
| 5_3     | 2022-01-28 13:00:00 | Leave It to Beaver |             4 |
| 5_3     | 2022-01-28 13:00:00 | Leave It to Beaver |             1 |
+---------+---------------------+--------------------+---------------+
Data is there. (I believe "listingsource" 1 is SD, and 4 is OTA EIT.) And yet all the frontends (all PCs running Linux) show only "Unknown (Unknown)" in the Program Guide for 5_3.

Overall, some channels are showing OTA EIT data, some show nothing except Unknown, and as best I can tell none of the channels display data from SD.

So, it's something about how the frontend is/isn't pulling the data from MySQL on the backend.

I've poked around the database looking for differences between partially-working (i.e. 5_1 displays EIT sourced data, but not SD data), and completely non-working channels (5_3 displays no program data), and can't find anything to explain the difference.

BTW, I should have put this in the initial message;

Code: Select all

All systems are running Ubuntu 20.04.x
MythTV and all other SW obtained using apt using standard Ubuntu sources.

mythfrontend --version
Please attach all output as a file in bug reports.
MythTV Version : v31.0-v31.0
MythTV Branch : fixes/31
Network Protocol : 91
Library API : 31.20200101-1
QT Version : 5.12.5
Options compiled in:
 linux profile use_hidesyms using_alsa using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_dvb using_firewire using_frontend using_hdhomerun using_vbox using_ceton using_hdpvr using_ivtv using_joystick_menu using_libcec using_libcrypto using_libdns_sd using_libfftw3 using_libxml2 using_lirc using_mheg using_opengl using_egl using_qtwebkit using_qtscript using_qtdbus using_taglib using_v4l2 using_x11 using_libbluray_external using_xrandr using_profiletype using_systemd_notify using_systemd_journal using_bindings_perl using_bindings_python using_bindings_php using_freetype2 using_mythtranscode using_opengl using_egl using_vaapi using_nvdec using_vdpau using_ffmpeg_threads using_mheg using_libass using_libxml2 using_libmp3lame

mythbackend --version
MythTV Version : v31.0-v31.0
MythTV Branch : fixes/31
Network Protocol : 91
Library API : 31.20200101-1
QT Version : 5.12.5
Options compiled in:
 linux profile use_hidesyms using_alsa using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_dvb using_firewire using_frontend using_hdhomerun using_vbox using_ceton using_hdpvr using_ivtv using_joystick_menu using_libcec using_libcrypto using_libdns_sd using_libfftw3 using_libxml2 using_lirc using_mheg using_opengl using_egl using_qtwebkit using_qtscript using_qtdbus using_taglib using_v4l2 using_x11 using_libbluray_external using_xrandr using_profiletype using_systemd_notify using_systemd_journal using_bindings_perl using_bindings_python using_bindings_php using_freetype2 using_mythtranscode using_opengl using_egl using_vaapi using_nvdec using_vdpau using_ffmpeg_threads using_mheg using_libass using_libxml2 using_libmp3lame
User avatar
bill6502
Developer
Posts: 2307
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: Program Guide Insanity

Post by bill6502 »

I'd turn off EIT while trying to test XMLTV. Otherwise, EIT stomps on the program data.

Maybe this:

Code: Select all

SELECT chanid,channum,callsign,sourceid,xmltvid FROM channel WHERE channum LIKE '5\__';
+--------+---------+----------+----------+---------------------------------+
| chanid | channum | callsign | sourceid | xmltvid                         |
+--------+---------+----------+----------+---------------------------------+
|   1051 | 5_1     | NBC5     |        1 | I20452.json.schedulesdirect.org |
|   2605 | 5_1     | NBC5     |        2 | I20452.json.schedulesdirect.org |
|   1052 | 5_2     | COZI-TV  |        1 | 45805 # This would fail         |
+--------+---------+----------+----------+---------------------------------+
And, just to prove the sourceid and name of the source: mysql> SELECT sourceid,name FROM videosource;

Or to see if it's selected in the SQLite DB: sqlite3 -column SchedulesDirect.DB "SELECT channum,selected FROM channels WHERE channum LIKE '5.%'"
mythtv_grkgd1s_org
Newcomer
Posts: 4
Joined: Thu Jan 27, 2022 7:45 pm
United States of America

Re: Program Guide Insanity

Post by mythtv_grkgd1s_org »

For videosource table query I get:

Code: Select all

mysql> SELECT sourceid,name FROM videosource;
+----------+----------+
| sourceid | name     |
+----------+----------+
|        1 | Pinnacle |
|        2 | HDHR1    |
|        3 | HDHR2    |
+----------+----------+
1 is a Pinnacle USB stick (single) tuner
2 & 3 are from a HDHomeRun network (dual) tuner.

For channel table query I get:

Code: Select all

mysql> SELECT chanid,channum,callsign,sourceid,xmltvid FROM channel WHERE channum LIKE '5\__';
+--------+---------+----------+----------+----------------------------------+
| chanid | channum | callsign | sourceid | xmltvid                          |
+--------+---------+----------+----------+----------------------------------+
|  10501 | 5_1     | WTTG-DT  |        1 | I20367.json.schedulesdirect.org  |
|  20501 | 5_1     | WTTG-DT  |        2 |                                  |
|  30501 | 5_1     | WTTG-DT  |        3 |                                  |
|  10502 | 5_2     | BUZZR    |        1 | I94963.json.schedulesdirect.org  |
|  20502 | 5_2     | BUZZR    |        2 |                                  |
|  30502 | 5_2     | BUZZR    |        3 |                                  |
|  10503 | 5_3     | ME TV    |        1 | I102968.json.schedulesdirect.org |
|  20503 | 5_3     | ME TV    |        2 |                                  |
|  30503 | 5_3     | ME TV    |        3 |                                  |
+--------+---------+----------+----------+----------------------------------+

(3 tuners, three channel table entries per channel since they all use the same antenna.)
So using mythtv-setup to remove the EIT scanning, I also removed all program entries for 5_2 before restarting the backend and rerunning mythfilldatabase. As expected, mythfilldatase ran to completion, and added 818 programs for channel 5_2. Still nothing on the program guide for the channel...

BTW: I'm using (or at least attempting to use) tv_grab_zz_sdjson (not the sqlite3 version).
User avatar
heyted
Senior
Posts: 301
Joined: Sun Jun 08, 2014 2:14 am
Location: South Florida
Contact:
United States of America

Re: Program Guide Insanity

Post by heyted »

Which MythTV fixes version?

Code: Select all

apt show mythtv-backend
Ted | My blog
User avatar
bill6502
Developer
Posts: 2307
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: Program Guide Insanity

Post by bill6502 »

My channels that exist on two sources both have the RFC2838 format, e.g.
"I12345.json.schedulesdirect.org. See the SQL three posts up. You could
change just one to see if that helps.

I'll also guess that the two HDHR sources get different inputs (antennas/cable feeds...).
Otherwise, there's no need for two sources there.
User avatar
kmdewaal
Developer
Posts: 644
Joined: Wed Dec 07, 2016 8:01 pm
Netherlands

Re: Program Guide Insanity

Post by kmdewaal »

It looks like you have three tuners (one Pinnacle and two HDHR) and that each tuner has its own video source. The guide data is only found in the channels for video source 1 (named Pinnacle) because only the channels from that video source do have an xmltvid.
If all tuners can receive exactly the same channels, for instance if you have one antenna installation and that signal is going to all three tuners, then you need only one video source and all three tuners can be connected to the same video source. All three tuners then share the same channel list (note that a video source is essentially a list of channels).
If there are differences in the signals for the tuners, e.g. one tuner connected to cable and two tuners connected to antenna, then you need two video sources. But then the SD configuration must be so that you also send guide data to the second video source.
One more weirdness: While watching live TV, if I hit up/down arrow, I see the program title, description and channel logo, even on channels where the Program Guide (from main menu or menu inside watching live) simply shows "Unknown (Unknown)"
With live TV , the guide information shown if you hit the up/down arrows, is from the video source that is connected to the tuner that you are using for live TV. In your case, if you use the tuner that is connected to the first video source then there is guide information.

The program guide has one line of information for each unique channel number. In your case there are three channels called 5_2 of which only one has guide information. With duplicate channels it is undefined from which channel the guide information is shown.

There is a Wiki page about channel scanning; in this section https://www.mythtv.org/wiki/Channel_Sca ... l_Scanning the relations between capture cards, video sources and input connections are explained.
mythtv_grkgd1s_org
Newcomer
Posts: 4
Joined: Thu Jan 27, 2022 7:45 pm
United States of America

[Solved] Program Guide Insanity

Post by mythtv_grkgd1s_org »

Yay!!!

It was the three video sources that caused all the issues. (Yes, all three are attached to the same antenna.)

I removed all three video sources, then added a new one with a new name. Attached all three tuners to that video source, and voila! everything is now working with the program guides. :D

Thanks for all the help guys! It is very much appreciated!
Post Reply