View unanswered posts | View active topics It is currently Fri Nov 28, 2014 8:10 pm



Reply to topic  [ 15 posts ] 
FPS and resolution to low with BT878 capture card. 
Author Message

Joined: Mon Oct 19, 2009 6:07 pm
Posts: 24
Post FPS and resolution to low with BT878 capture card.
Hello everybody,

I am new in this forum, and it's my first post for asking help , i hope i will
write all the necessary for, you will be able to help me.

My System

OSVER: Ubuntu Server 9.04
Kernel : 2.6.28-18-server
ZMVER: ZoneMinder 1.24.2
RAM: 1GB DDR2
2 DEVICE: : Conexant Ship (4 Channel each and 30fps each ) with 8 analogs cams.
One is attach to the mother board and the other is a PCI card.



My dmesg information :

Code:
Linux video capture interface: v2.00
[    7.262857] bttv: driver version 0.9.17 loaded
[    7.262861] bttv: using 8 buffers with 2080k (520 pages) each for capture
[    7.262928] bttv: Bt8xx card found (0).
[    7.262946] bttv 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    7.262960] bttv0: Bt878 (rev 17) at 0000:02:00.0, irq: 16, latency: 16, mmio: 0xfdbff000
[    7.263759] bttv0: using:  *** UNKNOWN/GENERIC ***  [card=0,autodetected]
[    7.263796] bttv0: gpio: en=00000000, out=00000000 in=00ff9fff [init]
[    7.264587] tveeprom 0-0050: Huh, no eeprom present (err=-6)?
[    7.264590] bttv0: tuner type unset
[    7.264593] bttv0: i2c: checking for MSP34xx @ 0x80... not found
[    7.265261] bttv0: i2c: checking for TDA9875 @ 0xb0... not found
[    7.265926] bttv0: i2c: checking for TDA7432 @ 0x8a... not found
[    7.266658] bttv0: registered device video0
[    7.266687] bttv0: registered device vbi0
[    7.266735] bttv: Bt8xx card found (1).
[    7.266749] bttv 0000:02:04.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    7.266761] bttv1: Bt878 (rev 17) at 0000:02:04.0, irq: 16, latency: 16, mmio: 0xfdbfd000
[    7.266829] bttv1: using:  *** UNKNOWN/GENERIC ***  [card=0,autodetected]
[    7.266856] bttv1: gpio: en=00000000, out=00000000 in=00ff95ff [init]
[    7.267614] tveeprom 1-0050: Huh, no eeprom present (err=-6)?
[    7.267617] bttv1: tuner type unset
[    7.267619] bttv1: i2c: checking for MSP34xx @ 0x80... not found
[    7.268284] bttv1: i2c: checking for TDA9875 @ 0xb0... not found
[    7.268951] bttv1: i2c: checking for TDA7432 @ 0x8a... not found
[    7.269668] bttv1: registered device video1
[    7.269698] bttv1: registered device vbi1


My lspci -v info :
Code:
02:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
        Flags: bus master, medium devsel, latency 16, IRQ 16
        Memory at fdbff000 (32-bit, prefetchable) [size=4K]
        Capabilities: <access>
        Kernel driver in use: bttv
        Kernel modules: bttv

02:00.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
        Flags: bus master, medium devsel, latency 4, IRQ 11
        Memory at fdbfe000 (32-bit, prefetchable) [size=4K]
        Capabilities: <access>

02:04.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
        Flags: bus master, medium devsel, latency 16, IRQ 16
        Memory at fdbfd000 (32-bit, prefetchable) [size=4K]
        Capabilities: <access>
        Kernel driver in use: bttv
        Kernel modules: bttv

02:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
        Flags: bus master, medium devsel, latency 4, IRQ 11
        Memory at fdbfc000 (32-bit, prefetchable) [size=4K]
        Capabilities: <access>



My Memory :

Code:
        total       used       free     shared    buffers     cached
Mem:          2004       1898        105          0        198       1430
-/+ buffers/cache:        269       1734
Swap:         5867          0       5867


