Захват веб-камеры приложения ASP.NET

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

Он является частью веб-приложения ASP.NET MVC C# и будет признателен за любые рекомендации по поиску информации по этой теме, а также за любые комментарии по эффективности, безопасности и т. д.

Спасибо


person Dustin Laine    schedule 08.01.2010    source источник
comment
Где будет находиться эта веб-камера? На клиенте или на сервере? Если клиент, то ваша проблема будет заключаться в том, как использовать веб-камеру вообще из браузера.   -  person John Saunders    schedule 08.01.2010
comment
На клиенте я хочу, чтобы они могли создать видеопрофиль.   -  person Dustin Laine    schedule 08.01.2010


Ответы (4)


Из соображений безопасности подключение к внешним аппаратным устройствам не разрешено большинством браузеров. Вам нужно будет использовать такие технологии, как Flash или ActiveX, которые присутствуют на клиентском компьютере в бинарном виде и могут обойти модель безопасности браузера; ASP.NET MVC сам по себе не поможет.

person John Feminella    schedule 08.01.2010

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

Если вам нужен предварительный просмотр в реальном времени на самой странице, прямой показ — хороший выбор. TWAIN (насколько я помню) не дает возможности предварительно просмотреть канал.

Вещи, которые повлияют на вашу реализацию:

  • Вы хотите, чтобы он был встроен в страницу или открывается в новом окне?
  • Вы хотите прямую трансляцию
  • Какие веб-камеры вы хотите поддерживать

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

О, и MVC не имеет к этому никакого отношения, это просто технология на стороне сервера, которая отображает контент на сервере.

person Allen Rice    schedule 08.01.2010

Лучше всего использовать Silverlight 4, чтобы получить доступ к веб-камере пользователя. На данный момент Silverlight 4 все еще находится в стадии бета-тестирования, но скоро он выйдет из бета-версии. Silverlight использует подмножество .net framework, поэтому вы можете повторно использовать имеющиеся у вас знания.

Проверьте: http://silverlight.net/learn/

person ZippyV    schedule 14.02.2010

Что именно вы хотите? У вас есть веб-камера на сервере и вы хотите что-то показать пользователю? В таком случае посмотрите на WIA, для него есть .net Wrappers.

Или у вас есть веб-камера на клиенте и вы хотите загрузить видео на сервер? Для этого вам нужно что-то на стороне клиента. Поскольку Silverlight не поддерживает веб-камеры, вы можете использовать Flash. Не совсем уверен, как его загрузить, но я думаю, что вы можете отправить поток байтов (через POST) в метод, который принимает байт [] в качестве ввода.

Редактировать: поскольку вы хотите захватить веб-камеру на клиенте, вам нужно написать кого-то на стороне клиента. Flash — наиболее распространенный выбор, и здесь есть связанный вопрос, который вы могли бы использовать в качестве отправной точки. Сложность заключается в том, чтобы получить видео, после чего загрузить его на сервер не составит труда.

person Michael Stum    schedule 08.01.2010
comment
На клиенте я хочу, чтобы они могли создать видеопрофиль. - person Dustin Laine; 08.01.2010