Steve Adeff wrote:

On Thursday 05 January 2006 10:26, R. G. Newbury wrote:
Byron Poland wrote:
On 1/3/06, Steve Adeff <[EMAIL PROTECTED]> wrote:
So I've got three sources from the same cable company, am I doomed to
have to have 3 logins?

1: HD Digital Cablebox via Firewire
2: SD Digital Cablebox via PVR-150
3: pcHDTV HD3000 cia QAM

all from Comcast. Now, each source requires its own specific channel
lineup and all three require a "Digital Cable" lineup to be selected.

The easiest would be to setup 1 zap2it source for all three and somehow
tell Myth which tuner gets what channels. But I don't think this is
possible.
See if you can pick a neighboring zip code that has the same services.
I seem to remember doing this to try and circumvent some multiple
lineup issues, I don't remember my exact issues they could of been
related to OTA stuff.
I think you only need 2 different lineups at zap2it.
I have ONE logon at zap2it and TWO different lineups. One lineup is
just  'Cable'. The other is 'Digital'.
Your PVR150 card will use the 'Cable' source.
Your Digital channels should be handled by the Myth database.
You may be able to use the 'other zip-code' trick, but I think that that
will fail unless you set up a different login. (I haven't tested but I
thought that Myth could handle a different login for an alternate
source. The problem is the zap2it end: one login allows only one lineup
of each type, cable, digital, or broadcast.)

You should be able to get all of the digital channels working properly
from the one digital lineup.
To get QAM working you have to set up the dtv_mulitplex table and then
enter the channel PID (as the serviceid) in the channel database.
Search gossamer threads for a topic heading starting with  "Sweet! PC
HD..." for links on how to get that done.

When you select a show, Myth uses the database and searchs to find the
channel, and parses out the hardware source (and serviceid to give to
the hardware) and the frequency in order to tune the proper piece of
hardware.
In this case the source will be either #1 or #3, and it will always
internally 'tune' to the fixed channel while outputting an IR
change-channel signal to the cablebox for any channel mapped to #1. At
least that's how it appears it should work. And people have reported
here that the two parts of this do work separately. In fact, I'm doing
the 'source #3' part of that now with my PVR500 and HD3000. Your setup
is different only in using the 'same' digital source for different
tuners depending on the channel, but it should work.

You have an advantage in that you can use the cablebox to discover the
PIDs for all of the digital channels, so it will be a little easier for
you to set up the HD3000 card's database entries. You may want to get
phpMyAdmin running on your box, as this requires some mysql database
bit-bashing which is a lot easier to do with a hand holding gui.

Geoff

except that my hdtv cable box gets a different set of channels than my non-hdtv digital cable box which is a different set of channels that my DVB card can receive. If I could, I would have one lineup and tell MythTV which channels from the lineup each input is actually able to receive, but from what I understand there is no way to do this as the visible setting will still let Myth try and record a channel a source might not have.

Yes, in this case, each tuner uses a different subset of all of the channels which are sent down your cable. Your cableco (and zap2it) differentiate between the analog and digital parts of the spectrum but Myth handles them indiscriminately except as it is told how to handle them by the database.

I think that there is a way to make myth select a particular channel out of a single datadirect lineup. It involves faking myth into thinking that there are 2 different lineups for hardware tuning purposes while having the same lineup for mythfilldatabase purposes.

To do this it helps to understand how myth goes about tuning a channel.

At http://www.cuymedia.com/doxygen-dev-docs/html/group__db__schema.html there is a discussion of the mysql database schema used by myth.

Quote:


   Digital Television Multiplex Table (dtv_multiplex)

This table contains the information needed to tune to a particular frequency on a particular input.

The primary key, 'mplexid', is automatically generated by the database. The most important field is the 'frequency' field which contains the transmission frequency in Hertz. The 'sourceid' which tells us which card and on what input of that card this multiplex applies to according to the Video Source Table (videosource) <http://www.cuymedia.com/doxygen-dev-docs/html/group__db__schema.html#videosource_table>. Along with a channel number 'sourceid' also uniquely identifies a channel in the Channel Table (channel) <http://www.cuymedia.com/doxygen-dev-docs/html/group__db__schema.html#channel_table>. The 'modulation' field tells us whether the modulation mode is "qpsk", "qam_16", "qam_32", "qam_64", "qam_128", "qam_256", "8vsb", "16vsb", or "auto". Finally, the 'sistandard' field is the last field which applies to both DVB and ATSC, it contains on of two strings, "dvb" or "atsc".