My Interrupts

Code:
           CPU0       CPU1
  0:       2543          0   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  8:          1          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 14:          0          0   IO-APIC-edge      ata_piix
 15:          0          0   IO-APIC-edge      ata_piix
 16:  118951576          0   IO-APIC-fasteoi   uhci_hcd:usb5, HDA Intel, bttv0, bttv1
 18:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
 19:    1003788          0   IO-APIC-fasteoi   ata_piix, uhci_hcd:usb3
 23:          0          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2
2302:   36126299          0   PCI-MSI-edge      eth0
NMI:          0          0   Non-maskable interrupts
LOC:   26312201   30695238   Local timer interrupts
RES:     180207     214658   Rescheduling interrupts
CAL:        283        342   Function call interrupts
TLB:     128819     122965   TLB shootdowns
SPU:          0          0   Spurious interrupts


My ipcs -l :

Code:
---- Límites memoria compartida ----
número máx. segmentos = 4096
tamaño máx. segmento (kbytes) = 316800
máximo total de memoria compartida (kbytes) = 1297612800
tamaño mín. segmento (bytes) = 1

------ Límites semáforo --------
número máximo de matrices = 128
máx. semáforos por matriz = 250
máx. semáforos sistema = 32000
máx. oper. por llamada semop = 32
valor máx. semáforo = 32767

------ Mensajes: límites -------
máx. colas sistema = 1706
tamaño máx. mensaje (bytes) = 8192
tamaño máx. predeterminado cola (bytes) = 16384


My memory settings .

Code:
kernel.shmall = 324403200
kernel.shmmax = 324403200


my zmu -U xxxxx-Pxxxxx -d video0 -q -v

