РУС|ENG

Articles & How-to's Brochures



www.media-kb - media knowledge base


All rights reserved (c) 2001-2007 NetUP Inc. (www.netup.tv)
Reprinting, republishing and any further distribution,
regardless of format, require written permission from NetUP Inc.
All rights reserved (c) 2001-2007 NetUP Inc. (www.netup.tv)
Reprinting, republishing and any further distribution, regardless of format, require written permission from NetUP Inc. (info@netup.tv)

Configuring Streaming of Satellite Channels into a LAN (IPTV)

Nowadays the main source of digital TV channels is receiving them from satellites using DVB-S technology. This method is notable for simplicity of deploying and variety of multimedia content on satellites [1]. In this article it is discussed receiving of satellite channels using NetUP DVB to IP gateway/streamer (hereafter, streamer) on Linux OS.

Range Scan. Searching for Available Channels

To scan a range and retrieve all available channels, it can be used an utility dvbscan from a package dvb-apps [2]. The input file format:

S 12320000 V 27500000 3/4

where in the 2nd column it is specified the transponder carrier frequency. The 3rd column sets the polarization: V-vertical, H-horizontal. The 4th column is the symbol rate.

To scan the entire range, it is required to prepare a file with all frequencies listed with the step of 1 MHz. For that let's create a file gen_scan.pl (it's a perl script) with the following content:

for ($x = 12100; $x < 12490; $x++){
        $freq = $x."000";
        printf("S $freq V 27500000 3/4\n");
};

In the script the values 12100 and 12490 are the range borders in MHz. The script can be launched using the command:

perl gen_scan.pl > scan.in

It creates a file scan.ini with the following content:

...
S 12448000 V 27500000 3/4
S 12449000 V 27500000 3/4
S 12450000 V 27500000 3/4
S 12451000 V 27500000 3/4
S 12452000 V 27500000 3/4
S 12453000 V 27500000 3/4
...

This file is used as the input for dvbscan. This utility is started by the command:

dvbscan scan.in > scan.out

The utility creates a file scan.out with the found channels. An example of file part follows:

...
MTV Russia:12240:v:0:27500:322:404:10303
Relax FM:12241:v:0:27500:0:427:10327
MTV Russia:12242:v:0:27500:322:404:10303
Relax FM:12242:v:0:27500:0:427:10327
...

As it can be seen, channels may be repeated. To clean up the file from the superfluous records, use the script parse_scan.pl:

open(IN, "-");
@data = ;
close(IN);

%chan = ();
%freq = ();

foreach (@data){
        # UNOSAT:12100:v:0:27500:3200:3201:713
        if($_ =~ m/(.+):(.+):(.+):(.+):(.+):(.+):(.+):(.+)/){
                my $qnt = $chan{$1};
                $qnt++;
                $chan{$1} = $qnt;
                my $tmp_name = $1."_".$qnt;
                $freq{$tmp_name} = $_;
        };
};

foreach (@data){
        # UNOSAT:12100:v:0:27500:3200:3201:713
        if($_ =~ m/(.+):(.+):(.+):(.+):(.+):(.+):(.+):(.+)/){
                my $count = int($chan{$1}/2);
                if($count < 1){
                        $count = 1;
                };

                my $tmp_name = $1."_".$count;
                $ffreq{$1} = $freq{$tmp_name};
        };
};

foreach $k (keys (%chan)){
        print("$ffreq{$k}");
};

Start it by the following command:

cat scan.out  | perl parse_scan.pl

Consequently, all found channels, their frequencies and PIDs are displayed. Obtained values can be used to create the channels section in the streamer configuration file.

Configuring NetUP DVB to IP Gateway/Streamer

Configuration file /netup/streamer/etc/streamdec.conf contains the following main parameters:

# DVB-S adapter number in the system. 0 - 1st adapter
adapter=0 

# Transponder carrier frequency to which the tuner is tuned
freq=12245

# symbol rate
sr=27500

# polarization. 0 - vertical (18V), 1 - horizontal (13V)
pol=1

