![]() |
![]() |
#1 | |
Junior Member
Регистрация: 03.05.2014
Сообщений: 22
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
CyberWRT отличная штука для MR3020!
Это мой первый пост. Была поставлена задача - сделать систему видеонаблюдения из 5 камер (по одной на 1 квартиру) с дальнейшим увеличением пользователей. чтобы пользователи могли смотреть все камеры на 1 страничке. У каждой квартиры - свой роутер, свой интернет-провайдер. В качестве решения был выбран TP-LINK MR-3020 + вебкамера Logitech C270 HD + USB хаб (без питания) В качестве прошивки была выбрана CyberWRT В качестве подключения был выбран - клиент Wifi - для подключенния к роутера к домашней сете каждой квартиры. -Установлен драйвер вебкамер mjpg_streamer -Установлен Yandex диск и в самом Яндекс-Диске создаем папки под каждую камеру - к примеру - CAM1, CAM2 и т.п. чтобы раздельно их использовать. -Установлен планировщик Камера отлично выдавала видеопоток mjpg 1280x720, но для видеонаблюдения из нескольких квартир (на парковку) достаточно фотографий сменяемых 1 раз в минуту. Опытным путем выяснилось что без зависонов mjpg делает фотки максимально 800x600, а еще лучше 640x480, иногда удавалось сделать фото 1024x576 в иных случаях - зависание камеры и необходимость ребута. создаем задание в планировщике ставим задание Минуты, часы и прочее ставим - * Путь к скрипту: mjpg_streamer -i "input_uvc.so -y -d /dev/video0 -r 640x480" -o "output_file.so -f /mnt/Yandex/CAM1 -d 5000 -c /www/cgi-bin/modules/video_driver/stop.cgi" и создаем задание Примечание - в задании указана папка /mnt/Yandex/CAM1 - это та папка куда будут сыпаться фотки прежде чем нажать START - проверим выключен ли стрим в Драйвер_Webcam - если включен - остановите его. Теперь снова в планировщик и запускаем Start. После чего каждую минуту на ваш яндекс диск будут сыпаться фотки примерно такие: 2013-03-26 23-22-26.JPG 2013-04-12 16-39-12.JPG 2013-04-12 16-39-22.JPG 2013-04-12 16-39-28.JPG 2013-04-27 14-21-40.JPG ВАЖНО! ДЛЯ ТОГО ЧТОБЫ СЕРВИС НОРМАЛЬНО РАБОТАЛ - ПЕРЕИМЕНУЙТЕ ОДНУ ФОТКУ В 'image.JPG' - это требования yandexcamera - об этом речь пойдет ниже! Зачем вообще такой гимор, спрашиваете вы - если можно пробросить порты, DynDNS подключить и смотреть видео с камеры? Проброс портов 8080 отпал - ибо некоторые квартиры подключены через роутеры МГТС к которым нет доступа (сброс на дефолт не предлагать) Рендер видеопотока MJPG напрямую на Яндекс диск отпадал - ибо его трудно смотреть через http c любого компа. В идеале захотелось сделать все камеры на 1 вебстранице. Для этого был найден сайт yandexcamera.ru который использует API Яндекс диск (можно в принципе и самому написать движок PHP под этот API). Для работы всего этого дела нам понадобится зайти http://online.yandexcamera.ru/ далее выбрать - Создать виджет для Яндекс.ДИСК выбрать папку куда кладутся фотки MJPG-ом (или просто в корне) и нажать кнопку - Создать после чего вы попадете на страничку что-то типа http://online.yandexcamera.ru/yandex/show/215 - это моя камера - сори но она не обновляется - я временно отключил роутер для других дел. Если вы правильно все сделали - то страничка бует автообновляться раз в минуту и показывать последнюю фотку! если не показывает - то вы не переименовали первую фотку в image.JPG если вы не хотите иметь архив фоток то в интернете есть баш скрипт для openwrt переименования выходного файла в другой - (вам нужно в image.JPG), можно просто Файл Менеджером подправить /www/cgi-bin/modules/video_driver/stop.cgi Цитата:
yandexcamera дает сразу код iframe - их вы соберете на 1 страничке и все кто знает ее адрес - будут видеть свои камеры. Код HTML:
<iframe width="640" height="480" src="http://online.yandexcamera.ru/yandex/show/215/iframe"></iframe> поэтому нидхелп. Еще хотелось бы bash script чтобы удалять старые фотки позже 3-5 дней. чтобы место на диске не переполнялось. Минус yandexcamera - это легкость перебора камер - меняете 215 на 3 к примеру - и смотрите. паблик - не хорошо, поэтому, если Yandexcamera когда нибудь сломается - то смогу написать собственный PHP движочек и чтобы все делалось автоматом (удаление старых фоток ну и другой функционал) и можно было установить на любой хостинг (опыт есть - мой eurowebcart.ru) Также планирую создать модуль для CyberWRT - принсервер на основе сервера p910nd. Потому что идеально работает, а народу хочется WiFi принтер поиметь и поставить принтер подальше от компа. Спасибо ADMINу - именно он своим терпением подвиг на все это. Последний раз редактировалось shveps; 03.05.2014 в 17:45. |
|
![]() |
![]() |
![]() |
#2 | |
Junior Member
Регистрация: 03.05.2014
Сообщений: 22
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
для сохранения в 1 файл можно подправить /www/cgi-bin/modules/video_driver/stop.cgi
Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Junior Member
Регистрация: 03.05.2014
Сообщений: 22
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Сделал небольшой PHP скриптик видеонаблюдения.
чтобы не палить источники (на будущее и вообще) картинки находятся в data (base64). Теперь не определить откуда что тянется. результат: http://www.eurowebcart.ru/cam.php можно любое количество камер в //init писать DIV выстроятся как надо. поддерживается curl или file_get_contents в PHP ini должно стоять allow_url_fopen должно быть включено. PHP код:
PS кому пофиг на палево источника - можно сделать версию побыстрее. а потом сделаю еще salt и token, чтобы нельзя было вставлять картинки на другие сайты. Последний раз редактировалось shveps; 03.05.2014 в 21:57. Причина: Обновился код скрипта. он стал без перезагрузки основной страницы. |
![]() |
![]() |
![]() |
#4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Спасибо!
Полезная статья, приеду с отпуска протестирую |
![]() |
![]() |
![]() |
#5 | |
Junior Member
Регистрация: 03.05.2014
Сообщений: 22
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Раз используется
mv -f "$1" '/mnt/Yandex/CAM1/image.JPG' то я подумал, а не поставить ли время и дату на картинку перед ее переименовыванием? Кто в перле разбирается? не оно? use Image::Magick; my $src = Image::Magick->new; $src->Read($1); $src->Annotate(text=>localtime(), y =>10 ); $src->Write($1); ну и естественно нужно установить opkg install imagemagick-jpeg opkg install imagemagick-png opkg install imagemagick opkg install imagemagick-tools у... печалька в репозитарии нету мэджика root@CyberWrt:/www/> opkg install imagemagick Collected errors: * opkg_install_cmd: Cannot install package imagemagick. Unknown package 'imagemagick'. есть еще libgd Цитата:
апдейт. libgd перескочили на php-gd а PHP ставить нет желания... и так памяти мало. будем думать как установить на фотку таймстамп. Последний раз редактировалось shveps; 03.05.2014 в 20:33. |
|
![]() |
![]() |
![]() |
#6 |
Junior Member
Регистрация: 03.05.2014
Сообщений: 22
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Новая версия программы наблюдения с преферансом и поэтессами
с бутстрапом, авторизацией, выходом, открыванием Modal и т.п. Апдейт! Добавлена функция поворота камеры на 180 градусов! (в IE-8 не переворачивает) PHP код:
Последний раз редактировалось shveps; 04.05.2014 в 18:49. |
![]() |
![]() |
![]() |
#7 |
Junior Member
Регистрация: 03.05.2014
Сообщений: 22
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Как видите паролей много можно добавить, а потом убрать не нужные.
http://www.eurowebcart.ru/cam.php Вы можете использовать для демки pass1 |
![]() |
![]() |
![]() |
#8 |
Junior Member
Регистрация: 03.05.2014
Сообщений: 22
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Сообщаю. Если отключить звуковую усбшную карту то удается захватывать и выкладывать на яндекс диск 960х720. Жаль. Остался без вебрадио.
|
![]() |
![]() |
![]() |
#9 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
А разве звуковая карта мешает захвату с камеры?
|
![]() |
![]() |
![]() |
#10 |
Junior Member
Регистрация: 03.05.2014
Сообщений: 22
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
видать даже не работая - потребляет ресурс/питание.
Кстати кому интересно - я сделал циклическую запись кадров (кол-во настраивается) с определенной yandex-камеры (правда запись ведется только во время просмотра, но это решается серверным cron) с просмотром таймлапса в ускоренном виде и возможностью паузы и покадровой перемотки туда-сюда (на основе карусели твиттера бутстрапа) получается нехилое такое псевдо-видео с разрешением 720p и 5 кадровсекунду. в принципе наверное могу склеивать кадры в MJPG поток. ссылка такая же (к сожалению первые кадры писал на локалхосте и метка времени сбилась при закачке на фтп), но начиная с 0-00 там будет правильный таймкод. сам PHP код пришлю если надо, он немного поболее стал сами понимаете. Кстати дневные кадры в 2-3 раза больше ночных. Последний раз редактировалось shveps; 21.05.2014 в 00:20. Причина: добавлены скриншоты |
![]() |
![]() |
![]() |
Метки |
cyberwrt, mr3020, webcam, yandexcamera, камера |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|