Code:
Video Device: video0
General Capabilities
  Driver: bttv
  Card: BT878 video ( *** UNKNOWN/GENER
  Bus: PCI:0000:02:00.0
  Version: 0.9.17
  Type: 0x5010015
    Supports video capture (X)
    Does not support video output
    Supports frame buffer overlay
    Supports VBI capture
    Does not support VBI output
    Does not support sliced VBI capture
    Does not support sliced VBI output
    Does not support video output overlay
    Has tuner
    Does not have audio in and/or out
    Does not have radio
    Supports read/write i/o (X)
    Does not support async i/o
    Supports streaming i/o (X)
    Standards:
      NTSC
      NTSC-M
      NTSC-M-JP
      NTSC-M-KR
      PAL
      PAL-BG
      PAL-H
      PAL-I
      PAL-DK
      PAL-M
      PAL-N
      PAL-Nc
      PAL-60
      SECAM
      SECAM-B
      SECAM-G
      SECAM-H
      SECAM-DK
      SECAM-L
      SECAM-Lc
  Formats:
    8 bpp, gray (GREY)
    8 bpp, dithered color (HI24)
    15 bpp RGB, le (RGBO)
    15 bpp RGB, be (RGBQ)
    16 bpp RGB, le (RGBP)
    16 bpp RGB, be (RGBR)
    24 bpp RGB, le (BGR3)
    32 bpp RGB, le (BGR4)
    32 bpp RGB, be (RGB4)
    4:2:2, packed, YUYV (YUYV)
    4:2:2, packed, YUYV (YUYV)
    4:2:2, packed, UYVY (UYVY)
    4:2:2, planar, Y-Cb-Cr (422P)
    4:2:0, planar, Y-Cb-Cr (YU12)
    4:2:0, planar, Y-Cr-Cb (YV12)
    4:1:1, planar, Y-Cb-Cr (411P)
    4:1:0, planar, Y-Cb-Cr (YUV9)
    4:1:0, planar, Y-Cr-Cb (YVU9)
Crop Capabilities
  Bounds: 838 x 504
  Default: 768 x 480
  Current: 768 x 480


my zmu -U xxxxx-Pxxxxx -d video1 -q -v

Code:
Video Device: video1
General Capabilities
  Driver: bttv
  Card: BT878 video ( *** UNKNOWN/GENER
  Bus: PCI:0000:02:04.0
  Version: 0.9.17
  Type: 0x5010015
    Supports video capture (X)
    Does not support video output
    Supports frame buffer overlay
    Supports VBI capture
    Does not support VBI output
    Does not support sliced VBI capture
    Does not support sliced VBI output
    Does not support video output overlay
    Has tuner
    Does not have audio in and/or out
    Does not have radio
    Supports read/write i/o (X)
    Does not support async i/o
    Supports streaming i/o (X)
    Standards:
      NTSC
      NTSC-M
      NTSC-M-JP
      NTSC-M-KR
      PAL
      PAL-BG
      PAL-H
      PAL-I
      PAL-DK
      PAL-M
      PAL-N
      PAL-Nc
      PAL-60
      SECAM
      SECAM-B
      SECAM-G
      SECAM-H
      SECAM-DK
      SECAM-L
      SECAM-Lc
  Formats:
    8 bpp, gray (GREY)
    8 bpp, dithered color (HI24)
    15 bpp RGB, le (RGBO)
    15 bpp RGB, be (RGBQ)
    16 bpp RGB, le (RGBP)
    16 bpp RGB, be (RGBR)
    24 bpp RGB, le (BGR3)
    32 bpp RGB, le (BGR4)
    32 bpp RGB, be (RGB4)
    4:2:2, packed, YUYV (YUYV)
    4:2:2, packed, YUYV (YUYV)
    4:2:2, packed, UYVY (UYVY)
    4:2:2, planar, Y-Cb-Cr (422P)
    4:2:0, planar, Y-Cb-Cr (YU12)
    4:2:0, planar, Y-Cr-Cb (YV12)
    4:1:1, planar, Y-Cb-Cr (411P)
    4:1:0, planar, Y-Cb-Cr (YUV9)
    4:1:0, planar, Y-Cr-Cb (YVU9)
Crop Capabilities
  Bounds: 838 x 504
  Default: 768 x 480
  Current: 768 x 480


It's weird because i can only have a color image, setting the capture palette to BGR24 !!!!
I use also NTSC M and Video for Linux version 2, for each of my 8 analog cams

MY PROBLEMS

1/ I am only be able to capture at : 320x240 if i increase the size i have black image.

2/I was problems adding monitor because when in configure them the channels where interlaced !!
with my 1rst device this problem disapear disabling the V4L_MULTI_BUFFER
but with my second device is the same.

I don´t know if i need to configure In /etc/modprobe.conf

Code:
options bttv card=77,77 tuner=4,4 radio=0,0 triton1=0 vsfx=0 autoload=0

Because i don´t understant this configuration?

3 /I put maximum FPS to 7fps (30fps / 4 = 7.5fps)
But in monitor mode i can only see 3fps for each camera. Why?


Wed Feb 24, 2010 5:53 pm
Profile

Joined: Wed Dec 16, 2009 5:32 pm
Posts: 666
Location: Israel
Post 
If you are using PAL cameras, anything above 384x288 will be interlaced, and if you are using NTSC cameras, anything above 320x240 will be interlaced, thats just how PAL and NTSC work. TVs have built in deinterlacing which is why you never see interlacing there.

Your card is probably a pico2000 clone, like here:
http://www.zoneminder.com/wiki/index.php/Pico2000

This card has a single bt878 chip, so it can only capture at 29.97 fps for NTSC and 25 fps for PAL. 2-3 fps with 4 inputs is typical because switching inputs takes some time!
For real time capturing you need to use only 1 input, then you will get the full 25 fps(PAL)/29.97 fps(NTSC)

If you want real time capturing of 8 cameras, you need 8 bt878 chips.
I recommend getting a Kodicom 8800 clone, they are cheap on ebay (around $60 including shipping).
I use this card (with heatsinks installed), and use the Pico2000 as a backup card.
More info:
http://www.zoneminder.com/wiki/index.php/Kodicom_8800
http://www.zoneminder.com/forums/viewtopic.php?t=15269 (scroll down to my post)

mastertheknife.


Wed Feb 24, 2010 7:01 pm
Profile

Joined: Mon Oct 19, 2009 6:07 pm
Posts: 24
Post 
Thanks for your response.
I don´t understand why only 3fps and not 7fps almost 30/4cams = 7.5fps...

You think thaht i Can i increase the Size and have a good image?

And i need to put the lines in the modprobe to have better result?

Thank you very much for your help


Wed Feb 24, 2010 7:43 pm
Profile

Joined: Wed Dec 16, 2009 5:32 pm
Posts: 666
Location: Israel
Post 
3fps because switching between inputs also takes some time.
If you want real time (25 fps for PAL, 29.97 for NTSC) you need a real time card, such as the Kodicom 8800 i suggested above.

Increase size, I wouldn't because then image will be interlaced and capturing motion wont be good. Stick to 384x288 for PAL and 320x240 for NTSC for best results.

Put lines in modprobe? Technically you should, but if you are having no problems right now i'm not sure its needed.


Thu Feb 25, 2010 8:52 pm
Profile
User avatar

Joined: Fri Mar 05, 2004 5:47 pm
Posts: 5218
Location: /USA/Washington/Seattle
Post 
Setting the driver correctly might certainly help. You might have to experiment a bit if you don't know the specific card/model but most single chip devices work with card=77 if it's a bt878 but that is a SWAG value that might not help but can't hurt to try. Since ZM needs to lean on the bttv driver to communicate with, and grab an image from the card, it's a pretty important setting.


Thu Feb 25, 2010 10:22 pm
Profile WWW

Joined: Mon Oct 19, 2009 6:07 pm
Posts: 24
Post 
Thank you very much for the advices.
i will try the modprobe.conf

Could you give me some links to read the theory of the CCTV systems to understand better Zoneminder.
Thanks

Best regards


Fri Feb 26, 2010 4:29 am
Profile
User avatar

Joined: Fri Mar 05, 2004 5:47 pm
Posts: 5218
Location: /USA/Washington/Seattle
Post 
I don't have any links per say but cctv (closed circuit television) is standards based typically on NTSC and PAL formats.

http://en.wikipedia.org/wiki/Closed-circuit_television
http://en.wikipedia.org/wiki/NTSC
http://en.wikipedia.org/wiki/PAL
http://en.wikipedia.org/wiki/Interlace

These should get you started and give you enough to google for anything to fill in the gaps.


Fri Feb 26, 2010 6:19 am
Profile WWW

Joined: Mon Oct 19, 2009 6:07 pm
Posts: 24
Post 
Thank you very much , i will read this immediately.
I test this for my 2 cards

Quote:
options bttv card=77,77 tuner=4,4 radio=0,0 triton1=0 vsfx=0 autoload=0


The result was very good and the camera that i had an image in black is in color right know , but after 1 day of test i still having one channel blinking and in the botom of the image i see sometimes an other camera.

After my reset i see this in the dmesg :

Quote:
[ 7.044527] Linux video capture interface: v2.00
[ 7.061481] bttv: driver version 0.9.17 loaded
[ 7.061485] bttv: using 8 buffers with 2080k (520 pages) each for capture
[ 7.061551] bttv: Bt8xx card found (0).
[ 7.061570] bttv 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 7.061583] bttv0: Bt878 (rev 17) at 0000:02:00.0, irq: 16, latency: 16, mmio: 0xfdbff000
[ 7.062372] bttv0: using: GrandTec Multi Capture Card (Bt878) [card=77,insmod option]
[ 7.062410] bttv0: gpio: en=00000000, out=00000000 in=00ff9fff [init]
[ 7.062473] bttv0: tuner absent
[ 7.062537] bttv0: registered device video0
[ 7.062565] bttv0: registered device vbi0
[ 7.062591] bttv0: PLL: 28636363 => 35468950 .. ok
[ 7.102503] bttv: Bt8xx card found (1).
[ 7.102522] bttv 0000:02:04.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 7.102542] bttv1: Bt878 (rev 17) at 0000:02:04.0, irq: 16, latency: 16, mmio: 0xfdbfd000
[ 7.102574] bttv1: using: GrandTec Multi Capture Card (Bt878) [card=77,insmod option]
[ 7.102605] bttv1: gpio: en=00000000, out=00000000 in=00ff91ff [init]
[ 7.102670] bttv1: tuner absent
[ 7.102731] bttv1: registered device video1
[ 7.102758] bttv1: registered device vbi1
[ 7.102787] bttv1: PLL: 28636363 => 35468950 .. ok



