Jump to content
Cesbo Community
Diablosss

Astra IPTV с нуля или помогите чайнику

Recommended Posts

Привестсвую всех форумчан. 

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

пару дней убил на чтенине некоторых веток. толи плохо искал толи с таким уровнем знаний как у меня тут никого нет :D  ибо обсуждаются везде уже проблеммы а не построение.

хотелось  бы узнать : 

1. Купил оборудование. Как настроить астру ? обьясните пожалуйста  на примере нтв+36 градусов. планируется раскодировать каналы при помоши  кардшаринг сервер и вешать по IPTV . возможно ли так ? 

2. сколько пользователей могут подключидся к IPTV серверу ? от чего это зависит ? 

 

буду очень благодарен каждой  детальной информации. ссылкам и т.п.

заранее благодарю.

Share this post


Link to post
Share on other sites

Здравствуйте,

 

1. Установка и настройка очень простая.

1.1. скачать исполняемый файл с https://cesbo.com/solutions/streaming/

1.2. установить права на исполнение: chmod +x astra

1.3. скопировать в /usr/bin/astra ( для примера, можно где угодно держать )

1.4. Создать каталог /etc/astra для конфигов

1.5. На каждый адаптер рекомендуется создавать по отдельному процессу (т.е. разные конфиги), но можно и всё в одном прописать. В конфиге прописываются параметры подключения к newcamd-серверу, параметры dvb-адптеров и параметры принимаемых каналов, примеры можно тут посмотреть : https://cesbo.com/solutions/streaming/examples/ . У каждого канала есть собственный номер (pnr параметр, указывается в свойствах источника канала), список всех каналов доступных на спутнике можно посмотреть на http://lyngsat.com

1.6. запуск: /usr/bin/astra /etc/astra/file-name.conf

 

это кратко, если будут какие-то вопросы, пишите :-)

 

2. зависит от протокола и канала для передачи данных,

если http - на каждого пользователя отправляется свой поток (даже если два пользователя смотрят один канал битрейтом 2Мб, в канале они займут 4Мб)

если udp мультикаст - все каналы вещаются постоянно, количество пользователей значения не имеет, применимо только для локальных сетей

Share this post


Link to post
Share on other sites

 

если udp мультикаст - все каналы вещаются постоянно, количество пользователей значения не имеет, применимо только для локальных сетей

тоесть по интернету не раздать ?

Share this post


Link to post
Share on other sites

тогда выходит чтобы раздать по http 100 абонентам надо иметь исходяший канал как минимум 200 мб ??? 

битрейт канала умножить на кол-во юзеров.

SD канал ~ 4Mbit * 100 = 400Mbit

 

PS в IPv6 вроде есть технология раздачи мультикаста одним потоком через инет, который клонируется на роутерах по дороге. хз

Share this post


Link to post
Share on other sites

Раздача по интернету,это уже не IPTV в полной мере а OTT.Что бы раздавать через интернет на кучу народа,надо транскодировать в H.264 и вешать такими протоколами как  HLS,HDS  ну в крайнем случае RTMP,RTSP. То есть модель такая сервер приема DVB-S с Astra на борту,сервера транскодорования(ffmpeg,vlc),стример,сервер по мидлеваре(например сталкер,он бесплатен).Как то так,если коротко.

Share this post


Link to post
Share on other sites

Раздача по интернету,это уже не IPTV в полной мере а OTT.Что бы раздавать через интернет на кучу народа,надо транскодировать в H.264 и вешать такими протоколами как  HLS,HDS  ну в крайнем случае RTMP,RTSP. То есть модель такая сервер приема DVB-S с Astra на борту,сервера транскодорования(ffmpeg,vlc),стример,сервер по мидлеваре(например сталкер,он бесплатен).Как то так,если коротко.

Хотел уточнить, вот на мультикасте можно раздаток нарисовать хоть миллион, а вот этот HLS/HDS/RTMP - его можно клонировать/проксировать?

В смысле на один поток ставить несколько раздающих серверов? CDN какой-то или как это называется?

Share this post


Link to post
Share on other sites

да, можно назвать CDN - географическое распределение узлов раздающих контент.

