XMLTV Myth Channel Setup
Contents
Why this page
Here in Denmark (Non North American PAL country), I had been struggling with this "can't change channels" business for a while, and I finally figured it out. Simple, once you get it.
After running tv_grab_dk and then Myth Fill Database, I ended up with program information in the Electronic Program Guide, but changing channels didn't work.
The reason
The reason is that the channel
table in the mythconverg
database doesn't contain any indication of what frequency the particular channels are on.
In North America at least, there is a tradition for for channels to be on the same frequency everywhere. So channel 7 is on the same channel in all homes across the country.
But here in Europe at least, there is no such tradition. So two people in two different towns could well have the same channel on different frequencies.
What to do
The freqid
column of the channel
table in the mythconverg
MySQL database now needs to be edited to include information about my channels.
Gather information first
First, figure out what channel lineup you're using. I chose Channel frequency table = "europe-west" in the MythTV setup/setup. That works for me.
First you'll need to gather information about your own channel line-up. Here in Copenhagen, I am so lucky that TDC KabelTV (my cable provider) has a page containing my Cable Lineup. You will need this information one way or another. For each channel you want to use, you will need either the symbolic name of the frequency or (better) the frequency itself. Go find this information now!
For (UPC) Telekabel Wien (Vienna, Asutria) the channel table can be found under UPC Telekabel.
Here's some channel frequency listings for Belgium:
- Integan Integan kabelcommunicatie
- Telenet/MixtICS MixtICS
- UPC Brussels [1]
How to find the setting for a particular channel
Let us take a use case and follow it through. After having run mythfilldatabase --manual
with the output of tv_grab_dk
, I ended up with stuff in my channel table.
Let us use CNN as an example. Looking at my cable lineup, we see, that CNN is on the channel they call K57
at 759.25 MHz
(At least I think its MHz :-D).
MythTV needs a symbolic name for that frequency. Now, we need to look in the MythTV source code - specifically at:
This is no true. Myth can use full frequency numbers so this explanation is more complex than in should be. In the above example you can enter 759250 in mythtv's chanel table. No need to translate !!!!
(Any alternatives to doing this are very welcome!)
Remember, that I used europe-west
in setup/setup, so in frequencies.c
above I need to find europe_west[]
And notice that it consists of a number of other elements #defines
. Look at these elements only!!! Other channel lineups use the same frequencies under different names. Using these other names won't work! Use the name of the frequency, that corresponds to your configured channel lineup.
For our CNN example, there are the relevant portions of frequencies.c
:
#define FREQ_UHF \ <snip> { "57", 759250 }, \ static struct CHANLIST europe_west[] = { FREQ_CCIR_I_III, FREQ_CCIR_SL_SH, FREQ_CCIR_H, FREQ_UHF }; <snip> struct CHANLISTS chanlists[] = { <snip> { "europe-west", europe_west, CHAN_COUNT(europe_west) },
From this, we notice, that the MythTV name for the frequency 759.25 MHz
is 57
.
Notice how the cable provider's name for the frequency ("K57
")differs from MythTV's name for the frequency ("57
")! This is not unusual! Use MythTV's name for the frequency ("57
")!
So, now we know that for CNN, the MythTV freqid
to use is 57
. The same procedure needs to be followed for all the channels in your lineup.
Change the channel table
Until .15 is released this can be done in two different ways:
- Using MythWeb (the easiest by far)
- Using MySQL (not as easy, but allows you to do it in bulk, and allows me to demonstrate it here with a command line capture.)
- .15 includes a channel editor built into the setup application. The freqid is on the second page of the settings for each channel.
Using MythWeb
Open up mythweb in a browser, go to Settings
, then Channels
. Here you will see a large matrix with one row for each channel. For the CNN channel in our example, set freqid
to 57
.
Using MySQL
This is done from the command line like so:
myth@peter:~> mysql -pmythtv -umythtv -e 'select name from channel' mythconverg +---------------------+ | name | +---------------------+ | DR 1 | | DR 2 | | TV 2 | | TV 2 Zulu | | [[Tv Danmark]] | | TV3 | | 3+ | | Kanal 5 | | TV4 | | Sverige 1 | | Sverige 2 | | BBC Prime | | BBC World | | CNN | | MTV | | DK4 | | Discovery Nordic | | Animal Planet | | Fox Kids / Hallmark | | Kanal Kbenhavn | | Info Kanalen | +---------------------+ myth@peter:~> mysql -pmythtv -umythtv -Ee 'select * from channel where name="CNN"' mythconverg *************************** 1. row *************************** chanid: 1013 channum: 14 freqid: XXX sourceid: 1 callsign: CNN name: CNN icon: finetune: 0 videofilters: xmltvid: 16.tdckabeltv.dk recpriority: 0 contrast: 32768 brightness: 32768 colour: 32768 hue: 32768 tvformat: Default commfree: 0 visible: 1 outputfilters: NULL myth@peter:~> mysql -pmythtv -umythtv -Ee 'update channel set freqid="57" where name="CNN"' mythconverg myth@peter:~> mysql -pmythtv -umythtv -Ee 'select * from channel where name="CNN"' mythconverg *************************** 1. row *************************** chanid: 1013 channum: 14 freqid: 57 sourceid: 1 callsign: CNN name: CNN icon: finetune: 0 videofilters: xmltvid: 16.tdckabeltv.dk recpriority: 0 contrast: 32768 brightness: 32768 colour: 32768 hue: 32768 tvformat: Default commfree: 0 visible: 1 outputfilters: NULL
My Channel Table
For reference, here is my channel table:
[2]
This corresponds to channel line up of europe-west
and these cable provider frequencies:
[3]
Category Tips