РУС|ENG

Техническая документация Статьи Информационные проспекты





Настройка вещания спутниковых каналов
в локальную сеть (IPTV)

Основным источником телевизионных каналов в цифровом качестве на сегодняшний день является прием со спутников по технологии DVB-S. Данный способ выделяется относительной простотой запуска и разнообразием мультимедийного контента на спутниках [1]. В данной статье рассмотрена настройка приема спутниковых каналов при помощи NetUP DVB-IP стримера на базе ОС Linux.

Сканирование диапазона и поиск доступных каналов

Для сканирования диапазона и получения всех доступных каналов необходимо использовать утлиту dvbscan из пакета dvb-apps [2]. Входной формат файла:

S 12320000 V 27500000 3/4

где во второй колонке указана частота несущей транспондера. Третья колонка указывает на поляризацию: V-вертикальная, H-горизонтальная. Четвертая колонка указывает символьную скорость.

Для того что бы просканировать весь диапазон необходимо подготовить файл, в котором будут указаны все частоты с шагом в 1 МГц. Для этого создадим файл gen_scan.pl (perl-скрипт) следующего содержания:

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

В этом скрипте значения 12100 и 12490 обозначают границы диапазона в мегагерцах. Запуск скрипта осуществляется командой:

perl gen_scan.pl > scan.in

В результате будет создан файл scan.ini следующего содержания:

...
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
...

Этот файл будет использован как входной для утилиты dvbscan. Эту утилиту необходимо запустить командой:

dvbscan scan.in > scan.out

в результате работы этой утилиты будет создан файл scan.out с указанием найденных каналов. Пример содержимого файла:

...
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
...

как видно каналы могут повторяться. Для очистки лишних записей воспользуемся скриптом 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}");
};

Запуск необходимо произвести командой:

cat scan.out  | perl parse_scan.pl

В результате на экран будут выведены все найденные каналы с указанием частот и PID'ов. Полученные значения можно использовать для создания секции с каналами в конфигурационном файле NetUP DVB-IP cтримера.

Конфигурирование NetUP DVB-IP стримера

Конфигурационный файл /netup/streamer/etc/streamdec.conf содержит следующие основные параметры:

# номер DVB-S адаптера в системе. 0 - первый адаптер
adapter=0 

# частота несущей транспондера, на которую будет производиться настройка тюнера
freq=12245

# символьная скорость
sr=27500

# поляризация. 0 - вертикальная (18V), 1 - горизонтальная (13V)
pol=1

# настройка параметров конвертера (LNB)
lnb_low_val=9750000
lnb_high_val=10600000
lnb_switch_val=11700000

# настройки каналов. Каждая строка обозначает один канал
# формат строки:
# apid:vpid:channel:multicast_ip:multicast_port:ca_ip:ca_port:ca_login:ca_password
# где:
# apid - PID аудио потока
# vpid - PID видео потока
# channel - идентификатор ТВ канала
# multicast_ip - широковещательный IP-адрес, на который будет осуществляться вещание
# multicast_port - UDP порт, на который будет осуществляться вещание
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

По умолчанию указаны настройки для универсального типа конвертера. В случае если у вас другие параметры конвертера необходимо произвести соответствующие изменения в конфигурационном файле. В случае если указаны несоответсвующие вашему типу значения возможен пропорциональный сдвиг частот. В этом случае необходимо вводить корректные значения либо произвести сканирование всего диапазона как описано выше для определения абсолютных значений частот.

Для примера возьмем универсальный конвертер IDLP-40TCIRCL (фото 1).

универсальный конвертер IDLP-40TCIRCL
Фото 1. Универсальный конвертер IDLP-40TCIRCL

Спецификация на данный конвертер доступна по адресу:
http://www.doebis.de/sites/lnbs/lnbs_datenpdfs/inverto_idlp_40_tcircl.pdf [3].

В спецификации на данный конвертер указаны следующие параметры:

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

Данные значения необходимо использовать при модифицировании парметров lnb_* конфигурационного файла NetUP DVB-IP стримера.

Проконтролировать наличие потоков можно, выполнив на стримере команду:

trafshow -ni eth0 port 1234

Вывод будет содержать таблицу текущих широковещательных потоков, с указанием битрейта и переданных байт:

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

Как видно из этой распечатки, стример постоянно передает в сеть 20 потоков (18 телевизионных каналов и 2 радио станции).

Ссылки на внешние источники

  1. Каталог спутников http://www.lyngsat.com/
  2. Сайт проекта linuxtv в интернете http://www.linuxtv.org/
  3. Спецификация на универсальный конвертер IDLP-40TCIRCL http://www.doebis.de/sites/lnbs/lnbs_datenpdfs/inverto_idlp_40_tcircl.pdf


Обсудить эту статью на форуме


Все права защищены (c) 2001-2008 NetUP (www.netup.tv)
Перепечатка материалов разрешается только с предварительного разрешения
компании NetUP (info@netup.tv)


 

Тел: +7 (495) 543-9220 (многоканальный), E-mail: info@netup.tv