When describing a DVB Multiplex, the networkid, and transportid are used along with the serviceid in the Channel Table (channel) <http://www.cuymedia.com/doxygen-dev-docs/html/group__db__schema.html#channel_table> to tune to a particular MPEG stream in DVBChannel <http://www.cuymedia.com/doxygen-dev-docs/html/classDVBChannel.html>.

When descrining an ATSC Multiplex, the Channel Table (channel) <http://www.cuymedia.com/doxygen-dev-docs/html/group__db__schema.html#channel_table> contains the major and minor channels used to tune to a particular stream.

Video Source Table (videosource) This table tells us about a particular input on a video capture card.

The primary key, 'sourceid', is automatically generated by the database. The 'name' field gives the input name as passed to the video capture card driver. The 'xmltvgrabber' field tells us where we get our listings from. The 'userid' and 'password' fields are optionally used to log in to a listings service, with the 'lineupid' being used to select a particular lineup available from the listings service. Finally, the 'freqtable' tells us which channel number to frequency mapping to use with analog channels, us, us-cable, pal, etc.


   Channel Table (channel)

The primary key, 'chanid' is generated by combining the source id with a unique number from 0 to 99.

The 'channum' field contains the channel number to be input to jump to a channel. With HDTV using video4linux drivers this field has a special meaning. If the field contains only numeric characters then the digits up to the last digit are used as the major channel number and the last digit is used as the minor channel number. If it contains an underscore (_), the default, then the digits before the underscore are used as the major channel, and the ones after it as the minor channel. If it contains a minus sign (-), then the digits after the minus sign are used as the program number.

The 'sourceid' field contains the Video Source Table (videosource) <http://www.cuymedia.com/doxygen-dev-docs/html/group__db__schema.html#videosource_table> key, which specifies which listings service to use and which input on which video capture card to find this channel.

Unquote
**********************************************************

The key here is that each "chanid" (channel number/sourceid combination) can be uniquely defined as a particular set of card, card input, frequency and modulation and that combination points to a particular channum in the program guide. 'Tuning' consists of mapping through from, for example, the program guide using the channum, to select the source and parameters for that source.

So if you want to try a little pioneering, then maybe you can try this, which I think will allow you to do what you want to do:

Do a dvbscan (or atscscan) to find some active channels so you can parse out a QAM modulated feed and an HD feed which preferably should be on the same frequency but differ in their vid, aid and pid numbers. You want a chunk of your channels.conf like this:
CKND:771000000:QAM_256:16:17:16
CHMI:771000000:QAM_256:20:21:20
CFCN:771000000:QAM_256:28:29:28
CICT:771000000:QAM_256:30:31:30
CBRT:771000000:QAM_256:32:33:32
CHEK:771000000:QAM_256:34:35:34
CJON:771000000:QAM_256:36:37:36

I have substituted the callsigns for the [000a] style names produced by atscscan. None these happen to be HD streams, but those show up the same as SD digitial streams. Assume that CKND is SD and CHMI is an HD stream.

Make up a new Comcast Digital lineup consisting of only those two channels , say 117, and 118.

Run mythtv-setup and create three cards, PVR150, HD3000 and Firewire Cable Box) , create the sources (Comcast and Comcast Digital), attach each to the proper source. making sure to set the starting channel correctly, 117 and either 118 or 3 whichever you do for a Firwire input (3 I think). Then run mythfilldatabase. Exit all and stop the backend.

At this point, myth thinks that the latter 2 inputs/cards are substitutes for each other and can each tune all of the channels in the Comcast Digital source. Now we have to attempt to 'fix' that so that myth knows it must use a particular card for a particular channel as if the sources were entirely different.

Note that I have not DONE this...I do not have a cable box for the HD sources on my cable. I could use my HD3000 card for HD OTA, but then I would select a broadcast lineup, not a cable lineup. So this is not guaranteed to work, but I have spent a fair bit of time messing with the mythconverg database tables in getting my HD card working and I think I can see how this can be done. Then again this may cause your dog to hump your leg and make your hair fall out....

