Строим полноценный IPTV/OTT сервис: Stalker Middleware
В этой статье я расскажу как установить бесплатную IPTV/OTT Middleware с открытым исходным кодом от компании Инфомир, зачем она нужна и какие возможности предоставляет пользователям и администраторам.
Статья будет полезна небольшим операторам и даже пользователям. Можно «поднять» у себя дома Stalker и использовать его для просмотра* бесплатных IPTV и интернет каналов на приставке. Самому организовать EPG и запись телеканалов.
*Stalker Middleware не содержит никаких ссылок на сервисы или телеканалы,
не открывает доступ к какому-либо контенту, а лишь предоставляет удобный
интерфейс для администраторов сервиса и конечных пользователей.
▍Что такое Middleware?
Я полностью согласен с этим определением. Построить IPTV/OTT сервис без Middleware невозможно. Разработчиков на рынке много, у каждой Middleware свои особенности: список поддерживаемых устройств, список поддерживаемых CAS-систем, пользовательский интерфейс, список поддерживаемых видеосерверов, разные API для биллинга, стоимость и поддержка.
Выбрав одно решение, оператор привязывается к Middleware и не может быстро и дешево поменять решение, потому что это потребует смены программного обеспечения на ТВ-приставках (или их замена, если список поддерживаемых устройств не совпадает). Так же потребуется заново провести интеграцию с биллингом, системой закрытия контента. Это время и деньги, и чем больше абонентская база, тем сложнее.
▍Почему Stalker?
В первую очередь Stalker интересен тем, что он бесплатный. Правда бесплатный, без пробных периодов и ограничения функционала. Исходный код можно скачать на GitHub.
Это очень важное преимущества Stalker перед решениями других производителей. Я работаю много лет в сфере IPTV и не знаю других бесплатных решений. Я спрашивал у коллег и даже разработчиков Инфомира, они тоже не знаю. Напишите в комментариях, если знаете другие бесплатные решения.
Не каждый оператор готов вкладывать деньги в покупку Middleware, потому что сразу не понятно зачем она вообще нужна. Вот спутниковые приемники принимают телеканалы, CAS-система защищает контент, приставки показывают видео, биллинг деньги считает. А что делает Middleware? Список каналов и погоду показывает?
Конечно же нет, но этого уже достаточно чтобы заинтересоваться бесплатным решением и установить Stalker на тестовый сервер чтобы познакомится поближе.
▍Установка
![]() |
Чтобы установить Stalker придется установить более 200 пакетов в вашу ОС. Рекомендую выделить отдельную виртуальную машину или установить в docker-контейнер, иначе могут возникнут конфликты с другими веб-сервисами. |
Образ VirtualBox
Запуск образа VirtualBox дело не сложное, но опишу кратко как это делается:
- Установить VirtualBox. Сайт: www.virtualbox.org
- Скачать и распаковать zip-архив с образом. Актуальная ссылка на странице: http://wiki.infomir.eu/doku.php/stalker:start
- Запускаем VirtualBox, меню «Машина», нажимаем «Добавить» (Ctrl+A) и выбираем файл VmVirtualBox_Ubuntu14.04.4.x64_MW.Stalker.Demo
- Запускаем виртуальную машину, авторизуемся (test/test), смотрим IP-адрес машины и открываем в браузере административный интерфейс.
- В админ интерфейсе «Хранилища» изменить IP-адрес хранилища на IP интерфейса виртуальной машины
▍Docker контейнер
Давайте установим Stalker в Docker контейнер. Это быстро и удобно. Если вы не знаете что такое Docker и никогда с ним не работали, почитайте статью habrahabr.ru/post/310460. Она даст полное представление о работе контейнеров. Но сейчас эти знания не понадобятся.
Разработчики настоятельно рекомендуют использовать Ubuntu Server LTS, при этом 16.04 не поддерживают пока, а 12.04 уже мало кем используется. Docker позволит запустить Stalker на вашем любимом дистрибутиве.
Для продолжения, нам потребуется сам Docker и Docker-compose. Пример установки для большинства дистрибутивов:
Создадим рабочую папку, в которой будет у нас жить Stalker и скачаем docker-compose файл:
Запускаем утилиту, которая скачает последнюю версию Stalker и заполнит нам базу данных:
Ждем, пока скрипт выполнится. У меня это занимает около 4-х минут (что ж там за это время происходит?). Готово, админ панель Сталкера доступна по адресу:
Заходим по стандартному логину/паролю: admin/1.
Еще раз все вместе, чтобы показать как все просто, буквально 3 команды:
Ролик «Установка Stalker Middleware за 2 минуты»:
▍Установка без виртуализации и контейнеров
Можно установить и по старинке, просто установить необходимые пакеты и отредактировать несколько файлов вручную. Этот способ самый долгий и трудоемкий, но отлично подойдет, если вы собираетесь запустить сервер в Production.
Если у вас уже есть сервер с nginx+apache2+php5, то вам повезло, возможно Stalker запустится и без установки дополнительных пакетов. Но, насколько я знаю, nginx+apache2 уже редко используются вместе, nginx+php-fpm куда удобнее.
Инструкция от разработчика: wiki.infomir.eu/doku.php/stalker:install_and_configure
▍Настройка
После установки, первым делом хочется открыть портал на ТВ-приставке, чтобы убедится, что установка прошла успешно и оценить интерфейс со стороны пользователя. Но пока рано, там будет совсем скучно, давайте пока добавим немного контента.
По умолчанию, админ интерфейс на английском языке. Переключиться на русский вы можете внизу страницы:
▍Добавление телеканала
Разворачиваем меню «IPTV Каналы», открываем страницу «Каналы». В списке уже будет предустановленный телеканал «Test channel», удалите его и давайте добавим свой канал (кнопка «Add a channel»).
Заполняем основные поля: «Номер канала», «Название канала», загрузим логотип, поставим галочку «Базовый канал».
Нажимаем на кнопку «Добавить ссылку», появляется всплывающее окно с формой добавления URL канала и дополнительными опциями. Как мы видим из подсказки, в эту строку нужно ввести «solution+URL». Solution — это подсказка для плеера приставки, какую библиотеку использовать для воспроизведения. В большинстве случаем достаточно указать «auto» (например, «auto udp://239.255.1.1:5500»). Для HLS рекомендуемый Инфомиром solution — ffmpeg.
Так как у меня видеосервер Flussonic, я сразу включаю поддержку временных ссылок. Они нужны, чтобы защитить контент от несанкционированного просмотра.
В результате должно получится:
Пропустим пока настройку программы передач (EPG) и ТВ-архива (DVR). Сохраняем.
▍Добавление фильма
Меню «Видеоклуб» → «Список фильмов».
Процесс добавления фильмов не сильно отличается, но есть приятный бонус: автозаполнение. Достаточно написать название фильма/сериала на оригинальном языке и Stalker сможет получить метаданные из базы данных TMDB или Кинопоиск.
Вручную заполнять список актеров, логотип, режиссера, год выпуска, жанр и прочую информацию, без которой каталог фильмов на приставке будет выглядеть неполноценным, очень трудоемко, когда нужно добавлять много фильмов. Спасибо, Инфомир.
Есть возможность добавлять сериалы, с правильной сортировкой серий. Вам не понадобится заводить каждую серию как отдельный фильм и писать в названии номер сезона и серии.
Для каждого фильма или серии можно добавить несколько ссылок для просмотра в разном качестве, это может быть удобно, если у вас уже есть исходники в разных качествах и вы не используете мультибитрейтный HLS.
▍Программа передач (EPG)
Без программы передач строить сервис нельзя, людям уже давно не интересно просто щелкать каналы. EPG нужна не только для того, чтобы пользователь мог посмотреть как называется текущая передача и что будет сегодня вечером, а еще для организации видеоархива! Позволяя пользователям смотреть передачи, которые уже прошли (т.н. Catch UP).
Stalker умеет импортировать EPG из формата XMLTV.
XMLTV — популярный формат описания программы передач основанный на XML, поддерживается всеми поставщиками EPG. Содержит подробное описание: название, время начала, время окончания, жанр, описание, картинку, список актеров, возрастной рейтинг и прочую информацию.
Для продолжения настройки, нам надо добыть поставщика EPG. Они бывают платные, бывают бесплатные. Отличаются количеством телеканалов, количеством информации (например, картинки для каждой передачи и список актеров есть далеко не у всех). Рекламировать никакие сервисы не буду, найдите в Google программу передач в формате XMLTV и продолжим.
Открываем меню «IPTV каналы» → «EPG». Кнопка «Добавить EPG».
Нам потребуется вставить ссылку на веб-сервер, где лежит xml файл. Из собственного опыта добавлю, что поставщики чаще всего выкладывают на закрытый паролем ftp-сервер, и в добавок еще архивируют, поэтому в Stalker вставляем ссылку на localhost, а в crontab добавляем скрипт, который будет скачивать и распаковывать XMLTV в нужную папку.
После добавления ссылки, нажмите «обновить». Если все сделали правильно, получится:
Теперь переходим в настройки телеканала. Меню «IPTV каналы» → «Каналы», нажимаем редактировать наш телеканал. Нас интересует раздел «EPG», указываем ID нашего телеканала и, при необходимости, корректируем время под наш часовой пояс.
Открываем текстовым редактором XMLTV файл и смотрим. В данном примере: «Первый канал» — 1, «Россия 1» — 2, «ТВЦ» — 3.
Для каждого телеканала придется вручную указывать ID. Способа автоматизировать это я пока не знаю.
▍Внешний вид
Инфомир уже давно разрабатывает новый современный интерфейс, но он пока выключен по умолчанию. Я не заметил в нем явных багов, работает очень даже неплохо, именно его скриншот в начале статьи.
Чтобы активировать его, переходим в меню «Настройки» → «Внешний вид». На этой странице можем ознакомится со всеми доступными темами.
Нажимаем «Применить» под темой «Stalker 5x — graphite».
▍Запускаем портал на приставке
Надеюсь, у вас есть под рукой приставка MAG? С помощью пульта ДУ или USB-клавиатуры, переходим в настройки приставки → «Серверы» → «Порталы» и указываем URL сервера, куда вы установили Stalker.
URL для клиентов: http://ip/stalker_portal/c/
Сохраняем, перезагружаем приставку и попадаем в нашу Middleware. Никакие логины и пароли не потребуются, по умолчанию авторизация не требуется.
Пошаговая инструкция по созданию сервера IPTV своими руками и проблемы
Наверняка, многие провайдеры скоростного интернета, да и рядовые пользователи с предпринимательской жилкой, задумывались о создании собственного сервера IPTV. Для первых это прекрасный способ заработать, а для вторых – обеспечить бесплатным качественным телевидением всех друзей и знакомых (ну, или не совсем бесплатным). На первый взгляд, это весьма сложное и затратное дело, но сделать IPTV-сервер дома своими руками проще, чем кажется.
Как сделать IPTV-сервер своими руками
Сервер IPTV — это комплекс устройств, которые в совокупности будут принимать сигналы, собирать их вместе и вещать в локальную сеть общим потоком.
Что для этого нужно:
- ПК под управлением Виндовса или Линукса. Не обязательно новый, достаточно «железа» с качественными средними показателями: частотой процессора 2.6Ггц, 512Мб оперативной памяти и хотя бы одной сетевой платой.
- Ресивер, с возможностью захвата и ретрансляции сигнала со спутника.
- И последний элемент — конвертер в комплекте с принимающей тарелкой. Достаточно стандартной тарелки в 55 см диаметром.
Когда все настроено и установлено, дело за цифровым моментом:
- Скачиваем SkyCast Распаковываем архив и кликаем skycast.ini.
- Прописываем настройки ресивера: MACSS2= 8 цифр мак-адреса, CARDTYPE= тип карты, SS3NUM – номер SS3 в системе по порядку.
- Прописываем настройки мультикаста: адрес, порт и IP. Поток направляем в действующую локалку, чтобы избежать перегрузок сети. При помощи ENABLED=1 запускаем все.
Теперь нужно подкорректировать «начинку» программы:
- Во вкладке параметров спутникового конвертера вписать: LOF 1: 9750 мГц (9750000 кГц), Switch: 11700 мГц (11700000 кГц), LOF 2: 10600 мГц (10600000 кГц).
- Далее идет настройка трансподера: частота транспондера: 12640 мГц (12640000 кГц); поляризация: вертикальная (V); скорость потока: 22000 кб/c.
- Нажать «Tune», и в разделе «Current», появятся два столбца с уровнем сигнала.
- Сохранить настройки, поставив галочку в поле «Multicas», и нажать «Save».
- В общих настройках выбираем имя файла, сохраняем его в Tuner/LNB/Net.
- Выставляем фильтр, чтобы убрать с потока битые, зашифрованные и промо-каналы.
- Осталось нажать «Scan» и проанализировать результат. Отобразятся доступные для трансляции каналы.
Возможные проблемы
Большие сложности ждут на этапе настройки. Человеку, который никогда не имел дело с подобным оборудованием, будет сложно разобраться с многочисленными терминами и нюансами их регулировки внутри системы вещания. Лучше заручиться поддержкой специалиста.
Также может подвести некачественное оборудование. Поэтому нужно выбирать его внимательно.
Icecast — ретрансляция IPTV
Доброго времени суток, уважаемые читатели. Сегодня тема статьи: «Icecast — ретрансляция IPTV». Это следующая статья о сервере потокового вещания Icecast, и она о том, как настроить ретрансляцию IPTV в локальной сети.
Официальный сайт проекта: https://icecast.org/
Настройка ретрансляции IPTV в Icecast, аналогична настройке ретрансляции интернет-радио, которую мы рассматривали в предыдущей статье.
Будем исходить из того, что Ваша конфигурация настроена по предыдущим статьям, и нечего дополнительно устанавливать не нужно.
Настройка ретрансляции IPTV в Icecast, делается в два шага:
- Поиск видеопотока IPTV.
- Добавление настроенной должным образом секции <relay>, в конфигурационный файл /etc/icecast.xml.
Как найти видеопоток IPTV для ретрансляции в Icecast
Найти поток IPTV для ретрансляции, можно с помощью любого поисковика:
- Открываем браузер.
- Вводим запрос: «Бесплатные IPTV плейлисты». (или что-нибудь похожее)
Откроется большое количество ссылок на сайты, предоставляющие бесплатные плейлисты IPTV.
- Скачиваем плейлист, и открываем его любым текстовым редактором.
Содержимое плейлиста выглядит примерно таким образом:
- В плейлисте большое количество ссылок на видеопотоки, но для Icecast подойдут не все.
- Нам нужны ссылки заканчивающиеся, либо портом, либо названием потока.
- Ссылки заканчивающиеся на m3u8, нам не подойдут.
- Ссылку на работоспособность, можно проверить прямо в браузере. Если появится окно плейера, или начнётся безостановочная загрузка, значит поток работает.
- После того, как видеопоток обнаружен, можно перейти к поготовке секции <relay>. Для этого копируем ссылку на поток, в любой текстовый файл, и редактируем её под имеющуюся ссылку.
- Делаем всё так же, как мы делали это в предыдущей статье с радио-потоками.
- На картинке показан пример настройки <relay>, под имеющуюся ссылку на видеопоток.
- Подготовленную секцию <relay>, нужно добавить в конфигурационный файл /etc/icecast.xml.
- После добавления релея, перезапускаем Icecast, и проверяем его статус.
Ретрансляция IPTV на Icecast
- Если всё сделано правильно, то в списке точек монтирования на нашем сервере, появится дополнительная точка монтирования. В моём случае это «vch-1».
- Открываем любой из плейеров, поддерживающих потовое вещание, и вводим адрес нашего потока ретрансляции.
- Запускаем воспроизведение.
В моём случае это будет так:
- Если всё сделано правильно, то Вы увидите видео ретранслируемого канала.
- При использовании нескольких ретранслируемых видеопотоков, для удобства, можно создать плейлист, аналогично тому, что мы создавали в предыдущей статье о ретрансляции интернет-радио.
- При использовании плейлиста, не нужно будет в ручную вводить адреса нужных потоков. Достаточно открыть плейлист лист, с помощью любого плейера потокового вещания, и смена потока будет происходить одним кликом.
Сегодня мы рассмотрели тему: «Icecast — ретрансляция IPTV». Произвели поиск видео потоков, настроили ретрансляцию, создали плейлист, и проверили как всё это работает. Смотрите так же видео по теме.
Как настроить комп для просмотра IPTV через локальную сеть, на телевизорах с поддержкой LAN, UPnP и DLNA
Приветствую всех любителей моей поделки и всех пикабушников в целом.
Давненько я не писал статьи о приложении.
На днях упал сервак снабжающий приложение ссылками на каналы, плейлисты перестали формироваться да и открываться тоже перестали.
Сейчас все собрано на новом сервере. Приложение работает, но находится в режиме тестирования на стабильность. Единственное не работает это кнопка «All Playlist» но это тоже в скором времени починю.
Прошу потестить и отписаться все ли нормально.
Для тех кто не зном с приложением. Кратко расскажу.
Приложуха представляет из себя клиент для формирования и воспроизведения плейлистов нужных тематик. Скажем: Кино, каналы на Русском языке или другом языке и так далее.
Всего в базе более 7000 каналов со всего мира.
Работает под Android. Может быть установлена как на телефон так и на телик с android на борту.
Проект не коммерческий. Делаю для себя и для вас. Все бесплатно и без рекламы.
Буду рад позитивному отзывы на маркете. Ну и свои пожелания и комментарии не забывайте. Эо помогает в развитии.
WorldTV Client — Обновление 1.5
Мой проект, которым я делал для себя и хочу поделиться с вами.
WorldTV — каталог тв каналов со всего мира. Всего более 4000 каналов. Для удобства все каналы сформированы в группы: Языки, Регионы, Страны, Категории.
Программа под Android, Android TV
К сожалею Google Play не позволяет распространять тв каналы непосредственно в самой программа, поэтому программа генерирует и открывает выбранные группы каналов в одном из трех плееров: VLC, MPV, BS
Я не про программист или дизайнер. Это мое хобби. Так что прошу сильно шапками не закидывать)))
Буду рад если вы протестируете его и напишите свое мнение, ну и если оно вам «зайдет» буду просто счастлив.
WorldTV Client — Обновление 1.4 (Адаптация под TV Box)
UPD Есть мнение, что внутри зловред #comment_235598267
Сотни тв каналов со всего мира в одном каталоге.
— Изменен интерфейс. Постарался сделать максимально удобным для управления пультом.
К сожаденю чувство прекрасного, как вы уже заметили мне чуждо. Если среди читателей есть дизайнеры, буду рад предложениям и вариантам по оформлению.
— Добавил кнопку «открыть последний плейлист». Программа запоминает последний выбранный плейлист.
Для новых пользователей:
WTС — это тысячи тв каналов со всего мира сгруппированных на категориям.
Прошу поддержать приложение и рассказать о нем друзьям. Кнопка: «Tell about the application». Это лучшая мотивация для продолжения работы.
Hundreds of TV channels from all over the world in one catalog.
— Changed the interface. I tried to make it as convenient as possible to control the remote.
The sense of beauty, as you have already noticed, is alien to me. If there are designers among the readers, I will be glad to suggestions and design options.
— Added the «open last playlist» button. The program remembers the last selected playlist.
— WTC is thousands of tv channels from all over the world grouped into categories
Please support the application and tell your friends about it. Button: «Tell about the application». This is the best motivation to continue working.
Link to Yandex. Disk: https://disk .yandex.ru/d/AlwHuO9i_ZVIdA
WorldTV Client — обновление 1.3
Доступно обновление: 1.3
— Добавлена кнопка «play all» позволяющая открыть плейлист со всеми доступными каналами, примерно 5000 каналов
— Добавлен раздел XXX
— Добавлена кнопка рассказать друзьям.
Прошу поддержать проект и рассказать о нем кликнув по этой кнопке. Это очень важно.
— Поправлены алгоритмы работы
Для новых пользователей:
— WorldTV Client каталог плейлистов ТВ каналов со всего мира сгруппированных на категориям. Страны, Языки, Категории, Регионы.
Актуальная версия 1.3:
An update is available: 1.3
— Added a «play all» button that allows you to open a playlist with all available channels of approximately 5000 channels
— Added XXX section
— Added a tell friends button.
Please support the project and tell us about it by clicking on this button. It is very important.
— Fixed algorithms of operation
— — World TV Client catalog of playlists of TV channels from around the world grouped into categories. Countries, Languages, Categories, Regions.
Current version 1.3:
Free World TV — Тысячи тв каналов со всего мира. Обновление
Друзья доступно обновление моего приложения.
— Улучшена стабильность каналов.
Для новых пользователей:
Приложение Free World TV содержит каталог тв каналов со всего мира разделенных по нескольким категориям: Страны, языки, жанры
Вы можете скачать или базовую версию с Google Play: https://play.google.com/store/apps/details?id=io.kodular.mai. (Устарела, но обновлять не тороплюсь, дабы не получить бан по порой неожиданным причинам)
Либо актуальную версию с одного из дисков:
Внимание. Кто не в курсе, программа не имеет встроенного плеера. Требуется наличие на устройстве установленного плеера (VLC,Mpv,BSPlayer)
Обновление WorldTV Client 1.1
Для новых пользователей:
— WorldTV Client каталог плейлистов ТВ каналов со всего мира сгруппированных на категориям. Страны, Языки, Категории, Регионы.
Исправил выявленные баги и внес несколько изменений в интерфейс.
— Немного переделал интерфейс:
— Добавил возможность выбора одного из нескольких плееров (VLC, BSPlayer, Mvp-android)
— Добавил уведомления о выходе новых версий с возможностью перейти на страницу Пикабу
— Добавил уведомления об отсутствии на устройстве выбранного плеера и возможность перейти на страницу Google Play для его установки.
Обновления программ буду выкладывать здесь, в маркете будет доступна только базовая версия. Нужно, что бы избежать блокировки в маркете.
Актуальная версия 1.1:
— WorldTV Client catalog of playlists of TV channels from around the world grouped into categories. Countries, Languages, Categories, Regions.
Fixed identified bugs and made several changes to the interface.
— Changed interface a bit:
— Added the ability to select one of several players (VLC, BSPlayer, Mvp-android)
— Added notifications about the release of new versions with the ability to go to the Peekaboo page
— Added notifications about the absence of the selected player on the device and the ability to go to the Google Play page to install it.
Program updates will be posted here, only the basic version will be available in the market. It is necessary to avoid blocking in the market.