marcel.wiesweg@xxxxxx(Marcel Wiesweg) 18.06.05 23:29 >> VOX;RTL >> World:666000:I0C23D0M16B8T8G8Y0:T:27500:545:546=deu:551:0 >> :16418:8468:8706:0 >> VOX;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:0:0:0:0 >> :16418:8468:2818:0 >The second line has no audio/video PIDs, so no audio/video reception. >The two lines have different service IDs - so they refer to different >services. >The EIT table contains a field service_id, and VDR has to >associate the EPG info from that table to a channel with this service >ID. >If the EIT for VOX refers to the service ID 2818, only the >channels for the second line will have EPG. >The PIDs are set from data in the PMT table. >If the pragmatical solution (new channels.conf) does not work, you >might want to analyze the relevant SI information: >Install dvbsnoop. For command line options, read their examples list. >Retrieve the PAT at PID 0x00. >Retrieve the PMT for VOX at the PID given by the PAT. >Read the EITs at PID 0x12 and find the one for VOX. Look at the >service ID it refers to. Quick and dirty script attempt: (see http://dvbsnoop.sourceforge.net/examples/ ) #!/bin/sh # chosse the device SNOOP="dvbsnoop -crc -sync -demux /dev/dvb/adapter3/demux0 -dvr /dev/dvb/adapter3/dvr0 -frontend /dev/dvb/adapter3/frontend0" #chose the program name (see output of SDT for the strings to use) PGM="VOX" echo "-------- 0x11 Service Description Table (SDT)" $SNOOP -n 1 -nph 0x11 | grep -e "Service_id:" -e "Service_name:" > sdt.tmp1 cat sdt.tmp1 | grep "Service_name:" cat sdt.tmp1 | grep -1 "Service_name: \"$PGM\"" | head -1 |cut -d "(" -f2 | cut -d ")" -f1 > sid.tmp1 SID=`cat sid.tmp1` echo "Service ID \"$PGM\" = $SID" echo "-------- 0x00 Program Association Table (PAT)" CMD="$SNOOP -n 1 0x0" echo $CMD $CMD > pid0.tmp1 echo "-------- 0xnnnn Program Map Table (PMT)" grep "Program_map_PID" pid0.tmp1 | tee pmts.tmp1 cut -d "(" -f2 pmts.tmp1 | cut -d ")" -f1 | tee pmtsh.tmp1 cat pmtsh.tmp1 | xargs -i $SNOOP -n 1 -nph {} grep "Program_number:" pid0.tmp1 | tee pgmnums.tmp1 echo "-------- 0x12 Event Information Table (EIT)" CMD="$SNOOP -n 1 -nph 0x12" echo $CMD $CMD > eit.tmp1 exit echo "-------- 0x10 Network Information Table DVB-T (NIT)" CMD="$SNOOP -n 1 -nph 0x10" echo $CMD $CMD | tee> nit.tmp1 -------------------------------------------------------------------- Now i got a lot of data .. ;-) But a grep 2818 *.tmp1 shows: eit.tmp1:Transport_stream_ID: 2818 (0x0b02) nit.tmp1: Transport_stream_ID: 2818 (0x0b02) pid0.tmp1:Transport_Stream_ID: 2818 (0x0b02) but none for msi:~/video# grep 8706 *.tmp1 msi:~/video# OTOH: msi:~/video# grep 8706 /video0/channels.conf VOX;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:545:546=deu:551:0:16418:8468:8706:0 RTL Television,RTL;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:337:338=deu:343:0:16405:8468:8706:0 RTL2;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:353:354=deu:359:0:16406:8468:8706:0 Super RTL,S RTL;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:369:370=deu:375:0:16407:8468:8706:0 Super RTL,S RTL;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:369:370=deu:375:0:16411:8468:8706:0 L'EQUIPE TV;CSAT:12402:vC34:S19.2E:27500:165:100=fra:0:500,100:8706:1:1100:0 msi:~/video# grep 2818 /video0/channels.conf RTL Television,RTL;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:0:0:0:0:16405:8468:2818:0 RTL2;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:0:0:0:0:16406:8468:2818:0 Super RTL,S RTL;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:0:0:0:0:16411:8468:2818:0 VOX;RTL World:666000:I0C23D0M16B8T8G8Y0:T:27500:0:0:0:0:16418:8468:2818:0 So would it make sens to let dvbsnoop run in the background until i get the Transport_Stream_ID:8706 at 660Mhz? Too not to use "crc and sync" or does VDR check CRCs? $SNOOP 0x0 | grep "Transport_Stream_ID:" | grep -v "2818"