alibek Posted October 21, 2015 · Report post Подскажите, можно ли тут что-нибудь изобрести? Есть IP-камеры, с которых потоки забираются по RTSP. Суммарный битрейт потоков, скажем, 600 Мбит/с. Эти видеопотоки забирает самодельный IPTV-стример — это 600M. Также с этими камерами работает система видеонаблюдения — это еще 600M, суммарно 1.2G. Ожидается, что с какой-то частью камер будет работать еще одна система — это где-то 200-300M, суммарно полтора гигабита. Не исключено, что работать с камерами потребуется еще какой-нибудь системе — еще 600M, суммарно более 2G. Получается, что я занимаю в транспортной сети 2G там, где могло бы хватить 600M (данные ведь одни и те же). И если количество камер и суммарный битрейт увеличится, то на 100M суммарного битрейта я займу 300M на транспорт. Жалко как-то. Не говоря уж о том, что у камер есть ограничения по числу одновременных подключений и на каких-то моделях это число невелико (3 или 4 одновременных подключения). Решить эту проблему настройками пока не получается — я думал забирать потоки для IPTV-стримера не с камер напрямую, а с системы видеонаблюдения, однако разработчики системы видеонаблюдения пока подобную возможность не сделали и в обозримом будущем не сделают. И даже если сделают, с другими системами это придется решать заново. И возникла у меня мысль поставить где-нибудь на стыке подсетей сервер, который будет перехватывать все подключения по RTSP, забирать потоки с камер в единственном экземпляре и размножать их подписчикам. Эдакий "мультикаст" с самодельным снупингом. Насколько подобное реально? И если реально, то насколько трудоемка подобная задача (т.е. сколько может стоить написание подобного софта)? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted October 21, 2015 · Report post И возникла у меня мысль поставить где-нибудь на стыке подсетей сервер, который будет перехватывать все подключения по RTSP, забирать потоки с камер в единственном экземпляре и размножать их подписчикам. Уже есть готовое решение. Забирает ртсп, отдаёт мультикаст. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 21, 2015 · Report post Нет, мне нужно забрать RTSP и отдать RTSP. Причем так, чтобы те кому RTSP отдается, этого не поняли (чтобы они думали, что получили RTSP с камеры). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted October 21, 2015 · Report post nginx? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 21, 2015 · Report post А он это умеет? Есть, например, две разные системы видеонаблюдения. В каждой прописана одна и та же IP-камера. Каждая система подключается к камере и забирает с нее видеопоток. Мне нужен софт, который будет такие запросы перехватывать и исключать дублирование, для чего он должен перехватывать PLAY, вести учет подписчиков, получать от камеры видеопотоки и ретранслировать их всем подписчикам. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DDR Posted October 21, 2015 · Report post А он это умеет? Есть, например, две разные системы видеонаблюдения. В каждой прописана одна и та же IP-камера nginx не подойдет. Посмотри live555 Proxy Server с фиксами github.com/hackeron/live555 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 22, 2015 · Report post Вроде бы патчи перечислены тут: https://github.com/hackeron/live555/blob/master/modifications.patch Я не сказать чтобы хорошо знал C++, но насколько могу судить, патчи не меняют поведение live555, они увеличивают буферы и добавляют опцию port reuse. А мне чистый прокси-сервер не нужен. Для меня главная цель — поток с камер получать только один раз. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ollsanek Posted October 24, 2015 · Report post А что не подходит? вроде бы, как раз то что вы просите: " 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)." Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 24, 2015 · Report post Видимо невнимательно читал, не заметил этого. Тогда возможно подойдет, поизучаю, спасибо. Правда не похоже, что это прозрачный прокси. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...