marcel.wiesweg@gmx.de(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"