Showing posts with label dvr card. Show all posts
Showing posts with label dvr card. Show all posts

Saturday, October 15, 2011

DVR Geovision GV-800 Zoneminder Linux

GV-800
Hardware version 3.5
16 ch video and 4 ch audio,120/100fps


Specification
==========
$ lspci -n
...
04:00.0 0400: 109e:036e (rev 11)
04:00.1 0480: 109e:0878 (rev 11)
04:04.0 0400: 109e:036e (rev 11)
04:04.1 0480: 109e:0878 (rev 11)
04:08.0 0400: 109e:036e (rev 11)
04:08.1 0480: 109e:0878 (rev 11)
04:0c.0 0400: 109e:036e (rev 11)
04:0c.1 0480: 109e:0878 (rev 11)
...

$ lspci -k
04:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
    Subsystem: Device 800a:763d
    Kernel driver in use: bttv
04:00.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
    Subsystem: Device 800a:763d
04:04.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
    Subsystem: Device 800b:763d
    Kernel driver in use: bttv
04:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
    Subsystem: Device 800b:763d
04:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
    Subsystem: Device 800c:763d
    Kernel driver in use: bttv
04:08.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
    Subsystem: Device 800c:763d
04:0c.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
    Subsystem: Device 800d:763d
    Kernel driver in use: bttv
04:0c.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
    Subsystem: Device 800d:763d

$ ls -ls /dev/video*
0 crw-rw----+ 1 root video 81, 0 Oct 14 06:41 /dev/video0
0 crw-rw----+ 1 root video 81, 2 Oct 14 06:41 /dev/video1
0 crw-rw----+ 1 root video 81, 4 Oct 14 06:41 /dev/video2
0 crw-rw----+ 1 root video 81, 6 Oct 14 06:41 /dev/video3

$ uname -r
3.0.0-1-amd64


Installation
============
only http://www.zoneminder.com/wiki/index.php/Debian_Squeeze
then http://www.zoneminder.com/wiki/index.php/Ubuntu_9.04_%28Jaunty%29_desktop_with_graphical_interface
For adding cameras
*NOT require /etc/modprob.d/bttv.conf configuration

Camera 1 -> /dev/video0 channel 0
Camera 2 -> /dev/video1 channel 0
Camera 3 -> /dev/video2 channel 0
Camera 4 -> /dev/video3 channel 0

Camera 5 -> /dev/video0 channel 1
Camera 6 -> /dev/video1 channel 1
Camera 7 -> /dev/video2 channel 1
Camera 8 -> /dev/video3 channel 1

Camera 9 -> /dev/video0 channel 2
Camera 10 -> /dev/video1 channel 2
Camera 11 -> /dev/video2 channel 2
Camera 12 -> /dev/video3 channel 2

Camera 13 -> /dev/video0 channel 3
Camera 14 -> /dev/video1 channel 3
Camera 15 -> /dev/video2 channel 3
Camera 16 -> /dev/video3 channel 3


Useful Commands
===============
$ v4l-info /dev/video0
$ sudo /etc/init.d/apache2 force-reload
$ sudo service zoneminder restart
$ dmesg | grep bttv
$ sudo tail -f /var/log/syslog
$ ffmpeg -f video4linux2 -s 320x240 -r 30000/1001 -i /dev/video0 -y webcam.avi



Output in dmesg
============
$ dmesg | grep bttv
[    5.805510] bttv: driver version 0.9.18 loaded
[    5.805512] bttv: using 8 buffers with 2080k (520 pages) each for capture
[    5.805720] bttv: Bt8xx card found (0).
[    5.805740] bttv 0000:04:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    5.805750] bttv0: Bt878 (rev 17) at 0000:04:00.0, irq: 21, latency: 64, mmio: 0xfdeff000
[    5.805770] bttv0: detected: GeoVision GV-800(S) (master) [card=157], PCI subsystem ID is 800a:763d
[    5.805772] bttv0: using: Geovision GV-800(S) (master) [card=157,autodetected]
[    5.805807] bttv0: gpio: en=00000000, out=00000000 in=00ff28ff [init]
[    5.806572] bttv0: tuner absent
[    5.806604] bttv0: registered device video0
[    5.806624] bttv0: registered device vbi0
[    5.806650] bttv0: PLL: 28636363 => 35468950 .. ok
[    5.839533] bttv: Bt8xx card found (1).
[    5.839544] bttv 0000:04:04.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    5.839552] bttv1: Bt878 (rev 17) at 0000:04:04.0, irq: 21, latency: 64, mmio: 0xfdefd000
[    5.839573] bttv1: detected: GeoVision GV-800(S) (slave) [card=158], PCI subsystem ID is 800b:763d
[    5.839575] bttv1: using: Geovision GV-800(S) (slave) [card=158,autodetected]
[    5.839602] bttv1: gpio: en=00000000, out=00000000 in=00ff7cff [init]
[    5.839639] bttv1: tuner absent
[    5.839667] bttv1: registered device video1
[    5.839690] bttv1: registered device vbi1
[    5.839717] bttv1: PLL: 28636363 => 35468950 .. ok
[    5.871530] bttv: Bt8xx card found (2).
[    5.871540] bttv 0000:04:08.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    5.871548] bttv2: Bt878 (rev 17) at 0000:04:08.0, irq: 21, latency: 64, mmio: 0xfdefb000
[    5.871568] bttv2: detected: GeoVision GV-800(S) (slave) [card=158], PCI subsystem ID is 800c:763d
[    5.871570] bttv2: using: Geovision GV-800(S) (slave) [card=158,autodetected]
[    5.871596] bttv2: gpio: en=00000000, out=00000000 in=00ffbeff [init]
[    5.871632] bttv2: tuner absent
[    5.871659] bttv2: registered device video2
[    5.871682] bttv2: registered device vbi2
[    5.871708] bttv2: PLL: 28636363 => 35468950 .. ok
[    5.903525] bttv: Bt8xx card found (3).
[    5.903534] bttv 0000:04:0c.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[    5.903542] bttv3: Bt878 (rev 17) at 0000:04:0c.0, irq: 21, latency: 64, mmio: 0xfdef9000
[    5.903557] bttv3: detected: GeoVision GV-800(S) (slave) [card=158], PCI subsystem ID is 800d:763d
[    5.903559] bttv3: using: Geovision GV-800(S) (slave) [card=158,autodetected]
[    5.903584] bttv3: gpio: en=00000000, out=00000000 in=00fffcff [init]
[    5.903621] bttv3: tuner absent
[    5.903650] bttv3: registered device video3
[    5.903671] bttv3: registered device vbi3
[    5.903697] bttv3: PLL: 28636363 => 35468950 .. ok

DVR Techwell 6805a




$ uname -r
3.0.0-1-amd64


$ lspci -n
....
02:00.0 0c03: 1033:0194 (rev 03)
03:06.0 0400: 1797:6804 (rev 10)
03:06.1 0480: 1797:6805 (rev 10)
04:00.0 0101: 197b:2368
.....


$ lspci -k
.....
02:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
    Subsystem: Micro-Star International Co., Ltd. Device 7599
    Kernel driver in use: xhci_hcd
03:06.0 Multimedia video controller: Techwell Inc. Device 6804 (rev 10)
03:06.1 Multimedia controller: Techwell Inc. Device 6805 (rev 10)
04:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller
    Subsystem: Micro-Star International Co., Ltd. Device 7599
    Kernel driver in use: pata_jmicron
....


$ ls -ls /dev/video*
ls: cannot access /dev/video*: No such file or directory


DVR Card 104C-E zoneminder

work with Zoneminder + linux
follow instruction on
http://www.zoneminder.com/wiki/index.php/Debian_Squeeze
(include instruction on other issues)

no need to create or edit /etc/modprobe.d/bttv.conf
Camera 1 -> /dev/video0 channel 0
Camera 2 -> /dev/video0 channel 1
Camera 3 -> /dev/video0 channel 2
Camera 4 -> /dev/video0 channel 3


$ uname -r
3.0.0-1-amd64

Card Specification
============
http://www.tungson.cn/en/product_info.asp?InfoID=163



$ lspci -k
03:06.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
    Subsystem: Device c180:c980
    Kernel driver in use: cx8800
03:06.1 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (rev 05)
    Subsystem: Device c180:c980
    Kernel driver in use: cx88_audio


$ ls -ls /dev/video*
0 crw-rw-rw-+ 1 root video 81, 0 Oct 15 11:23 /dev/video0


$ v4l-info /dev/video0

