- взять видео с камер по rtsp - с этим всё ок. Обработать. Тут тоже ок. Opencv мощная штука. Сгладили, шум убрали, фон к такой-то матери вырезали, ну и тд. На выходе - Mat. И теперь начинается самое интересное. Этот мат надо показать юзверю. Было опробовано - gstreamer, gstream-rtsp-server, ffmpeg, libvlc, nginx-rtmp, crtmpserver. На этом наши полномочия это самое, Всё. Gstreamer, ffmpeg - неплохие инструменты, но сервер для потокового вещания не построить, только пайплайн, у которого на выходе правда можно куда-то пихать по rtmp/tcp/udp. Если пихать в nginx-rtmp - оно работает. Но! 10с задержка при равномерном воспроизведении или фризы при 2х секундном запаздывании, как ни крути параметры. crtmpserver - во первых по ходу сдох, во вторых так и не завёл его. VLC - неплохо, работает, видно, что работает - потребление 64гб оперативки/час. gstreamer-rtsp-server - работает, в отличие от VLC память не жрёт. Но! Внедрить в пайплайн свои данные я так и не смог.
По этому прошу помощи знатоков, кто сталкивался с потоковым вещанием - либо приемлемый рестример, либо какие ещё либы потрогать на предмет построения сервера потокового вещания?
скажем так - все пишут своё. И да это оффтоп для этого чата.
хм... а что из этого использует обс?
если тебе надо рестримить в web у тебя особо нет выбора. hls/dash по умолчанию будет иметь задержку на длинну чанка + оверхеaд. А это минимум 5 секунд. Чтобы доставлять что то в более или менее реалтайме тебе придется rtmp делать,.... Но.. тут встает вопрос а чем же и как на стороне клиента его играть. В текущем мире кроме как http доставкой кусков медии в браущзем смысла нет заниматься. Поэтому - mp4 segmented контейнер + h264 -> странспорт http чтоб юзеру в браузер отдать и поиграть его с помощю MSE
Обсуждают сегодня