В данной статье приведу методику поднятия сервака для вещания в сеть IPTV.
Использованное оборудование: мамка Gigabyte GA-H61M, проц Intel-i5, память DDR-3 4Gb, винт 250 Gb, блок питания 550W. Сетевая карта Intel 1000 Mbit/s. Помимо этого стандартного оборудования в компьютере установлено 3 штуки DVB-S2 карты(модель TBS-6984), которые приобретались здесь http://www.buydvb.net/tbs-6984-pcie-dvbs2-quad-tuner-tv-card_p33.html
1. Установка на сервер Debian.
Заходим на FTP, распространяющий дистрибутивы Linux и качаем образ диска с установкой, например debian-6.0.5-amd64-netinst.iso можно скачать здесь: http://www.debian.org/distrib/
Берём флешку и с помощью программы UNetBootin записываем на неё скачанный образ.
Включаем в биосе загрузку с нашего флеш-диска и перезагружаем. Как правило, установка не вызывает никаких трудностей: необходимо будет указать язык, страну, переключение раскладки, ip-адрес, создание пароля для рута и тд. Единственное! При выборе дополнительного ПО надо поставить галку «SSH сервер» — это позволит нам работать удалённо с сервером(с помощью PuTTY).
2. Установка дополнительных пакетов.
apt-get install mc openssl gettext libssl-dev screen monit dvb-apps htop iftop ifstat vlan build-essential mercurial libncurses-dev libevent-dev libglib2.0-dev unzip linux-headers-`uname -r` gpm command-not-found
3. Установка драйверов для TBS-6984.
apt-get update apt-get install linux-headers-`uname -r` build-essential linux-kernel-devel mkdir /mnt/usb/tbs cd /mnt/usb/tbs wget http://www.tbsdtv.com/download/document/common/tbs-linux-drivers_v120617.zip unzip tbs-linux-drivers_v120617.zip tar xjf linux-tbs-drivers.tar.bz2 nano linux-tbs-drivers/linux/drivers/media/dvb/dvb-core/dmxdev.h #define DVR_BUFFER_SIZE (10*188*1024*16) cp dvb-fe-cx24116.fw /lib/firmware/ cd linux-tbs-drivers ./v4l/tbs-x86_64.sh make make install
После чего перезагружаемся (команда reboot). Если всё установлено правильно, то в директории /dev/dvb лицезреем наши адаптеры(один адаптер на один вход):
Какому адаптеру назначен какой вход определяется опытным путём при подключении кабеля от спутниковой тарелки(но это делается немного позже — после того, как установлена программа GetStream или с помощью femon). Например у меня адаптеры назначились таким образом:
4. Установка GetStream_a84
Почитать о программе можно здесь: https://bitbucket.org/cesbo/getstream_a84/wiki/Home . В настоящий момент автор прекратил работу по поддержке этого программного обеспечения и сейчас работает над более продвинутой программой Astra: https://bitbucket.org/cesbo/astra/wiki/Home
Скачиваем в /usr/src/…
Так качать с репы:
hg clone https://bitbucket.org/cesbo/getstream_a84
Команды для установки:
### hg clone https://cesbo.com/hg/getstream_a84 ### tar xf getstream_a84-default.tar ### tar zxf default.tar.gz ### cd getstream_a84-default ./configure make cp getstream /usr/local/bin
Если конфигурационные файлы уже имеются, то можно и запустить программу GetStream:
/usr/local/bin/getstream -c /usr/src/getstream/configfile123 -d
Запуск в фоне:
screen -d -m -S 11727 /usr/local/bin/getstream -c /usr/src/getstream/11727 -d
А потом чтоб подлючиться к консоли гетстрима
screen -r 11727
Для каждого адаптера необходимо запускать свой экземпляр программы со своим конфиг.файлом. Можно также эти строки прописать в /etc/rc.local, чтобы автоматом запускалось при загрузке компа:
# Satelites screen -d -m -S 12518 /usr/local/bin/getstream -c /usr/src/conf.0.12518 -d sleep 1 screen -d -m -S 12548 /usr/local/bin/getstream -c /usr/src/conf.1.12548 -d sleep 1 screen -d -m -S 12579 /usr/local/bin/getstream -c /usr/src/conf.2.12579 -d sleep 1 screen -d -m -S 12610 /usr/local/bin/getstream -c /usr/src/conf.3.12610 -d sleep 1 screen -d -m -S 12640 /usr/local/bin/getstream -c /usr/src/conf.4.12640 -d sleep 1 screen -d -m -S 12670 /usr/local/bin/getstream -c /usr/src/conf.5.12670 -d
Пример конфигурационного файла для adapter0, настроенного на частоту 12518 МГц (спутник ABS-1 75E):
pidfile "/var/run/conf.0.12518.pid"; adapter 0 { packet-buffer 140; budget-mode 0; stat-interval 120; dvb-s { lnb-sharing 0; // 0-питание конвертера выключено, 1-включено lnb { lof1 9750000; lof2 10600000; slof 11700000; }; transponder { frequency 12518000; polarisation V; symbol-rate 22000000; }; }; stream {name "Peretz"; input {pnr 504;}; output-udp { remote-address 239.0.100.1; remote-port 1234; local-address 192.168.1.21; ttl 1; }; }; };
Данный конфиг направляет мультикаст канала «Перец» на сетевую карту eth1, имеющую ip: 192.168.1.21. Теперь, если эта сетевая подключена к коммутатору, то можно на другом компе словить этот мультикаст с помощью проигрывателя VLC. Для этого выполняем «Открыть URL» и вводим сетевой адрес мультикаста: udp://@239.0.100.1:1234
Установка драйверов S2-LIPLYANIN :
Для начала обновим систему:
root@iptv# apt-get update && apt-get dist-upgrade
Установим недостающие пакеты:
root@iptv# build-essential linux-headers-generic mercurial subversion libncurses-dev libpng12-dev
Качаем v4l-dvb дрова s2-liplianin
root@iptv# cd /usr/src
root@iptv# hg clone http://mercurial.intuxication.org/hg/s2-liplianin/
root@iptv# cd s2-liplianin
root@iptv# make menuconfig
P.S если есть какие то ошибки, попробуйте снять галочку с Multimedia support> DVB/ATSC adapters> FireDTV and FloppyDTV
root@iptv# make && make install
root@iptv# reboot
Ещё один способ установки драйверов:
git clone git://linuxtv.org/media_build.git
cd media_build
./build
make install
Я вас добавил, и отправил авторизацию!