On 21/09/05, Neil <[EMAIL PROTECTED]> wrote:
> Hi Nick,
>
> many thanks for the offer of help - its much appreciated!
>
> As you'll see, I've attached a few files; chanidents & channels.conf are
> self explanatory. channel.txt is the output from a SELECT * INTO OUTFILE
> 'channel.txt' FROM channel statement, and channel.dmp is a mysqldump of
> the table. I included both as I didn't know what would be easier for you
> to look at.

Neil,

I enclose an annotated description of how I use tv_grab_dvb (sorry if
it's a bit tedious, might be useful for others), and what I think you
should try in order to get things working (first thing is probably to
clear out your channels table because you seem to have 4 copies of
everything).


PART ONE
========

First thing - let me run through the way I use tv_grab_dvb and
mythfilldatabase (and how it gets the info into the database:

i) My chanidents file (for Sutton Coldfield, edited for radio only):

14336 radio-1.bbc.co.uk
14400 radio-2.bbc.co.uk
14464 radio-3.bbc.co.uk
14528 fm.radio-4.bbc.co.uk
17920 radio-5.bbc.co.uk
17984 sportsextra.radio-5.bbc.co.uk
18048 6music.bbc.co.uk
18112 bbc7.bbc.co.uk
18176 1xtra.bbc.co.uk

Note the number and the XMLTV ID. The number (Service ID?) is used in
conjunction with the chanidents file below, and the XMLTV ID is used
to match the data against the channels in my mythconverg database. In
effect, this file bridges between the DVB channel/EPG data and the
mythconverg database.

ii) My edited channels.conf file:

BBC Radio 
1:658166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6210:14336
BBC Radio 
2:658166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6226:14400
BBC Radio 
3:658166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6242:14464
BBC Radio 
4:658166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:6258:14528
BBC R5 
Live:714166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:430:17920
BBC 5L 
SportsX:714166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:431:17984
BBC 6 
Music:714166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:432:18048
1Xtra 
BBC:714166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:434:18176
BBC 
7:714166670:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:0:433:18112

As you can see, the final data value for each entry in channels.conf
matches with one of the entries in my chanidents file.

iii) In order that MFDB can run successfully, I ensure that there is
only 1 copy of each channel per sourceid, and that it has the correct
XMLTV ID (so that it matches those in the chanidents file). I found it
much quicker to edit the DB directly using phpMyAdmin to ensure the
channels were setup properly. I use XMLTV IDs only in my MythTV setups
because the other grabber I use also uses these.

iv) My radio listings grabber script:

#!/bin/bash

{

/home/mythtv/tv_grab_dvb/tv_grab_dvb -c -t 30 -s >
/home/mythtv/.mythtv/radio.xml
/usr/bin/mythfilldatabase --update --file 1 -1 /home/mythtv/.mythtv/radio.xml
/usr/bin/mythfilldatabase --update --file 3 -1 /home/mythtv/.mythtv/radio.xml

sleep 3
rm -f /home/mythtv/.mythtv/radio.xml

} >/dev/null 2>&1


This script runs tv_grab_dvb with the following options:

-c to use Channel Identifiers from file 'chanidents' - the means the
XMLTV IDs are used in the XML output file
-t 30 to use a timeout of 30s
-s to run silently (even though I send output to /dev/null

Mythfilldatabase (MFDB) then runs to populate the program info on 2
different sources (in my case my DVB channels (sourceid=1) and my NTL
channels(sourceid=3)).

v) I have an entry in my crontab to run the script daily to ensure
program data is up to date.


PART TWO
========

What (I think) you should do:

i) Remove your channels from the DB and rescan, making sure there is
only one of each listed. Perhaps rerun mythtvsetup and answer yes to
both questions at the start to start afresh.
ii) Associate the XMLTV ID with each channel you want listings for.
iii) Edit your chanidents file so that it contains the correct service
IDs and XMLTV IDs.
iv) Run tv_grab_dvb to generate an XML file (I manually edited the
source for tv_grab_dvb to hardcode the location of the two files it
needs - chanidents and channels.conf - as this can cause problems in
scripts)
v) Run mythfilldatabase on the XML file to import the listings.
vi) Let me know how you got on.

It's entirely possible to use the dvb.guide IDs instead, and this
should work in exactly the same way as the XMLTV IDs. I choose to use
the XMLTV IDs so that I can easily switch grabbers if I need to.

HTH,
Nick
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users

Reply via email to