Я работаю над приложением, которое объединяет два проекта на двух разных курсах с моей степенью разработки программного обеспечения:
SWE 490: разработка программного обеспечения на основе компонентов
SWE 344: программирование IP и клиентского сервера
Вот о чем моя заявка:
Клиентская часть (на базе рабочего стола) : Основная функция - захватывать видео с веб-камеры и передавать его на сервер.
Серверная часть (через Интернет) : Основная функция - получать потоковое видео от клиента и отображать его на веб-сайте в режиме реального времени.
Краткое описание приложения:
Пользователи смогут контролировать свои веб-камеры удаленно, передавая выходные данные своих веб-камер на удаленный сервер, доступный через Интернет. Система также будет служить системой обнаружения движения (если она активирована пользователем), чтобы уведомлять пользователей по электронной почте, если какое-либо движение было обнаружено на их веб-камерах. Кроме того, система также позволяет пользователям планировать записи и просматривать их в режиме онлайн через потоковое вещание.
Я готовлю предложение для проекта, и у меня есть некоторые первоначальные планы для структуры системы, которая представлена ниже:
Компоненты на стороне клиента (рабочий стол):
Компоненты на стороне сервера (веб-сервер):
Мой вопрос:
Мои основные проблемы связаны с потоковой передачей видео в реальном времени (отправка и получение компонентов), поскольку для меня это новая тема.
Я знаю, что могу запрограммировать сокет и отправить захваченное видео в виде потока байтов на главный сервер, но меня беспокоит то, как я собираюсь отображать полученный поток в веб-браузере по адресу на стороне сервера .
Моя ситуация похожа на этот вопрос за исключением того, что он предназначен для потоковой передачи видео, а не для потоковой передачи изображений.
Я читал некоторые статьи, и кажется, что это можно сделать с помощью Silverlight, и я надеюсь, что кто-то может указать мне правильное направление.
Ваше мнение о проекте в целом более чем приветствуется.