[vdr] Re: DVB-T and channels.conf

Rainer Zocholl UseNet-Posting-Nospam-74308- at zocki.toppoint.de
Sun Jun 19 15:33:00 CEST 2005


marcel.wiesweg at 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"





More information about the vdr mailing list