точки приёма и транскодирования каналов с них готовые потоки идут на узлы раздающие контент конечным клиентам.

центральный сервер (к которому подключаются клиенты), он только плэйлисты формирует, в плэйлистах прописано с какого узла забирать потоки.

Share this post


Link to post
Share on other sites

Можно подключения клиентов распределять редиректами по раздающим серверам в зависимости от их загрузки или местоположения клиента в подсетях. Регламент организации потоков от источников к узлам реализовывать на самих узлах.

Share this post


Link to post
Share on other sites

вот эти потоки на узлы идут круглосуточно или по факту наличия зрителя?

Какой софт сие делает?

Те что идут по запростно ondemand,где можно настроить например время жизни потока после отключения последнего клиента.
Есть достаточно много софта для таких целей,сами CDN их предоставляют или же на своих серверах строить географически разбитую сеть с редиректами на базе flussonic например. Есть у flussonic и свой CDN www.pointcdn.com,nginx-rtmp-module народ тоже пользует.

Share this post


Link to post
Share on other sites

Не только HLS умеет забирать потоки для проксирования только когда есть зрители на него.

Моя софтина и вроде астра последних версий умеет забирать один поток по хттп и раздавать куче клиентов и отключатся когда клиентов нет.

Share this post


Link to post
Share on other sites

Здравствуйте. Я ещё начинающий. Второй день мучаюсь. не могу запустит астру.  Ошибка Panic unprotected error in call to Lua Api ([main] /etc/astra/a0.lua:4: attempt to all global 'make_stream' (a nil value))

конфиг

#!/usr/bin/astrapidfile("/var/run/astra9.pid")make_stream(  {     name = "12597",     dvb = {         adapter = 0,         type = "S",      lnb = "9750:10600:11700",      tp = "12597:V:27500"   }},{   {      name = "Pervyi_EUR",      pnr = 8208,         output = {             "udp://239.255.1.90:1234", { localaddr = "172.16.254.1" },    }},{   name = "EuroNews",   pnr = 8211,   filter = {2221,2237},      output = {          "udp://239.255.1.91:1234", { localaddr = "172.16.254.1" },        }     },  })

Share this post


Link to post
Share on other sites
cam_1e = newcamd({

    name = "CAM 2.2e",

    host = "127.0.0.1", port = xxx,

    user = "xxx", pass = "xxx",

    key = "0102030405060708091011121314",

    disable_emm = true,

    timeout = 10

})

 

dvb1 = dvb_tune({

        type = "S",

        tp = "12303:L:27500",

        lnb = "10750:10750:10750",

        adapter = 1,

})

 

 

make_channel({ name = "STS"; input = { "dvb://dvb1#pnr=31050&cam=cam_1e" },  output = { "udp://239.71.91.8:1234" } ,})

Share this post


Link to post
Share on other sites

Спасибо!!! Астра запустилась. Но есть ошибки Сейчас напишу лог.

Error: [core/socket 6]getaddrinfo() failed 's1.1cent.in' [Temporary failure in name resolution]

Error: [core/socket 6]failed to join multicast "239.71.91.8"

Error:[core/socket 12]getaddrinfo() failed 's1.1cent.in' [Temporary failure in name resolution]

 

Все данные шаровода написаны правильны

Share this post


Link to post
Share on other sites

В eth0 у меня стоит роутер к которому подключен 3g модем. Ip адрес eth0 192.168.0.101 . Возможно ли направить udp поток через этот ip адрес?

Share this post


Link to post
Share on other sites

Спасибо!!! Астра запустилась. Но есть ошибки Сейчас напишу лог.

Error: [core/socket 6]getaddrinfo() failed 's1.1cent.in' [Temporary failure in name resolution]

Error: [core/socket 6]failed to join multicast "239.71.91.8"

Error:[core/socket 12]getaddrinfo() failed 's1.1cent.in' [Temporary failure in name resolution]

 

Все данные шаровода написаны правильны

не обращайте внимание на подобные ошибки. главное смотрите на результат - исходящие потоки. у меня тоже подобную хрень пишет, при этом потоки работают нормально!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×