Jump to content
Калькуляторы

вещание кучи файлов в multicast

Внедрили небольшую сеть iptv в гостиничке. Хозяин хочет инфо-калал пустить.

Посоветуйте, чем лучше кучу файлов по кругу в мультикаст гнать?

Главное требование - стабильность, ибо гостиничка уже очень далеко...

Share this post


Link to post
Share on other sites

искал я варианты, но кроме vlc нечего путевого так и не нашел

Share this post


Link to post
Share on other sites

vlc оно конечно хорошо, но уж больно не предсказуемо. Советую один раз выплюнуть через vlc в сеть, на другом PC подхватить tcpdump-ом, вырезать оттуда весь мусор(ваершарком, например), затем вещать через tcpreplay

Share this post


Link to post
Share on other sites

Интересно, а возможно ли записанный stream поток вещать через tcpreplay? Т.е. взять видеофайл. развернуть его в формат TS а потом этот файл и передавать?

Share this post


Link to post
Share on other sites

blackcatw

А udp, ip и ethernet-хедеры кто будет приклеивать? Но самое важно, что tcpreplay понятия не имеет с какой скоростью надо вещать, т.е. если вы даже и сможете как-то приклеить служебку, то выплёвывание на файла на скорости интерфейса ни к чему хорошему не приведёт

Share this post


Link to post
Share on other sites

на сайте VLC есть утилита Multicat. По описанию предназначена как-раз для проигрывания и вещания потока с файла в сеть, либо берёт поток и записывает его в файл. Единственно, что там из исходников нужно собирать. Компилировать.

Share this post


Link to post
Share on other sites

Прочитал, попробовал.

 

Есть у разработчиков VLC замечательная консольная программка multicat.

Написано что может мультикастовый поток записывать в файл, а так-же файл/директорию вещать в сеть мультикастом.

Скачал bitstream-1.0.tar.bz2 и multicat-2.0.tar.bz2

Развернул, скомпилировал. Всё вроде прошло нормально.

Пытаюсь файл с фильмом (MP4) запустить из командной строки на вещание в сеть

 

b@a:~$ multicat -p 68 /in/mediafile.mp4 238.1.1.1:1234

error: input not found, exiting

 

b@a:~$ multicat -p 68 ./in/mediafile.mp4 238.1.1.1:1234

error: couldn't open file ./in/mediafile.aux (No such file or directory)

Даёт ошибки. Что ещё нужно? Почему не хочет ничего вещать?

Share this post


Link to post
Share on other sites

Внедрили небольшую сеть iptv в гостиничке. Хозяин хочет инфо-калал пустить.

Посоветуйте, чем лучше кучу файлов по кругу в мультикаст гнать?

Главное требование - стабильность, ибо гостиничка уже очень далеко...

поставь девайс A/V to UDP плюс двд с фильмом и покругу

у икуси есть BNS-200 ,там 2 входа -соответственно 2 потока iptv

Share this post


Link to post
Share on other sites

Мне кажется, что 2500 зелёных друзей, дороговато для удовлетворения данных потребностей гостиницы.

 

Лучше поработать мозгами и разобраться с multicat от VLC.

Edited by blackcatw

Share this post


Link to post
Share on other sites

Мне кажется, что 2500 зелёных друзей, дороговато для удовлетворения данных потребностей гостиницы.

Согшласен! Там хозяин за копейку удушится)))

 

Лучше поработать мозгами и разобраться с multicat от VLC.

Так она же честно пишет, в первом случае не видит входа, во втором файла.

Share this post


Link to post
Share on other sites

Лучше поработать мозгами и разобраться с multicat от VLC.

Так она же честно пишет, в первом случае не видит входа, во втором файла.

 

Есть вот ещё описание на английском там в картинках показано, что должно быть два файла filename.ts+filename.aux я так понимаю если хочется запустить filename.mp4 (avi и т.д.), то нужно его из контейнера разобрать на filename.ts и сформировать (либо ещё как-то) filename.aux и подсовывать

b@a:~$ multicat -p 68 ./pach/filename.ts 238.1.1.1:1234

и multicat сам подхватывает из каталога filename.aux и всё это дело вещает в сеть.

Я пока не понял, как нужно готовить эту связку. Если разберёшся, то пиши. Информация нужная и интересная.

Share this post


Link to post
Share on other sites

1. "на коленке" с VLC

2. N-VoD, например$250-500 канал, ролики должны быть в одном профиле, чтоб не было "разрывов"

3. Полноценная титровалка - расписание, врезки, наложения объектов на проходящее видео(бегущие строки, анимация и пр.) от $3500 ФорвардТС/IP

 

Всё можно "пощупать".

Share this post


Link to post
Share on other sites

Сам VLC не выход из ситуации, так-как "жрёт" память и процессорное время. Да ещё и "зависает". А человеку нужно чтобы усё работало и не требовало большого внимания.

Edited by blackcatw

Share this post


Link to post
Share on other sites