### v4l2 device info [/dev/video0] ###
general info
    VIDIOC_QUERYCAP
    driver                  : "cx8800"
    card                    : "Shenzhen Tungsten Ages Tech TE-"
    bus_info                : "PCI:0000:03:06.0"
    version                 : 0.0.8
    capabilities            : 0x5010011 [VIDEO_CAPTURE,VBI_CAPTURE,TUNER,READWRITE,STREAMING]

standards
    VIDIOC_ENUMSTD(0)
    index                   : 0
    id                      : 0x1000 [NTSC_M]
    name                    : "NTSC-M"
    frameperiod.numerator   : 1001
    frameperiod.denominator : 30000
    framelines              : 525
    VIDIOC_ENUMSTD(1)
    index                   : 1
    id                      : 0x2000 [NTSC_M_JP]
    name                    : "NTSC-M-JP"
    frameperiod.numerator   : 1001
    frameperiod.denominator : 30000
    framelines              : 525
    VIDIOC_ENUMSTD(2)
    index                   : 2
    id                      : 0x4000 [?]
    name                    : "NTSC-443"
    frameperiod.numerator   : 1001
    frameperiod.denominator : 30000
    framelines              : 525
    VIDIOC_ENUMSTD(3)
    index                   : 3
    id                      : 0x7 [PAL_B,PAL_B1,PAL_G]
    name                    : "PAL-BG"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(4)
    index                   : 4
    id                      : 0x10 [PAL_I]
    name                    : "PAL-I"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(5)
    index                   : 5
    id                      : 0xe0 [PAL_D,PAL_D1,PAL_K]
    name                    : "PAL-DK"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(6)
    index                   : 6
    id                      : 0x100 [PAL_M]
    name                    : "PAL-M"
    frameperiod.numerator   : 1001
    frameperiod.denominator : 30000
    framelines              : 525
    VIDIOC_ENUMSTD(7)
    index                   : 7
    id                      : 0x200 [PAL_N]
    name                    : "PAL-N"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(8)
    index                   : 8
    id                      : 0x400 [PAL_Nc]
    name                    : "PAL-Nc"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(9)
    index                   : 9
    id                      : 0x800 [PAL_60]
    name                    : "PAL-60"
    frameperiod.numerator   : 1001
    frameperiod.denominator : 30000
    framelines              : 525
    VIDIOC_ENUMSTD(10)
    index                   : 10
    id                      : 0x10000 [SECAM_B]
    name                    : "SECAM-B"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(11)
    index                   : 11
    id                      : 0x40000 [SECAM_G]
    name                    : "SECAM-G"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(12)
    index                   : 12
    id                      : 0x80000 [SECAM_H]
    name                    : "SECAM-H"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(13)
    index                   : 13
    id                      : 0x320000 [SECAM_D,SECAM_K,SECAM_K1]
    name                    : "SECAM-DK"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625
    VIDIOC_ENUMSTD(14)
    index                   : 14
    id                      : 0x400000 [SECAM_L]
    name                    : "SECAM-L"
    frameperiod.numerator   : 1
    frameperiod.denominator : 25
    framelines              : 625

inputs
    VIDIOC_ENUMINPUT(0)
    index                   : 0
    name                    : "Television"
    type                    : TUNER
    audioset                : 0
    tuner                   : 0
    std                     : 0x7f7ff7 [PAL_B,PAL_B1,PAL_G,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L]
    status                  : 0x0 []
    VIDIOC_ENUMINPUT(1)
    index                   : 1
    name                    : "Composite1"
    type                    : CAMERA
    audioset                : 0
    tuner                   : 0
    std                     : 0x0 []
    status                  : 0x0 []
    VIDIOC_ENUMINPUT(2)
    index                   : 2
    name                    : "S-Video"
    type                    : CAMERA
    audioset                : 0
    tuner                   : 0
    std                     : 0x0 []
    status                  : 0x0 []

tuners
    VIDIOC_G_TUNER(0)
    index                   : 0
    name                    : "Television"
    type                    : ANALOG_TV
    capability              : 0x70 [STEREO,LANG2,LANG1]
    rangelow                : 0
    rangehigh               : 4294967295
    rxsubchans              : 0x1 [MONO]
    audmode                 : MONO
    signal                  : 65535
    afc                     : 0

