Как я могу транслировать видео с веб-камеры с помощью C #?

Я хочу создать простое серверное приложение, в котором люди могут подключаться с помощью клиентского браузера (который я сделаю позже) для просмотра streamового видео. И я хочу использовать C #.

Что мне нужно для захвата видео или быстрых изображений через веб-камеру и отправки их по сети?

Если вам нужен компонент «захват / стример в коробке», есть несколько других, как упомянули другие.

Если вы хотите перейти к управлению низким уровнем над всем этим, вам нужно будет использовать DirectShow, как указывает thealliedhacker. Лучший способ использовать DirectShow в C # – через библиотеку DirectShow.Net – он обертывает все API-интерфейсы DirectShow COM и включает в себя множество полезных функций быстрого доступа для вас.

В дополнение к захвату и streamовой передаче вы также можете делать конверсии в форматах записи, аудио и видео, аудио и видео в реальном времени и многое другое.

Microsoft утверждает, что DirectShow уходит, но они еще не выпустили новую библиотеку или API, которые делают все, что предоставляет DirectShow. Я подозреваю, что многие из последних вещей, которые они выпустили, по-прежнему являются DirectShow под капотом. Из-за своего статуса в Microsoft на нем не так много книг или ссылок, кроме MSDN, и что вы можете найти на форумах. В прошлом году, когда мы начали использовать проект, лучшая книга на эту тему – « Программирование Microsoft DirectShow» – была напечатана и стоила около 350 долларов за использованную копию!

Обычный API для этого – DirectShow.

Вы можете использовать P / Invoke для импорта C ++ API, но я думаю, что есть уже несколько проектов, которые сделали это.

http://channel9.msdn.com/forums/TechOff/93476-Programatically-Using-A-Webcam-In-C/

http://www.codeproject.com/KB/directx/DirXVidStrm.aspx

Для получения streamовой части вы, вероятно, захотите использовать DirectShow для применения кодека сжатия для уменьшения запаздывания, тогда вы можете получить Stream и передать его. Вы можете рассмотреть возможность использования многоадресной рассылки для снижения сетевой нагрузки.

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

Я использовал VideoCapX для нашего проекта. Он будет транслироваться как stream MMS / ASF, который может быть открыт медиаплеером. Затем вы можете вставлять медиаплеер на свою веб-страницу.

Если вам не понадобится много контроля или если вы хотите попробовать VideoCapX без написания кода, попробуйте U-Broadcast , они используют VideoCapX за сценой.

Если вы хотите записывать видео из веб-браузера, я думаю, что ваш единственный вариант – Flash. Мы ищем то же самое. Мы также в основном являемся .NET-house, и я не вижу способа использовать .NET для захвата веб-камеры _from_within_the_browser_. Все другие решения, упомянутые здесь, вероятно, будут работать отлично, если вы с удовольствием соглашаетесь на настольное приложение

Другой вариант для streamовой передачи изображений с веб-камеры в браузер – через mjpeg. Это всего лишь серия jpeg-изображений, которые большинство современных браузеров поддерживают как часть тега. Вот пример сервера, написанного на c #:

https://www.codeproject.com/articles/371955/motion-jpeg-streaming-server

Это хорошо работает по локальной сети, но не по интернету, поскольку mjpeg не так эффективен, как другие видеокодеки (h264, VP8 и т. Д.).

  • Как я могу автовоспроизвести видео с помощью нового стиля встраиваемого кода для Youtube?
  • Как остановить воспроизведение видео на YouTube в Android-браузере?
  • Потоковая передача через RTSP или RTP в HTML5
  • Как получить продолжительность видео с mp4, wmv, flv, mov videos
  • Как добавить новый звук (не смешивание) в видео с помощью ffmpeg?
  • Каков статус тега HTML 5 и интеграции веб-камеры?
  • Приложение Android Webview не позволит проигрывателю проигрывать весь экран
  • Сохранить видео, снятое с веб-камеры, используя Flash
  • VideoView getDrawingCache возвращается черным
  • Странное поведение Android VideoView - «Невозможно воспроизвести видео»
  • HTML 5 Видео растяжка
  • Interesting Posts

    Autohotkey – Координаты движения мыши немного выключены

    Двойная загрузка Linux с Windows 7

    Какая прошивка маршрутизатора поддерживает внешние диски, FTP, VPN и BitTorrent?

    «Показать рабочий стол» на клавиатуре в Mac OS X

    PorterduffXfermode: очистить раздел растрового изображения

    Есть ли способ узнать, какое приложение использует большую часть моей пропускной способности в окнах

    Как запустить Activity без пользовательского интерфейса?

    Как использовать OpenSSL в GCC?

    Почему строки в C должны быть пустыми?

    Правильный тип носителя MIME для файлов PDF

    Предупреждающее сообщение: В `…`: недопустимый факторный уровень, сгенерированный NA

    Меню «Пуск» Windows 10, центр уведомлений, не загружают приложения приложений

    Как подсчитать частоту символов в строке?

    Как показать детали текущей строки из p: dataTable в диалоговом окне ap: и обновить после сохранения

    setPluginsEnabled не существует для WebView

    Давайте будем гением компьютера.