alibek Posted October 21, 2015 Подскажите, можно ли тут что-нибудь изобрести? Есть 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 И возникла у меня мысль поставить где-нибудь на стыке подсетей сервер, который будет перехватывать все подключения по RTSP, забирать потоки с камер в единственном экземпляре и размножать их подписчикам. Уже есть готовое решение. Забирает ртсп, отдаёт мультикаст. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 21, 2015 Нет, мне нужно забрать RTSP и отдать RTSP. Причем так, чтобы те кому RTSP отдается, этого не поняли (чтобы они думали, что получили RTSP с камеры). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted October 21, 2015 nginx? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 21, 2015 А он это умеет? Есть, например, две разные системы видеонаблюдения. В каждой прописана одна и та же IP-камера. Каждая система подключается к камере и забирает с нее видеопоток. Мне нужен софт, который будет такие запросы перехватывать и исключать дублирование, для чего он должен перехватывать PLAY, вести учет подписчиков, получать от камеры видеопотоки и ретранслировать их всем подписчикам. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DDR Posted October 21, 2015 А он это умеет? Есть, например, две разные системы видеонаблюдения. В каждой прописана одна и та же 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 Вроде бы патчи перечислены тут: 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 А что не подходит? вроде бы, как раз то что вы просите: " 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 Видимо невнимательно читал, не заметил этого. Тогда возможно подойдет, поизучаю, спасибо. Правда не похоже, что это прозрачный прокси. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...