Как из обычной камеры сделать web камеру


Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру


Лучшие новости сайта

IP камера из Dealextreme

IP камера из Dealextreme

Начну с конца — после долгих мучений и тотальной не хватки времени организовать трансляцию веб-камеры на сайте в реальном времени мне удалось (точнее удалось сделать именно таким путем, каким я хотел).

Результат вы можете видеть тут — . Процесс покупки, установки и настройки растянулся у меня почти пол-года.

Ну а теперь по порядку расскажу о всех этапах:

1.
2. 2.1.
3.
4.

1. Выбор схемы вещания

На самом деле пойти можно по нескольким путям:
а) Аналоговая камера + АЦП + сервер
б) USB Вебкамера + сервер
в) IP- камера

Первый вариант  с аналоговой камерой на мой взгляд практически не имеет преимуществ…он дорог и не практичен (говорю уверенно, т.к. имел опыт организации системы видеонаблюдения с аналоговыми камерами на коаксиальном кабеле). Но есть один плюс — если УЖЕ имеется система видео наблюдения и имеется желание с неё организовать онлайн трансляцию — то это Ваш вариант.

Вебкамера + сервер.  Самый доступный вариант…этакий «skype вариант»- USB веб-камера стоит от 200 рублей, а в качестве сервера можно использовать собственный персональный компьютер. Собственно из плюсов этого способа — только дешевизна. Из минусов — масса неудобств:
— Уличное исполнение usb камер я не встречал.
— У USB кабеля сильное ограничение по длине (я не считаю вариантов активного кабеля с повторителем сигнала)
— с домашним ПК в качестве сервера постоянное вещание 24х7 трудно реализовать в плане надежности и удобства использования компьютера пользователем. Всё время будешь думать о том, как бы не отрубить случайно камеру, не убить вещание при перезагрузке и т.д. и т.п.
Вариант с USB камерой я рекомендую для пробы…»тренировки на кошках». Чтобы понять что такое веб-камера и зачем оно вам надо 🙂

Вариант с IP-камерой для онлайн трансляции на мой взгляд оптимален. Если глубоко копать то: IP-камера это и есть матрица+АЦП+сервер — т.е. самая последняя на данный момент стадия эволюции камеры. Этот вариант более затратен чем вариант реализации схемы вещания б), но менее затратен, чем вариант а).  Посему остановимся на IP-камере и далее все действия я буду описывать касательно её.

2. Выбор железа (выбор самой камеры)

Хотел написать «не мудрствуя лукаво я выбрал…» — ан нет…мудрствовал я долго. Начальных посылов при выборе было три:
— цена
— крепость корпуса
— юзабильность для моих планов

Вопрос цены решился быстро и практически без вопросов — полем для выбора стали китайский онлайн магазины и ebay…где в пределах 100$ можно было взять что то стоящее. Для сравнения в России IP камеры стоят как минимум в 2 раза дороже.
А вот со вторым и третьим пунктом пришлось как всегда заморочиться… прочитал горы русско- и не русскоязычных форумов.  Но подробной информации по китайским «товарищам» ооочень мало до сих пор и выбор делался в «слепую».  Выбор мой пал на камеру с говорящим названием «» с известного магазина . Магазин проверенный, я лично покупал в нем более 2х десятков раз. Выбранная камера не самая дешевая — обошлась мне в 72$ (хотя в магазине есть варианты и за .) Меня подкупил железный корпус (довольно крепкий на вид) и технические характеристики.  Выбор сделан — камера была заказана в конце января.

Зачем мне нужен был прочный корпус? Изначально планировал я повесить камеру на улице под крышей — опасался, что от стекла окна будут блики (и не зря опасался).  Камера должна была быть под крышей т.е. защищена от прямого дождя, но ветер/мороз и прочие погодные условия никто не отменял. Тут надо сказать, что недавно на DX появились идеально подходящие для такой установки, но на момент моей покупки их не было… Так вот по получении камеры выяснилось, что установка на улице технически затруднена да и взяли сомнения по поводу её эксплуатации зимой — посему стоит моя камера на балконе вплотную у стекла (но вечером блики от ламп всё равно есть)

Сейчас есть уже довольно много обзоров китайских камер на

Мини обзор моей камеры IP Wired 300K CMOS Camera.

Камера пришла в большой коробке с хорошей пластиковой  прослойкой внутри. В комплекте сама камера, подвес-стойка, дюбели для крепления и блок питания.  Корпус действительно из металла. Качество сборки  очень хорошее…Объектив сменный. Легко схватила IP по DHCP. В общем всё хорошо…