Do you have some ideas of waths going wrong?

BEst regards


Fri Feb 26, 2010 7:06 pm
Profile

Joined: Wed Apr 02, 2008 1:04 am
Posts: 944
Post 
Can't tell you what's wrong but I can tell you how it started and how to fix it (from my experience). The monitor you are having problems with was inadvertently assigned the same video device path/channel as the one that's showing up as interference. To fix: change the video device path on the source tab to some value that doesn't exist such as video7(0) and save. Now change it back to the values you want to work.


Fri Feb 26, 2010 11:44 pm
Profile

Joined: Mon Oct 19, 2009 6:07 pm
Posts: 24
Post 
Thank you , i will test this tomorrow morning.

Best regards


Sat Feb 27, 2010 3:56 am
Profile

Joined: Wed Jul 08, 2009 10:43 am
Posts: 28
Location: Johannesburg, South Africa
Post 
I've read this and other threads with much interest.

I understand interlacing and that ZM des not have the ability to display display or record interlaced images correctly. Also, I understand that I will get a 'combing' effect on interlaced images with movement in then,

That said, I still don't understand that my cameras (Sony 1/3" CCD cheap units) specs say they support 420 TV lines. If NTSC is only 240 horizontal lines, my faulty logic suggests I'm losing nearly 90% of my potenital resolution. How do I get an image that is better quality and takes advantage of these supposed 420 lines (instead of NTSC's 240)

If this is just impossible and the 420 lines spec is just marketing rubbish, my next questions is: How do I get a better resolution images without making the jump to $500+ megapixel IP camera. Is there something in between?

Am I limited, not so much by the camreea, but by the bt8xx chipset on my Kodicom card?


Mon Mar 01, 2010 1:00 pm
Profile

Joined: Wed Jun 08, 2005 9:07 pm
Posts: 5110
Location: Midlands UK
Post 
yes its teh card.
You can capture at full ntsc ress (640x480 i think) but if you do that you will get the combing effect.
One way around this is to use progressive scan cameras. They do exist but are not cheap.

this is why most people are advising you to limit to 240 vertical resolution.

_________________
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk


Mon Mar 01, 2010 2:24 pm
Profile WWW

Joined: Mon Oct 19, 2009 6:07 pm
Posts: 24
Post 
Hello, i continue with my problems of instability images and i perform the advice from BB99 and know i have video(0)/3 OK and my video(0)0 with blinking from one camera to another each 2 seconds.... I really don' t understand.
I don't see any error in the logs.... with debug 4.
Wath can i do ?


Mon Mar 01, 2010 5:58 pm
Profile

Joined: Wed Jun 08, 2005 9:07 pm
Posts: 5110
Location: Midlands UK
Post 
have you got both cams set up exactly the same, ie res, pallete etc?

also have you modified any other config settings regarding frame grab ie
CAPTURES_PER_FRAME?

_________________
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk


Mon Mar 01, 2010 6:04 pm
Profile WWW

Joined: Mon Oct 19, 2009 6:07 pm
Posts: 24
Post 
Ok i found it ...
Firstly it was all my monitors very blinking between them and i uncheck the
V4L_MULTI_BUFFER option , and it' s was better.
And i forgot to test with the option CAPTURES_PER_FRAME i put this option to 2 and all my problems disapear.

thanks you very much for your


Tue Mar 02, 2010 12:21 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 15 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group