Added by Jim Abernathy 6 months ago

I'm a very new tvheadend user. I have it working on a Raspberry PI 3B+ with a 2TB USB external Hardrive. It's doing fine.

I set it up to use the SchedulesDirect grabber tv_grab_zz_sdjson so I could get 20 days of EPG.

My questions is about should I stick with tv_grab_zz_sdjson or consider tv_grab_zz_sdjson_sqlite??

What do they do different?? Which is preferred to tvheadend??

Replies (5)

RE: tv_grab_zz_sdjson - Added by Mark Clarkstone 6 months ago

"If it ain't broke" spring to mind. As for the difference, going by the script name, one uses a SQLite database whereas the other is just json text files. I very much doubt it'll make any difference.

RE: tv_grab_zz_sdjson - Added by Jim Abernathy 6 months ago

not sure if I understand how tvheadend work, but I think the grabber script pulls the EPG data from SchedulesDirect using it's local cache to minimize download and processing. Then that EPG data in converted to whatever format epgdb.v2 needs to store it on disk. So tv_grab_zz_sdjson uses some sort of local cache directory of stuff and tv_grab_zz_sdjson_sqlite uses a sqlite database to store the data.

So tvheadend has to have the logic to read the cache and the sqlite database?? I know these grabbers are used for other tv backends, I'm just trying to figure out where that logic is? for example if I had server running tv_grab_zz_sdjson_sqlite could both tvheadend on one pc and mythtv on another use the same schedulesdirect.db???

Jim A

RE: tv_grab_zz_sdjson - Added by Em Smith 6 months ago

The SQLite version is reputed to be much faster since the database allows it to more easily determine which schedules need to be downloaded. (I've not tried the non-SQL version).

I have a fork of the SQLite version (tv_grab_az_sdjson_sqlite) which adds a few features such as artwork and optional better caching which makes it much faster overall if you have huge numbers of channels, but it requires a lot more effort to setup. So I'd probably stick with the supported SQLite version first and only switch once your comfortable and really want extra features.

All xmltv grabbers actually generate a file in a common format and that common file format is then read by the tvheadend/mythtv. So they don't read the SQLite database themselves. However, the xmltv file format allows optional sections, such as artwork, episode numbers, etc., and not all grabbers populate all the information.

You can share the grabber config with both tvh and mythtv but it's a bit tricky since they use different user ids (permissions). However, assuming your Internet is unlimited, then the easiest way is to just configure it under both tvheadend and mythtv with the same SD login details and different directories/databases and just let them both fetch the listings information independently in to their own separate SQLite databases.

Though, you seem to suggest your mythtv is running on a separate box, so yes, just configure it with the same SD details as your Pi box.

RE: tv_grab_zz_sdjson - Added by Jim Abernathy 6 months ago

Thanks, that helps a lot.

RE: tv_grab_zz_sdjson - Added by Jim Abernathy 6 months ago

I switched to tv_grab_zz_sdjson_sqlite. Since I'd done it for mythtv in the past it was relatively easy. Biggest issues were the dependencies and the name of the .conf file.

For others the dependencies after installing xmltv-util


Since the xmltv package doesn't have the latest tv_grab_zz_sdjson_sqlite. Get it from github (

Your .conf file either needs to be named as an argument in tvheadend grabber setup for tv_grab_zz_sdjson_sqlite, or use the default and name it tv_grab_zz_sdjson_sqlite.conf

DON'T FORGET do all the setup as user hts in /home/hts.