Здравствуйте.
Встала задача отдать по HTTP MpegTS поток. Не DASH, не HLS.
Проблема с выбором HTTP сервера для этого.
Пробовал Nginx c MpegTS модулем от толкового автора
https://github.com/arut/nginx-ts-module
Поставил, настроил - вещание в TS на него с FFMPEG он принимает, а вот как открыть этот поток - неизвестно. Может это не входит в его функционал?
Кто в курсе, подскажите либо что я не так делаю с Nginx, либо альтернативное решение.
Заранее спасибо!P.S. конкретно что делаю -
/usr/local/nginx/conf/nginx.confworker_processes 1;
error_log logs/error.log crit;events {
worker_connections 1024;
}http {
server {
listen 8000;
location / {
root html;
}location /publish/ {
ts;
ts_hls path=/var/media/hls segment=10s;
ts_dash path=/var/media/dash segment=10s;
client_max_body_size 0;
}
}
}
Отдаю на него так:
ffmpeg -i udp://225.0.0.2:1234 -c:v copy -c:a copy -f mpegts http://localhost:8000/publish/123.ts
ffmpeg льет, ошибок нет. Как открыть?ffplay.exe -loglevel 40 -i "http://192.168.20.10:8000/publish/123.ts" молчит
> Здравствуйте.
> Встала задача отдать по HTTP MpegTS поток. Не DASH, не HLS.
> Проблема с выбором HTTP сервера для этого.Из бесплатных udpxy
Из платных astra или msd
>> Здравствуйте.
>> Встала задача отдать по HTTP MpegTS поток. Не DASH, не HLS.
>> Проблема с выбором HTTP сервера для этого.
> Из бесплатных udpxy
> Из платных astra или msdОк, спасибо, интересный вариант.
Хотя больше интересует просто HTTP Server, наподобие ffserver (который давно хотят переделать по-человечески)
> который давно хотят переделать по-человеческикоторый давно выпилили с корнями из гита
>>> Здравствуйте.
>>> Встала задача отдать по HTTP MpegTS поток. Не DASH, не HLS.
>>> Проблема с выбором HTTP сервера для этого.
>> Из бесплатных udpxy
>> Из платных astra или msd
> Ок, спасибо, интересный вариант.
> Хотя больше интересует просто HTTP Server, наподобие ffserver (который давно хотят переделать
> по-человечески)Если нужно больше контроля и гибкости, то указанные выше решения можно запроксировать через nginx, что является вполне годной практикой.
>> Здравствуйте.
>> Встала задача отдать по HTTP MpegTS поток. Не DASH, не HLS.
>> Проблема с выбором HTTP сервера для этого.
> Из бесплатных udpxy
> Из платных astra или msdАстра четвёртой версии бесплатна и с исходниками. С вещанием mpeg-ts она вполне справится.
>>> Здравствуйте.
>>> Встала задача отдать по HTTP MpegTS поток. Не DASH, не HLS.
>>> Проблема с выбором HTTP сервера для этого.
>> Из бесплатных udpxy
>> Из платных astra или msd
> Астра четвёртой версии бесплатна и с исходниками. С вещанием mpeg-ts она вполне
> справится.Спасибо. Попробую на досуге. Пока поднял nginx+udpxy. Думаю, с отдачей 30 потоков он справится.
Может допилят mkvserver_mk2
> Спасибо. Попробую на досуге. Пока поднял nginx+udpxy. Думаю, с отдачей 30 потоков
> он справится.
> Может допилят mkvserver_mk2Забраковали поток от nginx+udpxy. Теряется таблица PMT и ошибки в потоке. Поставил astra. Вроде как лучше, только с буферами "потанцевать" надо и с ограничениями на соединения сложнее
>[оверквотинг удален]
> ts_dash path=/var/media/dash segment=10s;
>
> client_max_body_size 0;
> }
> }
> }
> Отдаю на него так:
> ffmpeg -i udp://225.0.0.2:1234 -c:v copy -c:a copy -f mpegts http://localhost:8000/publish/123.ts
> ffmpeg льет, ошибок нет. Как открыть?
> ffplay.exe -loglevel 40 -i "http://192.168.20.10:8000/publish/123.ts" молчитДля реализации вашей задачи требуется совсем другое решение. Live555 вам поможет. Http сервер не "нарезает" блоками поток mpegts. Как я понял для приставой делаете.... Есть только одна проблема с Live555 - надо вставлять кое что для smartlab, поскольку в реализациях smartlab используются расширения протокола.
> Для реализации вашей задачи требуется совсем другое решение. Live555 вам поможет. Http
> сервер не "нарезает" блоками поток mpegts. Как я понял для приставой
> делаете.... Есть только одна проблема с Live555 - надо вставлять кое
> что для smartlab, поскольку в реализациях smartlab используются расширения протокола.Спасибо, поставил astrа. В режиме --relay. Все работает как надо. Вопрос закрыл.