Единственный большой минус данной IP камеры (да и наверное большинства подобных) это матрица, которая напрочь отказывается понимать зелёный цвет. Он становится серым на изображении. Связано это с тем, что камера рассчитана также и на ночную съёмку ,а в угоду этому диапазон чувствительности матрицы смещён в сторону красного цвета. Встроенное в камеру ПО позволяет определять движение в кадре, отправлть скриншоты по e-mail и на FTP и т.д. и т.п. Это всё конечно интересно для целей безопасности, но для меня не особо важно…а вот важные для меня настройки самого изображдения практически отсутствуют. Единственная корректировка 50Hz/60Hz/Outdoor практически не влияла на изображение.

Коробка из под камеры (почему то с фотографией другой камерой на крышке)

Коробка из под камеры (почему то с фотографией другой камерой на крышке)

IP камера из Dealextreme

IP камера из Dealextreme

IP Wired 300K CMOS Camera

IP Wired 300K CMOS Camera

Вид сзади IP Wired 300K CMOS Camera

Вид сзади IP Wired 300K CMOS Camera

3. Выбор пути реализации вещания

Камера шла долго…больше чем два месяца.  За это время я искал решения, каким путем организовать трансляцию. И это не так просто как кажется. Скажете — да в чем проблема? поставил на сайт плагин — подключил вебкамеру — и вещай! Но:
а) Это китайская камера и нормального видео потока не выдает
б) исходящий видео поток на каждого клиента при условии домашнего интернета крайне плохое решение. Поток шириной в 300 кб/с уже при 5 онлайн смотрящих полностью забъёт весь канал с всеми вытекающими…
в) не у всех браузеры имеют плагины для просмотра потокового видео.

Реализация вещания с камеры напрямую

Реализация вещания с камеры напрямую

Реализация вещания с камеры с сервером-ретранслятором

Реализация вещания с камеры с сервером-ретранслятором

Имея всё перечисленное в виду  я решил сделать следующим образом. Организовать на внешнем сервере (где у меня крутится сайт) сервер ретрансляции. Который забирал бы поток с камеры и уже от себя раздавал потоки всем желающим. Начитвашись статей на habrhabr установил на сервер Red5 но разбираться с ним времени не было…потом начались запары на работе, поэтому проект веб-камеры вообще был заброшен на месяц. Когда время появилось снова и руки добрались до проекта камеры, я осознал, что при всей понтовости и гиковости затея с Red5 в рамках моего сайтика это абсурд 🙂

Поэтому поиск решение пошел по другому пути. IP-камера ,купленная мною, умела по FTP с заданным интервалом загружать скриншоты с камеры на сервер. Но все изображения сохранялись с именем включавшими дату и время… Заставить камеру сохранять все скриншоты под одним именем (путем замены) скорее всего можно…но заниматься мне этим также не захотелось 🙂 Поэтому был найден третий путь: сервер сам забирает с камеры изображения.

Также о путях реализации вы можете почитать на

4. Программная реализация вещания

Кроме загрузки по FTP IP-камера умеет еще и выдавать скриншоты..правда реализовано это тоже довольно странно. Для того чтоб получить скриншот надо отправить камере запрос типа http://IP:port/snapshot.cgi?usr=name&pwd=pass&filename=test.jpg


Пробуйте и смотрите что подходит Вам — есть нюансы в синтаксисе!

Сервер у меня VDS на FreeBSD (хехе…надо будет купить футболку с красным чёртиком 🙂 ) поэтому на shell забор скриншота с камеры занимает одну строчку через  wget. У меня получилось так:

/usr/local/bin/wget -p -b -q —output-document=/folder/subfolder/test.jpg —input-file=/file

В качестве параметра URL у меня стоит —input-file=/file т.е. считывать адрес из файла т.к. у меня wget не захотел понимать адрес запроса к камере напрямую в коммандной строке…но это мой частный случай.
Далее. Этот запрос надо как то зациклить — самое простое это через cron, но крон не умеет выполнять команду чаще раза в минуту, поэтому делаем скрипт с бесконечным верным условием while true ; Ставим задержку sleep — вуаля, всё работает 🙂

Теперь frontend — решение тривиальное — картинку запихиваем в iframe и обновляем содержимое фрейма через JavaScript c заданой периодичностью. Код следующий:


Ну об основных моментах наверное всё.

Вот в так выглядит у меня работающяя вебкамера

Вот в так выглядит у меня работающяя вебкамера

Я еще планировал рассказать о том, …но об этом я думаю — в следующей статье.



Источник: http://lifewatch.ru/2010/kak-sdelat-web-kameru-camera/


Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру

Как из обычной камеры сделать web камеру

Читать далее: