suche Beschreibung zu lcars.dvb und transponders.dvb2

alex.enjoy
Einsteiger
Einsteiger
Beiträge: 225
Registriert: Sonntag 22. Dezember 2002, 11:24

suche Beschreibung zu lcars.dvb und transponders.dvb2

Beitrag von alex.enjoy »

Hallo,

damit ich LCars-Support in den TuxBox Bouquetter einbauen kann,
benötige ich eine Beschreibung des Aufbaus von lcars.dvb und transponders.dvb2

Wer hat sowas? Wo gibts sowas?

Alex.
meine Box: Nokia 2xi BMon1.0 Sat(Astra19.2E); Image alexW 1.6.8 - 05.03.2003
Bouquetter: Serviceeditor und Bouquetverwaltung für Enigma, Neutrino und Lcars
Rudi Ratlos 4711
IDE-Frickler und Berufspessimist
Beiträge: 464
Registriert: Samstag 27. Juli 2002, 21:13

Beitrag von Rudi Ratlos 4711 »

<Spekuliermode on>
War das nicht das Format der DVB2000 für die DBOX1 ?
<Spekuliermode off>

Schau mal bei http://www.no-access.de vorbei, vielleicht findest Du da was !

RR4711
Astra 19.2/Hotbird 13.0
Philips SAT 2xI Avia 600/eNX mit heilem :D Frontpanel-Prozessor aber irgendwas anderem kaputt :(
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
alex.enjoy
Einsteiger
Einsteiger
Beiträge: 225
Registriert: Sonntag 22. Dezember 2002, 11:24

Beitrag von alex.enjoy »

Rudi Ratlos 4711 hat geschrieben:War das nicht das Format der DVB2000 für die DBOX1 ?
ich denke schon :-)
Rudi Ratlos 4711 hat geschrieben:Schau mal bei http://www.no-access.de vorbei, vielleicht findest Du da was !
Schade, da habe ich nur das hier gefunden... "Baustelle" und so... :(

Alex.
meine Box: Nokia 2xi BMon1.0 Sat(Astra19.2E); Image alexW 1.6.8 - 05.03.2003
Bouquetter: Serviceeditor und Bouquetverwaltung für Enigma, Neutrino und Lcars
Rudi Ratlos 4711
IDE-Frickler und Berufspessimist
Beiträge: 464
Registriert: Samstag 27. Juli 2002, 21:13

Beitrag von Rudi Ratlos 4711 »

Wenn Du mit C halbwegs vertraut bist, kann ich Dir die Sourcen von DVB Edit zukommen lassen, da sind die ganzen Strukturen drin. Ist aberschon bissle älter, ich glaube es gab noch minimale Änderungen wegen den AC3 PIDs...

RR4711
Astra 19.2/Hotbird 13.0
Philips SAT 2xI Avia 600/eNX mit heilem :D Frontpanel-Prozessor aber irgendwas anderem kaputt :(
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
alex.enjoy
Einsteiger
Einsteiger
Beiträge: 225
Registriert: Sonntag 22. Dezember 2002, 11:24

Beitrag von alex.enjoy »

Ich kanns ja mal versuchen :wink:
Für die Enigma-Filter hab ich das teilweise auch aus dem Source rausgekramt...
Rudi Ratlos 4711 hat geschrieben:ich glaube es gab noch minimale Änderungen wegen den AC3 PIDs...
Hmm... mir schauen die .dvb Files doch sehr nach Dateien aus, bei denen es auf jedes Bit ankommt... Mit einem 'ungefähren' Aufbau kann man da doch sicher nicht weit kommen, oder?

Alex.

PS: wär nett, wenn du die sourcen an alex.enjoy@t-online.de schicken könntest.
meine Box: Nokia 2xi BMon1.0 Sat(Astra19.2E); Image alexW 1.6.8 - 05.03.2003
Bouquetter: Serviceeditor und Bouquetverwaltung für Enigma, Neutrino und Lcars
alex.enjoy
Einsteiger
Einsteiger
Beiträge: 225
Registriert: Sonntag 22. Dezember 2002, 11:24

Beitrag von alex.enjoy »

Danke, habe alles was ich brauche gefunden :D

Alex.
meine Box: Nokia 2xi BMon1.0 Sat(Astra19.2E); Image alexW 1.6.8 - 05.03.2003
Bouquetter: Serviceeditor und Bouquetverwaltung für Enigma, Neutrino und Lcars
TheDOC
Senior Member
Beiträge: 697
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von TheDOC »

Uh, sorry, hab den Thread hier gerade erst entdeckt.

Hier der entsprechende Part aus den LCARS-Sourcen:
void channels::saveDVBChannels()
{
FILE *fp;

//printf("Save File\n");
fp = fopen(CONFIGDIR "/lcars/lcars.dvb", "wb");
for (std::vector<struct channel>::iterator it = basic_channellist.begin(); it != basic_channellist.end(); ++it)
{
dvbchannel chan;

memset (&chan, 0, sizeof(struct dvbchannel));

transponder trans;
trans.TS = it->TS;
trans.ONID = it->ONID;
std::multimap<struct transponder, struct transportstream>::iterator ts = basic_TSlist.find(trans);

//printf("SID: %x\n", (*it).SID);
chan.init[0] = 'D';
chan.init[1] = 'V';
chan.init[2] = 'S';
chan.init[3] = 'O';
chan.SID = (*it).SID;
chan.PMT = (*it).PMT;
chan.TXT = (*it).TXT;
chan.FREQU = (*ts).second.FREQU;
chan.SYMBOL = (*ts).second.SYMBOL;
chan.POLARIZATION = (*ts).second.POLARIZATION;
chan.DISEQC = (*ts).second.diseqc;


chan.FEC = (*ts).second.FEC;
chan.VPID = (*it).VPID;
chan.APID = (*it).APID[0];
chan.PCR = (*it).PCR;
for (int i = 0; i < 5; i++)
{
if (setting->getCAID() == (*it).CAID)
chan.ECM = (*it).ECM;
}
chan.type = (*it).type;
chan.TS = (*it).TS;
for (int i = 0; i < 24; i++)
chan.serviceName = (*it).serviceName;

chan.AutoPIDPMT = 3;
chan.ONID = (*it).ONID;

fwrite(&chan, sizeof(dvbchannel), 1, fp);
//printf("Size: %d\n", sizeof(dvbchannel));
}
fclose(fp);
}

mit
struct dvbchannel
{
unsigned char init[4];
unsigned short SID;
unsigned short PMT;
unsigned short FREQU;
unsigned short SYMBOL;
unsigned char FEC;
unsigned char unknown;
unsigned char POLARIZATION; // 0=V, 1=H
unsigned char DISEQC;
unsigned short VPID;
unsigned short APID;
unsigned short PCR;
unsigned short AC3;
unsigned short ECM;
unsigned char flags;
unsigned char type;
unsigned short TXT;
unsigned short TS;
unsigned char serviceName[24];
unsigned char AutoPIDPMT;
unsigned char providerIndex;
unsigned char parental;
unsigned char countrycode;
unsigned char linkage;
unsigned char favourite;
unsigned short ONID;
};


und
void channels::saveTS()
{
FILE *fp;

//printf("Save TS File\n");
fp = fopen(CONFIGDIR "/lcars/transponders.dvb2", "wb");

for (std::multimap<struct transponder, struct transportstream>::iterator it = basic_TSlist.begin(); it != basic_TSlist.end(); ++it)
{
transportstream tmp_ts;
tmp_ts = it->second;
fwrite(&tmp_ts, sizeof(transportstream), 1, fp);

//printf("TS: %d - FREQU: %ld - SYMBOL: %d - POL: %d - FEC: %d\n", (*it).second.trans.TS, (*it).second.FREQU, (*it).second.SYMBOL, (*it).second.POLARIZATION, (*it).second.FEC);
}

fclose(fp);
}


mit
struct transponder
{
int ONID;
int TS;
};

struct transportstream
{
transponder trans;
long FREQU;
int SYMBOL;
int POLARIZATION; // 0->H, 1->V -- Nur Sat
int FEC;
int diseqc;
};