[mythtv-users] [US] Switching from built-in schedules direct to the XMLTV-JSON schedules direct?

Gary Buhrmaster gary.buhrmaster at gmail.com
Thu May 18 14:56:50 UTC 2017

On Thu, May 18, 2017 at 2:54 AM, Jason Zarin <jason at zarin.org> wrote:

> Should I switch to the XMLTV grabber to use the JSON feed? Are there any
> advantages to the JSON feed other than having 20 days vs. 14 days of data?

FD 0: I am biased
FD 1: I run using (one of) the XMLTV JSON grabbers
          and I prefer it.
FD 2: I am very biased

First, there are two independent XMLTV JSON grabbers
that are slightly differently.  One can certainly find good
reasons to choose one over the other, but in any case
you will have to choose one.  I am biased, and use the
tv_grab_zz_sdjson_sqlite variant.

The advantage for some is that the XMLTV JSON grabbers
are the only ones available for them (so the choice to use
one of those grabbers is clear).

The advantage for some is that (almost) three weeks of
data, but for some channels the quality of the data is
significantly worse the further out one goes.  It is not
uncommon that in the 3rd week out (sometimes the 2nd
week) that the episode data is the generic series data.
That is a reflection of the upstreams upstreams upstreams
EPG data source.

The advantage for some is that the caching can significantly
reduce the download time(s) of the data.

The advantage for some is that the data can be of higher
quality in some cases (but there are exceptions).

A disadvantage is that the xmltv load in mythfilldatabase is
not memory efficient, which can result in the need for the
system to either have much more memory, or performance
will turn to crap (swapping) for those with large channel
lineups (typical with cable systems).  There is a mitigation
for that, but it requires the latest MythTV fixes, and it requires
one to configure filling with the appropriate arguments.

The latest upstream upstream (not yet released) versions
of at least one of the JSON grabbers also requires the
latest MythTV fixes for proper season number calculation.

The latest upstream upstream (not yet released) version
of at least one of the XMLTV JSON grabbers has improved
data accuracy by merging series with episode information.

There was at least one feature that has not been cherrypicked
into 0.28 (any) from v29, which involves genres.

MythTV allows one to create quite complex recording rules.
Because the data may be slightly different, those rules may
need to be altered.  In particular, "this channel" or "this series"
are especially problematic ("this channel" uses the internal
chanid, which will be changing, and "this series" is influenced
by a seriesid that may be different from the datadirect and
the XMLTV JSON calculations (or they may be the same)).

> What is the best process to switch grabbers without breaking things?

Start by first configuring the grabber independently of MythTV.
This can insure that you have the needed functionality, and
can verify you can are getting good (or at least some) data.
One needs to use the grabbers to configure the JSON
lineup information that it can obtain from Schedules Direct
(the existing "lineup" management is not relevant).
Once that works, I would generally recommend creating an
entirely new lineup (video source) and do not try to change an
existing video source.  While there are cases where that can
work, it can also fail badly.  There are a couple of annoying
setup artifacts when creating a new video source with a new
grabber, but they are no different for any other new source or
grabber.  Depending on whether you are using OTA or OCUR,
you may have different opportunities for matching the channel
and the xmltvid (some attempt at matching is done, it may or
may not work well).

There are also a couple of independent tools that I personally
use to use the XMLTV JSON data (specifically the --get-lineup
capability) and the MythTV services API to manage various
channel alignments, but I believe they are not really needed
with the latest MythTV fixes.  They have been mentioned
previously on the -users list, and one of these days I will try to
manage to get them properly into the wiki.

> Or should I just leave everything well enough alone and not tempt fate?

If you are on 0.28.1, likely.  If it ain't broke, don't fix it.

While I have zero decider input, I believe by v29 release the
functionality with XMLTV JSON grabber will be close enough
to the internal datadirect grabber that it would be conceivable
to entertain the possibility of removing the datadirect grabber
in some far further out future version if the code, or some
related code, becomes problematic to maintain.

More information about the mythtv-users mailing list