# LNB settings
lnb_low_val=9750000
lnb_high_val=10600000
lnb_switch_val=11700000

# Channel tuning. One channel per string
# string format:
# apid:vpid:channel:multicast_ip:multicast_port:ca_ip:ca_port:ca_login:ca_password
# where:
# apid - PID of the audio stream
# vpid - PID of the video stream
# channel - TV channel id
# multicast_ip - multicast IP address the channel is broadcast to
# multicast_port - UDP port the channel is streamed to
channel=412:326:10307:224.200.200.215:1234:none:0:none:none
channel=418:328:10308:224.200.200.216:1234:none:0:none:none

Default LNB settings are for the universal LNB type. If you have other LNB parameters, it is necessary to make appropriate changes in the configuration file. If the settings are wrong, frequencies are shifted proportionally. In this case either the correct values should be set or, as it is given above, the full range should be scanned for retrieving absolute frequency values.

Let's take a universal LNB IDLP-40TCIRCL as an example (photo 1).

Universal LNB IDLP-40TCIRCL
Photo 1. Universal LNB IDLP-40TCIRCL

Specification for this LNB is available at the URL:
http://www.doebis.de/sites/lnbs/lnbs_datenpdfs/inverto_idlp_40_tcircl.pdf [3].

In the specification the following parameters are given:

Input Frequency (GHz) 10.7-11.7 GHz, 11.7-12.75 GHz
LO Freq 9.75 GHz/10.6 GHz

These values should be used for changing parameters lnb_* in the streamer configuration file.

The streams can be checked by using the following command on the streamer:

trafshow -ni eth0 port 1234

The output contains the table of current multicast streams with the bitrate and number of transferred bytes specified:

From Address        To Address                        Proto  Bytes CPS
=======================================================================
10.1.11.10..32795   224.200.200.202..1234 udp         8537028 375494
10.1.11.10..32788   224.200.200.212..1234 udp         7952044 407992
10.1.11.10..32790   224.200.200.209..1234 udp         7094228 279341
10.1.11.10..32787   224.200.200.213..1234 udp         7043440 351231
10.1.11.10..32784   224.200.200.210..1234 udp         7008084 280157
10.1.11.10..32782   224.200.200.215..1234 udp         6508896 314706
10.1.11.10..32785   224.200.200.207..1234 udp         5925792 231584
10.1.11.10..32794   224.200.200.200..1234 udp         5906572 200676
10.1.11.10..32793   224.200.200.211..1234 udp         6047448 326328
10.1.11.10..32796   224.200.200.205..1234 udp         5881424 306071
10.1.11.10..32783   224.200.200.216..1234 udp         5758480 393428
10.1.11.10..32798   224.200.200.201..1234 udp         5570160 321016
10.1.11.10..32797   224.200.200.204..1234 udp         5365592 284411
10.1.11.10..32791   224.200.200.217..1234 udp         5195216 207687
10.1.11.10..32786   224.200.200.206..1234 udp         5297696 296824
10.1.11.10..32799   224.200.200.203..1234 udp         4779076 203542
10.1.11.10..32792   224.200.200.214..1234 udp         3279980 161183
10.1.11.10..32789   224.200.200.208..1234 udp         3144896 131500
10.1.11.10..32800   224.200.200.250..1234 udp          512616 22896
10.1.11.10..32801   224.200.200.251..1234 udp          364532 28590

(eth2)  100217 kb/total 4057 pkts/sec   5250733 bytes/sec    Page  1/1

As it can be seen, the streamer currently multicasts 20 streams into the network (18 TV channels and 2 radio stations).

References

  1. Satellite directory, http://www.lyngsat.com/
  2. linuxtv project website, http://www.linuxtv.org/
  3. Specification for the universal LNB IDLP-40TCIRCL,
    http://www.doebis.de/sites/lnbs/lnbs_datenpdfs/inverto_idlp_40_tcircl.pdf

Discuss this article on the forum...

 

Phone: +7 (495) 543-9220 (ext 0), email: info@netup.tv