[mythtv-users] DVB Channel Setup - Start of a solution

Malcolm Smith Malcolm.Smith at itemplus.com
Wed Dec 24 06:21:57 EST 2003


Kenneth,

Many thanks for you excellent S/W to support DVB. I now have a dual setup

ASUS Pundit - WinTV  -> Cable box with LIRC
            - Win TV Nova hooked up to terrestrial

It works excellently.

The one bit I found frustrating was the DVB channel setup, so I've made a
start on moving from manual table hacking to full automation.

Attached is an SQL file that does the database inserts automatically.

It looks up the videosource, finds the channel and then creates rows in
dvb_channel and dvb_pids as appropriate.

To use this file:
1. Load your channels using xml_tv_xxxx
2. Run scan from DVB tools
3. Edit the attached file to add the channels you want from the scan output
(Note the syntax for the QAM, Fec's etc varies between the tables and the
scan e.g. FEC in scan is 2_3 in myth is 2/3).
4. mysql mythconverg < setup_dvb_channels
5. You can run this sql repeatedly until you get things right! (as it does
REPLACE rather than INSERT )

the next step: Perhaps someone with PERL skills could convert this to read
the output from scan and convert it to SQL actions similar to this script.

-malc-
-------------- next part --------------

--
-- Table structure for table `dvb_channel`
--

--CREATE TABLE dvb_channel (
--  chanid smallint(6) NOT NULL default '0',
--  serviceid smallint(6) default NULL,
--  networkid smallint(6) default NULL,
--  providerid smallint(6) default NULL,
--  transportid smallint(6) default NULL,
--  frequency int(11) default NULL,
--  inversion varchar(10) default 'auto',
--  symbolrate int(11) default NULL,
--  fec varchar(10) default NULL,
--  polarity char(1) default NULL,
--  satid smallint(6) default NULL,
--  modulation varchar(10) default 'auto',
--  bandwidth varchar(10) default 'auto',
--  hp_code_rate varchar(10) default NULL,
--  lp_code_rate varchar(10) default 'auto',
--  transmission_mode varchar(10) default 'auto',
--  guard_interval varchar(10) default 'auto',
--  hierarchy varchar(10) default 'auto',
--  fec_inner varchar(10) default 'auto',
--  pids_video varchar(50) default NULL,
--  pids_audio varchar(50) default NULL,
--  pids_teletext varchar(50) default NULL,
--  pids_subtitles varchar(50) default NULL,
--  pids_pcr varchar(50) default NULL,
--  pids_other varchar(50) default NULL,
--  cryptid int(10) unsigned default NULL,
--  PRIMARY KEY  (chanid)
--) TYPE=MyISAM;


-- Change Freeview to the name of your Videosource
SELECT @videosourceid:=sourceid FROM videosource WHERE name="Freeview";
--
-- You may need to change the QAM, lp and FEC, get this information after running scan


--BBC MUX

SELECT @videosourceid:=sourceid FROM videosource WHERE name="Freeview";
SELECT @freq:='754166670';

-----
SELECT @vpid:='600';
SELECT @apid:='601';
SELECT @tpid:='4168';
SELECT @channame:="%BBC1%";

SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');


------------------------------
SELECT @vpid:='610';
SELECT @apid:='611';
SELECT @tpid:='4232';
SELECT @channame:="%BBC2%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,4169,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');

---------------------------


------------------------------
SELECT @vpid:='0';
SELECT @apid:='0';
SELECT @tpid:='4351';
SELECT @channame:="%BBC3%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');

------------------------------
SELECT @freq:='842166670';

SELECT @vpid:='0';
SELECT @apid:='0';
SELECT @tpid:='16832';
SELECT @channame:="%BBC4%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'3/4','V',NULL,'qam_16','8','3/4','3/4','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');

------------------------------
SELECT @vpid:='640';
SELECT @apid:='641';
SELECT @tpid:='4451';
SELECT @channame:="%BBC News%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');

------------------------------
SELECT @vpid:='620';
SELECT @apid:='621';
SELECT @tpid:='4671';
SELECT @channame:="%CBBC%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');

--C5 MUX

SELECT @videosourceid:=sourceid FROM videosource WHERE name="Freeview";
SELECT @freq:='850166670';
------------------------------
SELECT @vpid:='6017';
SELECT @apid:='6018';
SELECT @tpid:='12866';
SELECT @channame:="%five%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');

--R4

SELECT @videosourceid:=sourceid FROM videosource WHERE name="Freeview";
SELECT @freq:='842166670';
------------------------------
SELECT @vpid:='0';
SELECT @apid:='6258';
SELECT @tpid:='16832';
SELECT @channame:="%Radio 4%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');


--ITV MUX

SELECT @videosourceid:=sourceid FROM videosource WHERE name="Freeview";
SELECT @freq:='834166670';
------------------------------
SELECT @vpid:='512';
SELECT @apid:='650';
SELECT @tpid:='8627';
SELECT @channame:="%ITV%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');


------------------------------
SELECT @vpid:='2818';
SELECT @apid:='2819';
SELECT @tpid:='8325';
SELECT @channame:="%ITV2%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');


------------------------------
SELECT @vpid:='2822';
SELECT @apid:='2823';
SELECT @tpid:='8384';
SELECT @channame:="%Channel 4%";


SELECT @channelid:=chanid  FROM channel  WHERE (sourceid=@videosourceid AND name LIKE @channame);
REPLACE INTO dvb_channel VALUES (@channelid,NULL,NULL,NULL,NULL, at freq,'0',6900000,'2/3','V',NULL,'qam_64','8','2/3','1/2','2','1/32','n','auto', at vpid, at apid , @tpid,NULL,NULL,NULL,NULL);
REPLACE INTO dvb_pids VALUES (@channelid, at vpid,'v','');
REPLACE INTO dvb_pids VALUES (@channelid, at apid,'a','');





More information about the mythtv-users mailing list