video capture
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
    index                   : 0
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "8 bpp, gray"
    pixelformat             : 0x59455247 [GREY]
    VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
    index                   : 1
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "15 bpp RGB, le"
    pixelformat             : 0x4f424752 [RGBO]
    VIDIOC_ENUM_FMT(2,VIDEO_CAPTURE)
    index                   : 2
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "15 bpp RGB, be"
    pixelformat             : 0x51424752 [RGBQ]
    VIDIOC_ENUM_FMT(3,VIDEO_CAPTURE)
    index                   : 3
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "16 bpp RGB, le"
    pixelformat             : 0x50424752 [RGBP]
    VIDIOC_ENUM_FMT(4,VIDEO_CAPTURE)
    index                   : 4
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "16 bpp RGB, be"
    pixelformat             : 0x52424752 [RGBR]
    VIDIOC_ENUM_FMT(5,VIDEO_CAPTURE)
    index                   : 5
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "24 bpp RGB, le"
    pixelformat             : 0x33524742 [BGR3]
    VIDIOC_ENUM_FMT(6,VIDEO_CAPTURE)
    index                   : 6
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "32 bpp RGB, le"
    pixelformat             : 0x34524742 [BGR4]
    VIDIOC_ENUM_FMT(7,VIDEO_CAPTURE)
    index                   : 7
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "32 bpp RGB, be"
    pixelformat             : 0x34424752 [RGB4]
    VIDIOC_ENUM_FMT(8,VIDEO_CAPTURE)
    index                   : 8
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "4:2:2, packed, YUYV"
    pixelformat             : 0x56595559 [YUYV]
    VIDIOC_ENUM_FMT(9,VIDEO_CAPTURE)
    index                   : 9
    type                    : VIDEO_CAPTURE
    flags                   : 0
    description             : "4:2:2, packed, UYVY"
    pixelformat             : 0x59565955 [UYVY]
    VIDIOC_G_FMT(VIDEO_CAPTURE)
    type                    : VIDEO_CAPTURE
    fmt.pix.width           : 320
    fmt.pix.height          : 240
    fmt.pix.pixelformat     : 0x33524742 [BGR3]
    fmt.pix.field           : INTERLACED
    fmt.pix.bytesperline    : 960
    fmt.pix.sizeimage       : 230400
    fmt.pix.colorspace      : unknown
    fmt.pix.priv            : 0

vbi capture
    VIDIOC_G_FMT(VBI_CAPTURE)
    type                    : VBI_CAPTURE
    fmt.vbi.sampling_rate   : 35468950
    fmt.vbi.offset          : 244
    fmt.vbi.samples_per_line: 2048
    fmt.vbi.sample_format   : 0x59455247 [GREY]
    fmt.vbi.start[0]        : 6
    fmt.vbi.start[1]        : 318
    fmt.vbi.count[0]        : 17
    fmt.vbi.count[1]        : 17
    fmt.vbi.flags           : 0

controls
    VIDIOC_QUERYCTRL(BASE+0)
    id                      : 9963776
    type                    : INTEGER
    name                    : "Brightness"
    minimum                 : 0
    maximum                 : 255
    step                    : 1
    default_value           : 127
    flags                   : 0
    VIDIOC_QUERYCTRL(BASE+1)
    id                      : 9963777
    type                    : INTEGER
    name                    : "Contrast"
    minimum                 : 0
    maximum                 : 255
    step                    : 1
    default_value           : 63
    flags                   : 0
    VIDIOC_QUERYCTRL(BASE+2)
    id                      : 9963778
    type                    : INTEGER
    name                    : "Saturation"
    minimum                 : 0
    maximum                 : 255
    step                    : 1
    default_value           : 127
    flags                   : 0
    VIDIOC_QUERYCTRL(BASE+3)
    id                      : 9963779
    type                    : INTEGER
    name                    : "Hue"
    minimum                 : 0
    maximum                 : 255
    step                    : 1
    default_value           : 127
    flags                   : 0



Useful Commands
============
sudo service zoneminder restart
sudo /etc/init.d/apache2 force-reload
sudo /etc/init.d/udev restart
dmesg
sudo tail -f /var/log/syslog
ffmpeg -f video4linux2 -s 352x288 -r 30000/1001 -i /dev/video0 -y webcam.avi

sudo apt-get install xawtv
xawtv -nodga -device /dev/video3
xawtv -c /dev/video0

Adding Cameras:
go to http://www.zoneminder.com/wiki/index.php/Ubuntu_9.04_%28Jaunty%29_desktop_with_graphical_interface