Ceci & Tati

Archive for август, 2010

mjpg_streamer, zoneminder and Nokia E52 – Проверка на детето, дали спи докато си попийваме нощем на бара с жената?

by on авг.20, 2010, under Мрежата, Разни

Още един пост от морето, вече ми писна да почивам :).
Понеже жената всеки ден до като си пием разните напитки на бара, постоянно ходи до стаята, ако малкия не е с нас. Един следобед реших че трябва да направя нещо по въпроса.

Първо да спомена, на лаптопа си имам вградена камера.

ilia-asus ~ # v4l-info

### v4l2 device info [/dev/video0] ###
general info
VIDIOC_QUERYCAP
driver                  : „uvcvideo“
card                    : „USB2.0 1.3M UVC WebCam“
bus_info                : „usb-0000:00:1d.7-6″
version                 : 0.1.0
capabilities            : 0×4000001 [VIDEO_CAPTURE,STREAMING]

standards

inputs
VIDIOC_ENUMINPUT(0)
index                   : 0
name                    : „Camera 1″
type                    : CAMERA
audioset                : 0
tuner                   : 0
std                     : 0×0 []
status                  : 0×0 []

video capture
VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index                   : 0
type                    : VIDEO_CAPTURE
flags                   : 0
description             : „YUV 4:2:2 (YUYV)“
pixelformat             : 0×56595559 [YUYV]
VIDIOC_G_FMT(VIDEO_CAPTURE)
type                    : VIDEO_CAPTURE
fmt.pix.width           : 320
fmt.pix.height          : 240
fmt.pix.pixelformat     : 0×56595559 [YUYV]
fmt.pix.field           : NONE
fmt.pix.bytesperline    : 640
fmt.pix.sizeimage       : 153600
fmt.pix.colorspace      : unknown
fmt.pix.priv            : 0
……

Използвам стандартния модул (драйвер) за камерата.

ilia-asus ~ # modinfo uvcvideo
filename:       /lib/modules/2.6.34-gentoo/kernel/drivers/media/video/uvc/uvcvideo.ko
version:        v0.1.0
license:        GPL
description:    USB Video Class driver
author:         Laurent Pinchart <laurent.pinchart@skynet.be>
srcversion:     6B23A0D849FE5EC0262441F
alias:          usb:v*p*d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v1C4Fp3000d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v1B3Bp2951d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d00*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d01[0-1]*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d012[0-6]dc*dsc*dp*ic0Eisc01ip00*

1. mjpg_stream съм го инсталирал, от тук http://bugs.gentoo.org/260969. Точно кое как става няма да навлизам в подробности.
Чрез тази златна програма преобразувам видео сигнала, в мрежов поток. За да може този поток от данни да мине през NAT, аз си пускам тунел и посредством него, лаптопа и zoneminder-а стават видими в една мрежа.

mjpg_streamer -i „input_uvc.so -d /dev/video0 -y -r 320×240 -f 4 -q 40″ -o „output_http.so -p 8090″
Да подчертая нещо много важно за моята камера!
[-y | --yuv ]……….: enable YUYV format and disable MJPEG mode

2. Приемаме че Zoneminder е инсталиран вече, на някаква отдалечена машина, с твърдо реално IP.

zone2

3. Nokia E52.
Най-несполучливия модел на Nokia :) .


Малко скриншоти на моя телефон със zoneminder-а. Ако се загледате внимателно ще видите как синът ми спи здраво.

4. Схема на цялата постановка.

zone1

Дано бъда полезен на някого с това, защото на мен ми свърши страхотна работа :) , всека ден беше здрав купон.

въведете коментар прочетете повече...

Управление на SONY (SNCRZ25N) камери за Zoneminder-1.24.2

by on авг.14, 2010, under Линукс, Мрежата

Още едно кратко постче от морето.

Малко код от скрипта.

sub presetHome
{
my $self = shift;
Debug( „Move Stop“ );
my $cmd = „/command/presetposition.cgi?HomePos=ptz-recall“;
$self->sendCmd( $cmd );
}

sub moveAbsUp
{
my $self = shift;
Debug( „Move up“ );
my $cmd = „/command/ptzf.cgi?move=up“;
$self->sendCmd( $cmd );
}
sub moveAbsUpLeft
{
my $self = shift;
Debug( „Move up-left“ );
my $cmd = „/command/ptzf.cgi?move=up-left“;
$self->sendCmd( $cmd );
}
sub moveAbsUpRight
{
my $self = shift;
Debug( „Move up-right“ );
my $cmd = „/command/ptzf.cgi?move=up-right“;
$self->sendCmd( $cmd );
}

sub moveAbsDown
{
my $self = shift;
Debug( „Move Down“ );
my $cmd = „/command/ptzf.cgi?move=down“;
$self->sendCmd( $cmd );
}
sub moveAbsDownLeft
{
my $self = shift;
Debug( „Move Down-left“ );
my $cmd = „/command/ptzf.cgi?move=down-left“;
$self->sendCmd( $cmd );
}
sub moveAbsDownRight
{
my $self = shift;
Debug( „Move Down-right“ );
my $cmd = „/command/ptzf.cgi?move=down-right“;
$self->sendCmd( $cmd );
}

sub moveAbsLeft
{
my $self = shift;
Debug( „Move Left“ );
my $cmd = „/command/ptzf.cgi?move=left“;
$self->sendCmd( $cmd );
}

sub moveAbsRight
{
my $self = shift;
Debug( „Move Right“ );
my $cmd = „/command/ptzf.cgi?move=right“;
$self->sendCmd( $cmd );
}

sub zoomRelTele
{
my $self = shift;
# my $params = shift;
# my $step = $self->getParam( $params, ‘step’ );
Debug( „Zoom Tele“ );
my $cmd = „/command/ptzf.cgi?Move=tele,2″;
$self->sendCmd( $cmd );
}

sub zoomRelWide
{
my $self = shift;
# my $params = shift;
# my $step = $self->getParam( $params, ‘step’ );
Debug( „Zoom Wide“ );
my $cmd = „/command/ptzf.cgi?Move=wide,2″;
$self->sendCmd( $cmd );
}

(continue reading…)

въведете коментар прочетете повече...

Превод на български за Zoneminder-1.24.2

by on авг.13, 2010, under Мрежата

Едно кратко постче от морето.


snapshot1a

Файла може да изтеглите от тук.

Благодарение на „servbg“ и 3 часа от мен :) .

въведете коментар прочетете повече...

Нещто не намирате ли?

Потърси в блога ми:

Моля Ви не прекалявайте с информацията!