Following the procedures pointed to in the gossamerthreads reference for how to get an HD3000 card working off digital QAM256, get into mysql and create 2 rows in dtv_multiplex, so that there are 2 mplexid's with the same frequency. The sourceid's will 2 and 3 (if you entered the PVR as the first card or 1 and 3 if you followed your setup description) and the modulation field should be different: one will be QAM_256, I'm not sure for the HD stream 8VSB? and sisstandard should probably be set to atsc for the HD stream. Mysql may barf at this as the frequency will be same as the first entry for the second entry, unless you also set the modulation value at the same time...I'm not sure how much internal error-checking mysql does in determining unique key entries. I presume it would choke only if the new row exactly matches an existing row....(Must check that out myself... Yup! It does!). So make the modulation different.

Now create a new row in videosource so that there are 3 sourceid's, 2 of which in fact point to the same Comcast Digital lineup as the ultimate source. You can almost duplicate the existing 'Comcast Digital' row. I added a hyphen so it is 'Comcast-Digital'. This was enough to bypass the mysql checking. I do not think that this will cause a problem with Datadirect... least I hope not.

Now in the channel table, adjust the channel entries. I think that mythfilldatebase will have made both channels as if they were only linked to the first listed input. That has to be changed. If 'CKND' is 117 and 'CHMI-HD' is 118, then the chanid's should be, for this test setup, 3117 and 1118 and you will need to change the sourceid's to 3 and 1, the tvformat to ATSC (probably) and enter as the serviceid the last number in the dvbscan line ( '16' and '20' respectively, above). Note that the channum is what the guide uses. I know nothing about how a firewire setup is actually set up in myth.

Accordingly there are probably a couple of other little things which need to be poked because you are running the cable box through firewire and with an ir-blaster, but this will, at least as far as the QAM side of things goes, get you a working mythtv setup through the HD300 card on channel 117. The entries for 118 need to be set up for your blaster. I suspect that this is most easily done in mythfrontend.

Set the cable box to the correct channel manually so that no channel changing in needed to get the HD on channel 118. Start mythbackend and mythfrontend. Probably best to enter Setup, set things so Live Tv starts with the Program Guide and finish setup on channel 118 setup. Try Live TV. The Guide should come up and you should see a picture of the tuned channel. Myth seems to choose the lowest priority tuner for live tv, thus reserving the higher priorities for recording. This could be a problem which might need someSetup poking.. If the Guide does not come up, then the setup is probably wrong for channel 117. That must be correct or things fail. I presume the same will apply to 118. If you get the Guide, then see what happens when you select from channel 61 or whatever to 117...That should at least give you an SD stream on 117. You should get the OSD and a small picture, top right. Select and see if that gives up a full screen picture.
Cross you fingers and 'channel up' to 118, and select.

Possible gotchas. I have no idea whether mythfilldatabase will try to run itself 3 times because there are 3 rows in videosource. I have no idea if it will run properly for the third row. It may run and duplicate every channel in the database, once for 'Sourceid=2' and once for 'Sourceid=3'. It may just fail because of the extra hyphen in the name. Hopefully it will just fail gracefully, without duplications, and without wailing, crying and gnashing to teeth. Otherwise, it may require a little mysql script to delete and re-insert the fake row before/after every mythfilldatabase run. This will actually depend on datadirect not myth!

If this works, then you can modify to get a full lineup for which you will have to adjust each channel. I have 27 usuable QAM channels on my feed and about 300 total feeds (lots of music channels which are also tunable). I ended up parsing out the data and putting it into a script to run against the mysql database, since there were lots of similar and repetitive entries.

Good luck!    And report back here!

Geoff

Update. Out of curiousity, I just ran mythfilldatabase from my desktop (which has no tunre cards, but does have a compiled mythtv set of programs). Mythfilldatabase ran to completion against all three videosource entries. No glitches. But it appears that the third entry has captured data for EVERY digital channel into the Program Guide, probably because there is no actual 'Rogers-Digital' lineup. So it appears that mythfilldatabase should be run inside a script which will delete and later re-insert the third videosource table row....

G.







_______________________________________________
mythtv-users mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users

Reply via email to