From MythTV Official Wiki
Revision as of 18:51, 18 July 2016 by Pgbennett (talk | contribs) (Update info on how to find the source id)

Jump to: navigation, search

Important.png Note: The correct title of this article is mythfilldatabase. It appears incorrectly here due to technical restrictions.

mythfilldatabase fills the Myth database program table with upcoming shows.

Automatic use of mythfilldatabase

Normally mythfilldatabase is run automatically by mythbackend every 24 hours and needs no additional configuration. For most people allowing mythfilldatabase to run automatically will be sufficient, however in areas with no XMLTV grabber or an unusual channel setup it may be run manually.

Manual use of mythfilldatabase

To run an extra time out of sequence (for example, because your subscription had run out, and you just renewed it), use no command line options:


Command line options

~$ mythfilldatabase -h
mythfilldatabase version: fixes/0.27 [v0.27-159-g9bf1070]
Misc. Options:
--dd-file                       Bypass grabber, and read SD data from file
  --lineupid                      DataDirect lineup of input xml file
  --offset                        Day offset of input xml file
  --xmlfile                       XML file to import manually
--dd-grab-all                   refresh full data using DataDirect
--file                          Bypass grabbers and define sourceid and file
  --xmlfile                       XML file to import manually
--manual                        Run interactive configuration
--no-mark-repeats               do not mark repeats
--preset                        Use channel preset values instead of numbers
-h OR --help OR --usage         Display this help printout, or give detailed
                                information of selected option.
--version                       Display version information.
--sourceid                      Operate on single source

Channel List Handling Options:
--do-channel-updates            update channels using datadirect
--do-not-filter-new-channels    don't filter ATSC channels for addition
--only-update-channels          only update channel lineup
--remove-new-channels           disable new channels on datadirect web interface

Filtering Options:
--dont-refresh-tba              don't refresh "To be announced" programs
--max-days                      force number of days to update
--refresh                       Provide a day or range of days to refresh. Can
                                be used repeatedly.

Logging Options:
--enable-dblog                  Enable logging to database.
--loglevel                      Set the logging level.  All log messages at
                                lower levels will be discarded.
                                In descending order: emerg, alert, crit, err,
                                warning, notice, info, debug
                                defaults to info
--logpath                       Writes logging messages to a file in the
                                directory logpath with filenames in the format:
                                This is typically used in combination with
                                --daemon, and if used in combination with
                                --pidfile, this can be used with log rotators,
                                using the HUP call to inform MythTV to reload
                                the file
--nologserver                   Disable all logging but console.
-q OR --quiet                   Don't log to the console (-q).  Don't log
                                anywhere (-q -q)
--syslog                        Set the syslog logging facility.
                                Set to "none" to disable, defaults to none.
-v OR --verbose                 Specify log filtering. Use '-v help' for level

Guide Data Handling Options:
--only-update-guide             Only update guide data

External XMLTV

Important.png Note: The following steps are only required if you are using a grabber which does not comply to the baseline specification- i.e. It is not xmltv compliant. If possible inform the grabber author that their script does not comply with the standard so that they may fix it.

If you are using a non-compliant XMLTV grabber where mythfilldatabase will not automatically work in the normal way you will need to use the --file flag.

Obtain xml file of tv guide

Here in Belgium, I use pytvgrab to get my tv guide and output to an xml file:

$ tv_grab_be_tvb --configure  (you only need this the first time)
$ tv_grab_be_tvb -o belgium.xml

Find out the source id of your card

This is normally '1' if you have only one input card, but it is best to check it out because I have found if I have run mythtv setup more than once it can end up being something other than 1. To check, you need to look at the database:

$ mysql -u root mythconverg
mysql> select * from videosource;
| sourceid | name | xmltvgrabber  | userid | freqtable | lineupid  | password | useeit | configpath | dvb_nit_id |
|        2 | SD   | tv_grab_na_sd |        | default   | MA20453:X | NULL     |      0 | NULL       |         -1 |
1 row in set (0.00 sec)

This shows all of your sources and the id's. Remember the source id.

You may need to do multiple runs, e.g. one run with --sourceid 1, and then second run with --sourceid 2.

Important.png Note: Be very careful to use the correct sourceid. If you use the wrong one the system will go ahead and add channels and programs to an invalid source id that has not been set up. This will result in inconsistent results and failures.

If you have run with an invalid source id, you will need to go into mythtv-setup and delete all of the incorrect channels that were created.

Run mythfilldatabase with the --file flag

The --file argument allows to directly import XMLTV files. This is useful if you are using programs like nxtvepg to grab your EPG data.

Note that Schedules Direct members should not use the --file argument with mythfilldatabase. They should instead use --dd-file with data obtained by running tv_grab_na_dd using the --dd-data argument.

From 0.21 on:

From version 0.21 on the arguments of this command changed. The offset argument has been removed and the command changed to:

$ mythfilldatabase --file <sourceid> belgium.xml

From 0.25 on:

From version 0.25, the arguments of this command changed:

$ mythfilldatabase --file --sourceid <sourceid> --xmlfile belgium.xml

Before you run it the first time you will need to use the --manual flag, but this is better explained on the XMLTV page.


mythfilldatabase causes the system to hang

This is probably an I/O saturation issue. mythfilldatabase and MySQL can cause hard disk or ATA bus saturation, causing Mythbackend to starve. Read more about Troubleshooting:Mythfilldatabase_IO_bottleneck.