Нашёл программу которая может из файла контейнера (например mp4 или avi) извлекать ts транспортный поток.

есть в комплекте программ multicat утилита ingests она должна создавать файл aux к файлу ts. Но пока выдаёт ошибку.

 

b@a:~$ ingests -p 4 ./in/NukiGummyBear.ts

debug: end of file reached

error: no PCR found

 

в параметрах указано

 

b@a:~$ ingests

Usage: ingests -p <PCR PID> [-m <payload size>] <input ts>

 

какой аргумент нужно указывать -p <PCR PID> ? Может у кого-то есть какие-то предположения?

Share this post


Link to post
Share on other sites

А может вот это поможет?

http://www.streamlabs.ru/products/software/tele_ip/index.php

 

Нам не нужны пути обогащения других, нам нужны пути познания и интеллектуального развития.

 

Кроме предложенного вами решения в интернете КУЧА подобных решений.

Здесь же ищется решение малобюджетное.

Share this post


Link to post
Share on other sites

Здесь же ищется решение малобюджетное.

 

А решение с tcpreplay чем вас не устроило?

Share this post


Link to post
Share on other sites

Здесь же ищется решение малобюджетное.

 

А решение с tcpreplay чем вас не устроило?

 

Слишком не гибко. Есть ещё у буржуев разные программные разработки, но в основном под винду... У наших есть, но стоит кучу бабла. Мне всё-же кажется нужно в сторону multicat смотреть. И просто понять как должен формироваться aux файл.

Share this post


Link to post
Share on other sites

Последнее нарытое в интернете сайт

Открытая система Open Caster

Исходники

Мануал

 

По заверению разработчиков - эта открытая система для отелей, небольших систем и прочих студий. Преобразование транспортного потока в разные наравления. Из ts в DVB-ASI или файл ts в сеть UDP MULTICAST. Функции мультиплексирования и преобразования. Возможны многие другие простые сценарии, как: ASI к IP или IP на ASI конвертер, или на IP

DVB-T/-C/-S модулятор, IP на IP-мультиплексор, DVB-T/-C/-S для IP IRD и так далее...

 

Дерзайте желающие.... Будем делиться опытом...

Share this post


Link to post
Share on other sites

выдержка из history. я давно очень делал и у меня получилось.

cd /usr/src/multicat-2.0/
nano README
./ingests -p 68 /home/user/upload/ts_bug.ts
./multicat -p 68 /home/user/upload/ts_bug.ts 239.255.0.2:5510

 

примерно следующее: в ts_bug - pcr pid = 68 (обычно видео дорожка)

ingest генерирует aux файл

и далее multicat запускает стрим... у меня точно работало.

 

я предполагаю для папки нужно сгенерить aux'ы для всех файлов и потом скормить мультикату всю папку. почитайте ридми, я все от туда вычитал.

Edited by nast2003

Share this post


Link to post
Share on other sites

выдержка из history. я давно очень делал и у меня получилось.

cd /usr/src/multicat-2.0/
nano README
./ingests -p 68 /home/user/upload/ts_bug.ts
./multicat -p 68 /home/user/upload/ts_bug.ts 239.255.0.2:5510

 

примерно следующее: в ts_bug - pcr pid = 68 (обычно видео дорожка)

ingest генерирует aux файл

и далее multicat запускает стрим... у меня точно работало.

 

я предполагаю для папки нужно сгенерить aux'ы для всех файлов и потом скормить мультикату всю папку. почитайте ридми, я все от туда вычитал.

 

Вот сейчас как-раз и не понятно.... Как aux'ы сгенерировать.

 

b@a:~$ ingests -p 4 ./in/NukiGummyBear.ts

debug: end of file reached

error: no PCR found

 

Ругается.... Может нужно ts файл не сжатый пускать?

Share this post


Link to post
Share on other sites

вы точно уверены что pcr под 4 пидом? я что-то сомневаюсь..

натравите на файл анализатор мпег, он скажет под каким пидом pcr

 

что значит не сжатый? h264? тогда multicat'у пофиг, если контейнер ts

Share this post


Link to post
Share on other sites

Записал вещание с мультикаста. Пробую создать aux файл.

 

b@a:~$ ingests -p 68 ./in/00002.ts

debug: end of file reached

error: no PCR found

 

Создался нулевой файл 00002.aux пытаюсь запустить multicat

 

b@a:~$ multicat -p 68 ./in/00002.ts 238.1.1.1:1234

warning: premature end of aux file reached

 

Понимаю, что как-то не так сформировался файл aux может как-то по другому его можно сформировать? Или какие-то параметры внутри "ручками" написать? А может это просто должен быть файл с аудидорожкой и можно как-то по другому его сформировать и подсунуть?

Edited by blackcatw

Share this post


Link to post
Share on other sites
debug: end of file reached

error: no PCR found

 

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

 

для чего он нужен, посмотрите в http://ru.wikipedia.org/wiki/MPEG-TS#PCR

Edited by nast2003

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
Sign in to follow this