...

вторник, 2 июля 2013 г.

Astra: где стоит применять?

Добрый день.

Все, кто связаны с IPTV наверняка слышали о таких программах как Astra (getstream), tsplay, VLC, созданных для вещания в сеть с различных источников. Они являются альтернативными решениями таких аппаратных платформ как Harmonic, PBI и других.


Давайте посмотрим, как себя проявляет Astra.


А судить будет мой любимый Bridgetech VB220.

image


Из файла в Multicast




tsplay



Быстрее и проще всего запустить некий ролик с помощью tsplay, это делается одной простой командой:

tsplay filename.ts 239.255.10.156:1234 -loop


Программа вовсе не ест ресурсов системы и показывает хорошие данные на анализаторе:

image

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


VLC



Запустить из консоли вещание через VLC чуть тяжелее, чем с помощью tsplay, но до сих пор укладываемся в одну строку:

сvlc -v /content/filename.ts --sout '#standard{access=udp{ttl=15},mux=ts{tsid=22,pid-video=23,pid-audio=24,pid-pmt=25,use-key-frames},dst=[239.255.10.156:1234]}' --loop


На моей машине процесс ест 1-3% процессора (как будто еще и декодирует) и показывает такие данные на анализаторе:

image

Как мы видим из графика, jitter-скачет, но в пределах нормы, потери TS-пакетов отсутствует как и у tsplay, но более длительный перерыв между концом и началом ролика.


Astra

Для запуска Astra придется создать небольшой конфигурационный файл на lua:



#!/usr/bin/astra

require("base")

make_stream({
name = "Stream 1",
file = {
filename = "/content/filename.ts",
}
}, {
{
name = "Movie",
analyze = false,
output = {
"udp://239.255.10.156:1234",
}
},
})




А затем запустить:

astra movie.lua

Или сразу:

./movie.lua

Нагрузку на систему я не замечаю, смотрю на анализатор:

image

Практически идеальный jitter, однако появляются потери TS-пакетов даже посреди ролика.


Вывод



Со стороны абонента разницы между VLC, tsplay, Astra не заметно.

На анализаторе приятнее смотреть на tsplay.

Нравятся lua-конфиги Astra.

Удобно автоматизировать на bash'e tsplay.

VLC из коробки поддерживает плейлисты и random-вещание из списка, что можно сделать на bash с помощью tsplay или на lua для Astra.

Мой выбор для вещания из файлов: tsplay.


Из unicast/multicast (MPTS) в Multicast (SPTS)


Со спутникового приемника Harmonic ProView 29xx отправляем MPTS-поток по IP на Harmonic ProStream 1000 и сервер с Astra.

Задача: получить две мультикаст-группы с SPTS-потоками.


Harmonic ProStream 1000



Конфигурация стримера осуществляется через веб-админку, которая не может похвастаться интуитивным и быстрым интерфейсом, но вполне пригодная. Этот момент опустим, я сторонник скриптов и конфиг-файлов.

В результате мы получаем два идеальный TS-потока, что неудивительно для оборудования с высоким ценником:

image

image


Astra



Как я сказал выше, мне нравятся конфиги Астры. Все выглядит красиво и понятно:

#!/usr/bin/astra

require("base")

make_stream({
name = "ProView IRD",
demux = true,
udp = {
addr = "10.10.10.10", port = 2008
}
}, {
{
name = "Hustler TV",
analyze = false,
pnr = 9,
output = {
"udp://233.120.65.222:1234",
}
},
{
name = "Blue Hustler",
analyze = false,
pnr = 10,
output = {
"udp://233.120.65.223:1234",
}
},

})


Астра тоже радует нас хорошими графиками на анализаторе:

image

image


Да, результаты не идеальные, но зафиксировано всего 3 небольших сбоя за 90 минут, что в реальный клиент никогда не заметит.


Вывод



Astra имеет все, что необходимо для работы как IP-стример (резервирование, фильтрация, изменение PID дорожек).

Если у вас нет профессионального сертифицированного оборудования, средств или произошел выход из строя основного стримера, то Astra будет спасением для вас.

VLC не рассматривается в данном тесте из-за сложности настройки, низкого качества генерируемых потоков и высокого потребления CPU.


Multicast (SPTS) в Multicast (SPTS)


Astra и Harmonic ProStream показывают отменные потоки.

К сожалению, Astra не умеет генерировать потоки c постоянным битрейтом (CBR), что бывает полезно в некоторых случаях.


DVB-S/S2 в Multicast




Мне очень интересно сравнить работы Astra с такими приемниками-комбайнам как Harmonic ProView 7000 или PBI DHC-4000P, но, к сожалению, у меня нет DVB-S2 PCI-E платы.

О HTTP




Наш анализатор не поддерживает HTTP-протокол, поэтому проанализировать работу Astra или VLC в этом направлении не получится. По ощущением они оба отлично справляются с этой задачей. Только кому нужно вещать в HTTP? Было бы здорово иметь возможность резервировать DVB/UDP источники HTTP-потоками из интернета, но это пока с этой задачей ни один софт(и железо) не позволяет справится без костылей. Поправьте меня, если я не прав.

Общий вывод




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

Расскажите о своем опыте с Astra и другими софт-решениями для DVB/IPTV.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html


Комментариев нет:

Отправить комментарий