Multicast вещание видеофайлов с помощью tsplay

в 13:34, , рубрики: iptv, multicast, vlc, метки: , ,

Добрый день.

Возникла необходимость вещать видеофайлы в сеть (трейлеры фильмов). Первая мысль, которая возникла у меня в голове (и у вас тоже, наверное?) — это VLC. Установил VLC, настроил, запустил и результат: все работает. Через полчаса замечаю, что иногда подсыпается изображение. Грешу на дисковую подсистему. Через час понимаю, что некоторые тяжелые файлы очень сильно сыпятся, а некоторые идут идеально. Открываю анализатор TS-потоков и вижу (IAT сильно подскакивает при переключении на другой трейлер):

image

Транспортный поток неидеален, вероятно VLC виноват? Ищу другое ПО для вещания и нахожу tsplay.
Под катом небольшая инструкция по запуску вещания списка файлов через tsplay.
Сразу же показываю результаты анализатора при вещании с помощью tsplay:

image

Программа tsplay входит в комплект программ под названием tstools.

Исходники: code.google.com/p/tstools/downloads/list
Официальный сайт: tstools.berlios.de/

Пользователям Debian/Ubuntu повезло, установить можно из репозиториев.
Остальным придется скачать исходники, распаковать и выполнить make. Надеюсь описывать этот процесс не нужно?

Чтобы запустить вещание выполняем:

tsplay filename.ts 1.2.3.4:5500

Зацикливаем:

tsplay filename.ts 1.2.3.4:5500 -loop

И читаем только первые 1000 TS пакетов:

tsplay filename.ts 1.2.3.4:5500 -loop -m 1000

Написал простенький цикл, который по очереди вещает все .ts файлы из текущей директории:

while true; do for i in `ls | grep .ts`; do tsplay $i 239.255.10.156:1234; done; done;

Закинул в screen и забыл, работает стабильно уже неделями.

Ресурсы компьютера совсем не ест. Надеюсь, кому-нибудь пригодится. Посмотрите другие программы из набора tstools. Удачи.

Автор: klu4ik

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js