Iptv server своими руками
Региональные представители:
IPTV стример своими руками на базе Linux и DVB карты TBS6985 DVB-S2 Quad Tuner PCIe Card
Наверное, сегодня, только самый маленький и ленивый провайдер не задумывался о создании дополнительных сервисов для своих абонентов, что позволило бы повысить привлекательность предоставляемых услуг провайдера.
Термин TriplePlay, что по версии Википедии означает — маркетинговый телекоммуникационный термин, описывающий модель, когда пользователям по одному кабелю широкополосного доступа предоставляется одновременно три сервиса — высокоскоростной доступ в Интернет, кабельное телевидение и телефонная связь, уже давно укрепился в умах маркетологов провайдеров телекоммуникационных услуг.
Если Вы Интернет провайдер, то уже, как минимум, одну услугу из трех своим абонентам Вы предложить смогли. Сейчас мы постараемся на один шаг приблизиться к пресловутому TriplePlay и попробуем создать вторую, а именно IPTV.
Когда провайдер задумывается о предоставлении услуги IPTV, перед ним становиться вопрос, а где же добыть этот самый iptv? На этот вопрос существует много ответов и каждый из них по-своему правильный, но наиболее часто выбор становиться за покупкой у поставщика IPTV услуг готового пакета, либо же строительство собственной головной станции IPTV. Первый вариант обладает существенным недостатком — он не дает пищи для ума и нас этот вариант не устраивает, да еще и придется платить деньги каждый месяц за транспорт до поставщика потока ну и конечно же за саму услугу. Поэтому мы будем идти по пути — все сделаем сами не хуже, а где-то даже лучше других, вместе с этим, займем свой мозг и время, да еще и сэкономим деньги.
Коротко о подходах доставки телевидения потребителю
Телевидение, как таковое, может быть доставлено до потребителя огромным количеством способов. Попробуем разобраться какие способы бывают:
- Кабельное аналоговое
- Кабельное цифровое
- Эфирное аналоговое
- Эфирное цифровое
- Спутниковое
- Эфирное по технологии MMDS
- IP телевидение
На самом деле этот список можно было бы продолжать еще довольно долго, но суть статьи не в этом.
Все представленные способы хороши, однако, мы сегодня говорим об IPTV и втором шаге на пути к провайдеру TriplePlay услуг, поэтому отбросим все и остановимся на последнем пункте, а именно, IP телевидение. Сам по себе термин IPTV не указывает нам, каким способом при помощи протокола IP телевидение достигнет потребителя, а таких способов тоже существует не мало. Наиболее популярные сегодня способы доставки ТВ до клиента это IPTV Multicast, IPTV Unicast, ну и наверное не для кого не секрет какую популярность сегодня набирает проект Torrent TV (torrent-tv.ru).
Откуда берется телевидение?
Теперь, когда известно о технологиях доставки ТВ абонентам, нужно решить еще одну задачу: где взять собственно сами ТВ каналы? На этот вопрос ответ довольно прост — там где они есть в достатке и в хорошем качестве и это место у нас с Вами над головой, а именно, на геостационарной орбите, там, где «пасутся» телекоммуникационные спутники.
Начнем строительство
Теперь, когда мы вкратце разобрались с технологиями, узнали о месте жительства ТВ каналов, можно приступить к строительству головной станции IPTV. Но сначала нам необходимо определиться, что для этого потребуется.
Во-вторых. Настроенные на нужные спутники антенны с необходимым количеством LNB(Low-Noise Block converter — дословно малошумный конвертор-моноблок).
В-третьих. Сервер с установленным Linux и имеющим на борту материнской платы достаточное количество свободных PCI-Express слотов, ну и поскольку речь идет об IPTV, то сетевая карта тоже пригодиться.
В-четвертых. Карта для приема спутникого телевидения, здесь выбор пал на четырехголовую карту TBS6985 DVB-S2 Quad Tuner PCIe Card, которую мы любезно можем Вам продать.ТЫЦ.
Приступим
Собрав все это в одну кучу и установив спутниковую карту в сервер начнем с установки драйвера спутниковой карты.
Драйвера для карточки лучше всего брать на официальном сайте производителя в разделе загрузок http://www.tbsdtv.com/download/ , ну а поскольку выбор пал на карту TBS6985, то и качать драйвера будем именно для нее http://www.tbsdtv.com/download/document/common/tbs-linux-drivers_v130506.zip .
1. Создадим директорию к примеру
2. Скопируем в созданную директорию содержимое скаченного архива с драйвером
3. Распакуем находящийся в архиве собственно драйвер
4. Передем в директори с распакованным драйвером
5. Далее необходимо определиться какое ядро linux у нас установленно
5.1. Если ядро третьей ветки но при этом система 32х битная, то необходимо выполнить следующую команду:
5.2. Если ядро версии 2.6.x 32 бита, то
5.3. Для любых 64битных ядер выполним:
6. Ну и теперь пришло врема выполнить сборку и установку самих драйверов
7. Если все прошло успешно, а в случае если в системе установлены все необходимые пакеты для компиляции модулей ядра (kerner headers и build tools), то иначе и быть не может, остается только перезагрузить наш сервер.
Для этого можно выполнить
8. После загрузки Linux проверим загрузились ли только что собранные драйвера:
На что в ответ в случае успеха получим
А в каталоге /dev/dvb должны появиться четыре устройства
На этом этап установки драйвера закончен, можно приступать к этапу добычи «небесного телевидения».
Установка и настройка программы стриминга.
Поскольку сами по себе драйвера ничего особо делать не умеют, а задача стоит получить со спутников телеканалы и транслировать их в сеть, то необходим некий инструмент для этих целей. К счастью, благодаря проекту Astra (http://cesbo.com) сделать это довольно не сложно.
Для начала скачаем последнюю версию Astra http://cesbo.com/forum/files/download/10-astra-source/ и распакуем во временную директорию.
Сама по себе установка очень простая, нужно выполнить последовательность команд:
Если все прошло успешно, то можно считать, что финиш недалеко.
Осталось только настроить Астру для приема спутниковых каналов и определиться со способом трансляции их в сеть.
Для настройки приема и трансляции в Astra используются скрипты написанные на языке Lua. Вдаваться в описание этого языка не будем, так как об этом языке немало известно Google.
Рассмотрим настройку приема каналов и трансляции их Multicast-ом на примере.
Создаем файл в директории /etc/astra/hb_12597.lua и сразу дадим ему права на испольнение
Рассмотрим пример подробнее. Данный скрипт содержит два блока, первый — это создание потока, в нем описываются параметры приема транспондера со спутника, в примере речь идет о спутнике HotBird и блок трансляции, здесь уже мы разбираем спутниковый поток на каналы и описываем способ их отправки в сеть.
Подробное описание настройки приема и вещания в сеть можно на русском языке найти официальном сайте разработчика http://cesbo.com/wiki/ru:astra:stream:configuring
Наиболее важным в данном примере является описание параметров спутникового приема, где:
adapter — устройство приема /dev/dvb/adapterX
type — выбор стандарта DVB
lnb — настройка параметров LNB конвертера
tp — описание параметров принимаемого транспондера (частота, поляризация, скорость)
Для транслируемых каналов определены следующие параметры:
name — имя канала
pnr — номер канала в спутниковом потоке
output — способ трансляции канала в нашем случае это UDP Multicast
localaddr — адрес локального интерфейса с которого будет осуществляться отправка потока.
Filter — фильтрация потоков в канале. Так как канал EuroNews транслируется с множеством языковых дорожек, а нам достаточно одной (русской), то в примере мы указали, что транслировать будем только две дорожки канала (видео и звук с русским переводом).
Если запустить этот скрипт и в настройках iptv плеера указать источник udp://@239.255.1.90:1234 , то на экране плеера непременно должен появиться первый российский канал.
Ic-line — продажа сетевого оборудования © 2009-2020
Источник
Создание IPTV на базе Astra. Доступно о доступном.
Astra — программное обеспечение с открытым исходным кодом (для Linux), модульной архитектурой и встроенным языком программирования на LUA для решения широкого спектра задач в области цифрового телевидения. Идеально подходит для операторов связи, гостиниц и курортов.
Официальный сайт — cesbo.com
Разработчик ПО — Андрей Дылдин (Екатеринбург)
Как известно, создание IPTV на основе профессиональных аппаратных решений является достаточно дорогостоящим удовольствием и для мелких кабельных операторов такие суммы не всегда подъёмны в качестве инвестиций и последующей окупаемости. Поэтому лучшим решением для них остаётся использование относительно недорогих тюнеров, встраиваемых в персональный компьютер — SkyStar, TBS, DVBSky и т.п., приобрести которые можно через интернет-магазин на aliexpress.com.
1. Собираем сервер. В качестве сервера можно использовать обычную персоналку. Главными критериями — при выборе железа для будущего сервера — являются такие условия:
— какие платы планируется использовать в качестве спутниковых приёмников
— сколько каналов планируется вещать в сеть.
Если у тюнера один вход (например SkyStar 2), то принять более одного транспондера не получится, отсюда максимальное количество каналов ограничено их количеством на данном транспондере — обычно не более 15 тв-каналов. Если плата с несколькими адаптерами, то соответственно принять и вещать можно будет уже каналы с нескольких транспондеров. Из опыта использования, среди кабельщиков популярны следующие модели спутниковых тюнеров: TBS6984, TBS6985, S952.
Если планируется вещать достаточно большое количество каналов не забываем о хорошей сетевой карте, например Intel 1Gb. В целом, для сервера (стримера IPTV на 60-70 каналов) можно рекомендовать следующее оборудование:
Материнская плата — Gigabyte GA-Z77
Процессор — LGA1155
Блок питания — не менее 700 ватт, выбираем понадёжнее — не экономим
Оперативная память — не менее 2 Gb
Жёсткий диск — флешка Transcend 8 Gb (но не китайская!)
2. Установка Linux.
— качаем образ netinstall дистрибутива: http://cdimage.debian.org/debian-cd/6.0.7/amd64/iso-cd/debian-6.0.7-amd64-netinst.iso
— разворачиваем скачанный образ на флешку не менее 512 Mb (любую, хоть китайскую) при помощи UltraISO или unetbootin (гуглим)
— загружаемся с данной флешки и проводим процесс установки ОС на флешку с которой будет работать наш сервер. Как правило, в процессе установки никаких сложностей не возникает. Единственное, что при выборе дополнительного ПО поставьте галки напротив: «Сервер SSH»(для возможности удалённого управления с помощью PuTTY) и «Стандартные программы…». После окончания установки вынимаем установочную и загружаем Linux.
Устанавливаем дополнительные пакеты, необходимые нам для работы:
3. Установка драйверов для плат. Как установить драйвера для конкретной карты ищем на официальном сайте производителя.
Пример для DVBSky s952. Для начала качаем Linux Firmware (см. на странице http://dvbsky.net/Support.html)
Внутри данного архива есть два файла: dvb-fe-ds300x.fw и dvb-fe-ds3103.fw. Копируем их в папку /lib/firmware.
Качаем непосредственно драйвера для ядра 2.6.x (именно такое ядро в установленной нами Debian):
Распаковываем и переименовываем папку для удобства:
Открываем любимый mc , заходим в папку: /usr/src/s2-liplianin/v4l/scripts/ и устанавливаем на все файлы права доступа 0777.
Устанавливаем липлянинские драйвера:
После установки драйверов, желательно перезагрузиться и посмотреть обнаружила ли ваша система адаптеры. В случае установки 5 плат, должно быть 10 адаптеров(по общему количеству входов):
4. Монтируем папки в оперативку. Так как наша операционка установлена на флешке, для снижения количества чтений-записей на неё, лучше смонтировать папки в оперативку:
5. Установка Astra. На начальном этапе, разработчик рекомендует настроить сетевой буфер. Для этого необходимо создать файл net.conf в каталоге /etc/sysctl.d со следующим содержимым:
Изменения вступят в силу после перезагрузки (можно выполнить позже).
Качаем и распаковываем последнюю версию Astra:
Заходим в каталог с распакованной астрой и запускаем configure.sh:
Компилируем и устанавливаем:
После установки можно выполнить команду astra, в результате которой увидим версию установленной в системе программы:
6. Конфиг-файл для Astra. Вещаем в сеть.
Создадим файл конфига a0.lua в директории /usr/src , который будет брать с транспондера 12015 МГц телеканал «Восьмой» (нтв+):
Каналов, естественно, может быть и больше (см.открытые каналы на этой странице). Достаточно размножить строку:
Устанавливаем права доступа на запуск файла a0.lua.
Теперь файл-конфига можно запустить и если к нулевому адаптеру действительно подключен выход конвектора на 36-ой градус, то по адресу в вашей сети «udp://@239.0.100.1:1234» лицезреем вещаемый телеканал (к примеру, с помощью проигрывателя VLC).
Для каждого адаптера создаётся свой файл-конфиг, как на скрине:
Источник