Как создать потоковый видео httpserver? - PullRequest
3 голосов
/ 15 июня 2011

Я использую библиотеки C ++ и Poco.Я пытаюсь реализовать потоковое видео httpserver.
Изначально я использовал Poco :: StreamCopier.Но клиенту не удалось выполнить потоковую передачу.
Вместо этого клиент загружает видео.Как я могу заставить сервер отправлять потоковый ответ, чтобы клиент мог передавать видео в браузере вместо загрузки?

Ответы [ 3 ]

0 голосов
/ 22 июля 2011

Не используя что-то для декодирования видео на другом конце, а просто через HTTP, вы можете использовать кодировку MIME "content-type: multipart / x-mixed-replace; border = ..." и отправить серию jpegimages.

На самом деле это называется M-JPEG по HTTP.См .: http://en.wikipedia.org/wiki/Motion_JPEG

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

Однако это не означает, что пропускная способность ни в коем случае не является необходимой, поскольку для каждого кадра необходимо отправлять целый файл JPEG.Так что, если вы собираетесь использовать это через Интернет, оно будет работать, но будет использовать большую пропускную способность, чем другие методы.

Однако, в настоящее время это наивно поддерживается в большинстве браузеров, и, похоже, именно это выпосле.

0 голосов
/ 24 июля 2012

Вне POCO вы можете использовать ffmpeg. Он имеет потоковые серверы для ряда видеопротоколов и написан на C (для которого вы могли бы написать POCO-подобные адаптеры).

http://ffmpeg.org/ffmpeg.html#rtp

http://ffmpeg.org/ffmpeg.html#toc-Protocols

http://git.videolan.org/?p=ffmpeg.git;a=tree

И у него довольно либеральная лицензия: http://ffmpeg.org/legal.html

0 голосов
/ 22 июля 2011

Вам необходимо выяснить, какая кодировка видео и контейнер подходят для потоковой передачи - не все видеофайлы могут передавать

...