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

Насильное transparent-проксирование RTSP

Подскажите, можно ли тут что-нибудь изобрести?

Есть IP-камеры, с которых потоки забираются по RTSP. Суммарный битрейт потоков, скажем, 600 Мбит/с.

Эти видеопотоки забирает самодельный IPTV-стример — это 600M.

Также с этими камерами работает система видеонаблюдения — это еще 600M, суммарно 1.2G.

Ожидается, что с какой-то частью камер будет работать еще одна система — это где-то 200-300M, суммарно полтора гигабита.

Не исключено, что работать с камерами потребуется еще какой-нибудь системе — еще 600M, суммарно более 2G.

 

Получается, что я занимаю в транспортной сети 2G там, где могло бы хватить 600M (данные ведь одни и те же).

И если количество камер и суммарный битрейт увеличится, то на 100M суммарного битрейта я займу 300M на транспорт.

Жалко как-то. Не говоря уж о том, что у камер есть ограничения по числу одновременных подключений и на каких-то моделях это число невелико (3 или 4 одновременных подключения).

 

Решить эту проблему настройками пока не получается — я думал забирать потоки для IPTV-стримера не с камер напрямую, а с системы видеонаблюдения, однако разработчики системы видеонаблюдения пока подобную возможность не сделали и в обозримом будущем не сделают. И даже если сделают, с другими системами это придется решать заново.

 

И возникла у меня мысль поставить где-нибудь на стыке подсетей сервер, который будет перехватывать все подключения по RTSP, забирать потоки с камер в единственном экземпляре и размножать их подписчикам. Эдакий "мультикаст" с самодельным снупингом.

 

Насколько подобное реально? И если реально, то насколько трудоемка подобная задача (т.е. сколько может стоить написание подобного софта)?

Share this post


Link to post
Share on other sites

И возникла у меня мысль поставить где-нибудь на стыке подсетей сервер, который будет перехватывать все подключения по RTSP, забирать потоки с камер в единственном экземпляре и размножать их подписчикам.

Уже есть готовое решение. Забирает ртсп, отдаёт мультикаст.

Share this post


Link to post
Share on other sites

Нет, мне нужно забрать RTSP и отдать RTSP.

Причем так, чтобы те кому RTSP отдается, этого не поняли (чтобы они думали, что получили RTSP с камеры).

Share this post


Link to post
Share on other sites

А он это умеет?

Есть, например, две разные системы видеонаблюдения. В каждой прописана одна и та же IP-камера. Каждая система подключается к камере и забирает с нее видеопоток.

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

Share this post


Link to post
Share on other sites

А он это умеет?

Есть, например, две разные системы видеонаблюдения. В каждой прописана одна и та же IP-камера

nginx не подойдет.

 

Посмотри live555 Proxy Server

с фиксами github.com/hackeron/live555

Share this post


Link to post
Share on other sites

Вроде бы патчи перечислены тут: https://github.com/hackeron/live555/blob/master/modifications.patch

Я не сказать чтобы хорошо знал C++, но насколько могу судить, патчи не меняют поведение live555, они увеличивают буферы и добавляют опцию port reuse.

А мне чистый прокси-сервер не нужен. Для меня главная цель — поток с камер получать только один раз.

Share this post


Link to post
Share on other sites

А что не подходит? вроде бы, как раз то что вы просите:

 

" it reads each 'back-end' stream only once, regardless of how many separate clients are streaming from the proxy server. This makes the proxy server ideal, for example, for streaming from a RTSP-enabled video camera (which might not be able to handle more than one connection at a time)."

Share this post


Link to post
Share on other sites

Видимо невнимательно читал, не заметил этого.

Тогда возможно подойдет, поизучаю, спасибо.

Правда не похоже, что это прозрачный прокси.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.