Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чем разделить видеопоток? [D7, WinXP]


Страницы:   1 2 3

ABolnykh ©   (2009-10-06 15:25:00) 

Здравствуйте, уважаемые Мастера!
Кто-нибудь может подсказать направление решения следующей задачи?

Имеется сетевая видеокамера со встроенным web-сервером.
Когда к видеокамере подключается клиент, она начинает транслировать на его IP свой видеопоток.
Когда к камере подключается второй клиент, она начинает транслировать свой видеопоток (тот же самый) и на его IP тоже.
Когда к камере подключается десятый клиент, суммарное количество идентичных видеопотоков становится равно десяти.
А если таких камер в сети - десятка полтора... Затык сети очевиден.

Стоит задача: разработать некоторый дивайс (компьютер с программой с неким компонентом), в котором между видеокамерой и этим компонентом существовал бы один видеопоток, а уже этот компонент рассылал бы этот видеопоток всем подключившимся клиентам.
Видеокамеры находятся в одной сети, клиенты - в другой.

Прочитав "Глубины Indy", я, по простоте душевной, в качестве искомого компонента выбрал TIdMappedPort, посчитав, что на каждое подключение он, по умолчанию, самостоятельно создаст отдельный поток (Thread), что и требуется.

Каково же было моё удивление, когда, написав пробный кусок программы и подключив через TIdMappedPort к камере трёх клиентов, а потом запросив лог видеокамеры, я обнаружил, что к камере подключены ТРИ клиента, а не один, как я ожидал. То есть, TIdMappedPort просто смаппировал обращённые к нему запросы к адресу камеры, а потоки же (Threads) если и создал для каждого подключения, то потоки обработки кода, а не видеопотоки. То есть, выбранный мною подход оказался неверным.

Полазав как следует по Интернету в поисках ответа на вопрос, как же всё-таки люди решают подобную проблему, ничего не нашёл. :-( А судя по тому, что "видеонаблюдательные" программы сейчас плодятся, как грибы, проблема должна иметь простое или несложное решение.

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

Пишу на Delphi 7, Indy 9.


DVM   (2009-10-08 11:17:00) [41]


> ABolnykh ©   (08.10.09 09:06) [6]


> К тому же, вряд ли Вам известны все подробности техзадания

Пока из того, что ты написал, все 1 в 1. Я просто специализируюсь на IP камерах и сетевом видео, поэтому могу предположить, что тебе может понадобится.


> В дальнейшем, на подобные предложения реагировать не буду,
>  уж не обессудьте.

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


ABolnykh   (2009-10-08 09:06:00) [42]


> У меня есть программа которая тебе требуется, но она платная.

Спасибо за предложение, но мне дано задание написать программу, а не купить готовую. :-) :-) :-)
К тому же, вряд ли Вам известны все подробности техзадания, так что, вполне вероятно, что это окажется и не совсем то, что мне требуется.

В дальнейшем, на подобные предложения реагировать не буду, уж не обессудьте.


DVM   (2009-10-07 16:37:00) [43]


> ABolnykh ©   (06.10.09 15:25)  

У меня есть программа которая тебе требуется, но она платная.

Из компонентов интди тебе скорее понадобятся TIdTCPClient (или TIdHTTPClient) и TidHTTPServer.


ABolnykh   (2009-10-07 13:20:00) [44]

Вот это и нужно было добавить. :-)
И хотя я сам уже почти вышел на эти компоненты, перелопатив кучу форумов, за подсказку СПАСИБО.

Нелёгкое это дело - ходить в гости...


CrytoGen   (2009-10-07 12:57:00) [45]

TIdIPMCastClient
TIdIPMCastServer
больше даже не знаю чего вам добавить.


ABolnykh   (2009-10-07 10:50:00) [46]

За слово "Multicast" спасибо. И хотя в "Глубинах Indy" оно упоминается всего пару раз, благодаря Интернету, я ознакомился с этой стороной жизни.

А ещё что-нибудь наводящее, "поближе к телу"?


CrytoGen   (2009-10-06 15:28:00) [47]

По видимому вы плохо прочитали "Глубины Indy".
А вообще для таких случаев обычно используют Mutlicast пакеты. В инди соответсвующие компоненты имеются.
Дерзайте


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо