Прямая трансляция изображений в локальной сети
У меня есть собственная библиотека, которая генерирует изображения JPEG с частотой 10-20 Гц. Я хотел бы передавать изображения в виде видеопотока по сети, чтобы его мог просматривать удаленный клиент (например, VLC).
Все клиенты находятся в локальной сети, и нет никаких ограничений на протокол потоковой передачи и формат видео. Среда - Windows 7/XP, а библиотека DLL экспортирует API C-only.
Есть ли рекомендуемая библиотека, которая позволяет потоковую передачу кадров изображения, вводимых в режиме реального времени? известные мне потоковые библиотеки (VLC и Live555) не допускают этого AFAIK.
1 ответ
M-JPEG определяет потоковую передачу по HTTP, отправляя отдельные изображения. Этот протокол понятен VLC.
Из Википедии:
M-JPEG через HTTP
Потоковая передача HTTP разделяет каждое изображение на отдельные ответы HTTP по указанному маркеру. RTP потоковая передача создает пакеты последовательности изображений JPEG, которые могут быть получены клиентами, такими как QuickTime или VLC. Серверное программное обеспечение, упомянутое выше, передает поток JPEG-файлов по HTTP. Специальный тип контента MIME-типа
multipart/x-mixed-replace;boundary=
сообщает браузеру, что в ответе должны быть несколько частей, разделенных специальной границей. Эта граница определяется внутри MIME-типа. Для потоков M-JPEG данные JPEG отправляются клиенту с правильным HTTP-заголовком. Соединение TCP не закрывается, пока клиент хочет получить новые кадры, а сервер хочет предоставить новые кадры. Двумя основными реализациями такого сервера являются тест-сервер "cambozola" и сервер веб-камеры "MJPG-Streamer".Клиентское программное обеспечение
Браузеры, такие как Safari, Google Chrome и Opera, поддерживают потоковую передачу M-JPEG.
Смотрите: http://en.wikipedia.org/wiki/Motion_JPEG