Philips PCVC740K green/red pixelated snapshots

Post here to ask any questions about hardware suitability, configuration in ZoneMinder, or experiences. If you just want to know if something works with ZoneMinder or not, please check the Hardware Compatibility sections in the forum, and the Wiki first. Also search this topic as well.
Post Reply
user888
Posts: 13
Joined: Wed Apr 28, 2010 6:48 am

Philips PCVC740K green/red pixelated snapshots

Post by user888 »

Hi,

I've got a Philips PCVC740K ToUCam Pro USB webcam. When taking snapshots with v4l (v4lctl -c /dev/video0 snap jpeg full ./v4l.jpg) it looks good: see this pic (made in complete darkness)
When using it in ZoneMinder it looks like this

ZM->Monitor->Source:
  • Video For Linux version 2 (with version 1: zmc -d /dev/video0' exited abnormally, exit status 255)
    Channel: 0
    Format: PAL
    Palette: YUV420 (shouldn't there be an YUV420P option also??)
    640x480

Code: Select all

rpm -qa | grep ZoneMinder ; rpm -qa | grep "v4l" ; uname -a
ZoneMinder-1.24.2-5.1.x86_64
libv4l1-0-0.6.4-1.pm.5.1.x86_64
v4l-conf-3.95-211.1.x86_64
libv4l2-0-0.6.4-1.pm.5.1.x86_64
libv4lconvert0-0.6.4-1.pm.5.1.x86_64
v4l-tools-3.95-211.1.x86_64
libv4l-0.6.4-1.pm.5.1.x86_64
Linux turpin 2.6.31.12-0.2-mdb #3 SMP Sat Mar 27 18:53:57 CET 2010 x86_64 x86_64 x86_64 GNU/Linux
Anyone has tips for me? I saw that other people had it working in the past.

Code: Select all

zmu -d /dev/video0 -q -v -V 1
Video Device: /dev/video0
Video Capabilities
  Name: Philips 740 webcam
  Type: 1
    Can capture
  Video Channels: 1
  Audio Channels: 1
  Maximum Width: 640
  Maximum Height: 480
  Minimum Width: 160
  Minimum Height: 120
Window Attributes
  X Offset: 0
  Y Offset: 0
  Width: 640
  Height: 480
Picture Attributes
  Palette: 15 - YUV 4:2:0 Planar
  Colour Depth: 24
  Brightness: 32256
  Hue: 65535
  Colour :32768
  Contrast: 19456
  Whiteness: 22528
Channel 0 Attributes
  Name: Webcam
  Channel: 0
  Flags: 0
  Type: 2 - Camera
  Format: 0 - PAL

Code: Select all

zmu -d /dev/video0 -q -v -V 2
Error, failed to query crop capabilities /dev/video0: Invalid argument
I tried al other palletes as well, but all resulted in no picture at all.

Code: Select all

lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 1415:2000 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc. Sony Playstation Eye
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[b]Bus 006 Device 002: ID 0471:0311 Philips PCVC740K ToUcam Pro [pwc][/b]
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Code: Select all

v4l-info /dev/video0

### v4l2 device info [/dev/video0] ###
general info
    VIDIOC_QUERYCAP
	driver                  : "pwc"
	card                    : "Philips 740 webcam"
	bus_info                : "usb-0000:00:13.1-3"
	version                 : 10.0.12
	capabilities            : 0x5000001 [VIDEO_CAPTURE,READWRITE,STREAMING]

standards
    VIDIOC_ENUMSTD(0)
	index                   : 0
	id                      : 0x0 []
	name                    : "webcam"
	frameperiod.numerator   : 0
	frameperiod.denominator : 0
	framelines              : 0

inputs
    VIDIOC_ENUMINPUT(0)
	index                   : 0
	name                    : "usb"
	type                    : unknown
	audioset                : 0
	tuner                   : 0
	std                     : 0x0 []
	status                  : 0x0 []

video capture
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
	index                   : 0
	type                    : VIDEO_CAPTURE
	flags                   : 1
	description             : "Raw Philips Webcam"
	pixelformat             : 0x32435750 [PWC2]
    VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
	index                   : 1
	type                    : VIDEO_CAPTURE
	flags                   : 0
	description             : "4:2:0, planar, Y-Cb-Cr"
	pixelformat             : 0x32315559 [YU12]
    VIDIOC_G_FMT(VIDEO_CAPTURE)
	type                    : VIDEO_CAPTURE
	fmt.pix.width           : 640
	fmt.pix.height          : 480
	fmt.pix.pixelformat     : 0x32315559 [YU12]
	fmt.pix.field           : NONE
	fmt.pix.bytesperline    : 960
	fmt.pix.sizeimage       : 460800
	fmt.pix.colorspace      : unknown
	fmt.pix.priv            : 0

controls
    VIDIOC_QUERYCTRL(BASE+0)
	id                      : 9963776
	type                    : INTEGER
	name                    : "Brightness"
	minimum                 : 0
	maximum                 : 128
	step                    : 1
	default_value           : 64
	flags                   : 0
    VIDIOC_QUERYCTRL(BASE+1)
	id                      : 9963777
	type                    : INTEGER
	name                    : "Contrast"
	minimum                 : 0
	maximum                 : 64
	step                    : 1
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(BASE+2)
	id                      : 9963778
	type                    : INTEGER
	name                    : "Saturation"
	minimum                 : -100
	maximum                 : 100
	step                    : 1
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+0)
	id                      : 134217728
	type                    : BUTTON
	name                    : "Save User Settings"
	minimum                 : 0
	maximum                 : 0
	step                    : 0
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+1)
	id                      : 134217729
	type                    : BUTTON
	name                    : "Restore User Settings"
	minimum                 : 0
	maximum                 : 0
	step                    : 0
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+2)
	id                      : 134217730
	type                    : BUTTON
	name                    : "Restore Factory Settings"
	minimum                 : 0
	maximum                 : 0
	step                    : 0
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+3)
	id                      : 134217731
	type                    : BOOLEAN
	name                    : "Colour mode"
	minimum                 : 0
	maximum                 : 1
	step                    : 1
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+4)
	id                      : 134217732
	type                    : BOOLEAN
	name                    : "Auto contour"
	minimum                 : 0
	maximum                 : 1
	step                    : 1
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+5)
	id                      : 134217733
	type                    : INTEGER
	name                    : "Contour"
	minimum                 : 0
	maximum                 : 63
	step                    : 1
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+6)
	id                      : 134217734
	type                    : BOOLEAN
	name                    : "Backlight compensation"
	minimum                 : 0
	maximum                 : 1
	step                    : 1
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+7)
	id                      : 134217735
	type                    : BOOLEAN
	name                    : "Flickerless"
	minimum                 : 0
	maximum                 : 1
	step                    : 1
	default_value           : 0
	flags                   : 0
    VIDIOC_QUERYCTRL(PRIVATE_BASE+8)
	id                      : 134217736
	type                    : INTEGER
	name                    : "Noise reduction"
	minimum                 : 0
	maximum                 : 3
	step                    : 1
	default_value           : 0
	flags                   : 0

### video4linux device info [/dev/video0] ###
general info
    VIDIOCGCAP
	name                    : "Philips 740 webcam"
	type                    : 0x1 [CAPTURE]
	channels                : 1
	audios                  : 1
	maxwidth                : 640
	maxheight               : 480
	minwidth                : 160
	minheight               : 120

channels
    VIDIOCGCHAN(0)
	channel                 : 0
	name                    : "Webcam"
	tuners                  : 0
	flags                   : 0x0 []
	type                    : CAMERA
	norm                    : 0

tuner
ioctl VIDIOCGTUNER: Invalid argument

audio
    VIDIOCGAUDIO
	audio                   : -1
	volume                  : 0
	bass                    : 0
	treble                  : 0

picture
    VIDIOCGPICT
	brightness              : 32256
	hue                     : 65535
	colour                  : 32768
	contrast                : 19456
	whiteness               : 22528
	depth                   : 24
	palette                 : YUV420P

buffer
    VIDIOCGFBUF
	base                    : (nil)
	height                  : 0
	width                   : 0
	depth                   : 0
	bytesperline            : 0

window
    VIDIOCGWIN
	x                       : 0
	y                       : 0
	width                   : 640
	height                  : 480
	chromakey               : 0
	flags                   : 655360
user888
Posts: 13
Joined: Wed Apr 28, 2010 6:48 am

Post by user888 »

I used the LD_PRELOAD trick, to no avail. Tried all these lines (one by one of course):

Code: Select all

$ENV{LD_PRELOAD} = '/usr/lib64/libv4l/v4l1compat.so'; 
$ENV{LD_PRELOAD} = '/usr/lib64/libv4l/v4l2compat.so';
$ENV{LD_PRELOAD} = '/usr/lib64/libv4l/v4l2convert.so';
$ENV{LD_PRELOAD} = '/usr/lib/libv4l/v4l1compat.so'; 
$ENV{LD_PRELOAD} = '/usr/lib/libv4l/v4l2compat.so';
$ENV{LD_PRELOAD} = '/usr/lib/libv4l/v4l2convert.so'; 
I run x64, but also tried the 32-bit libraries.
User avatar
kingofkya
Posts: 1110
Joined: Mon Mar 26, 2007 6:07 am
Location: Las Vegas, Nevada

Post by kingofkya »

try setting pallet to auto or secam I highly dought its pal or ntsc for that matter.
user888
Posts: 13
Joined: Wed Apr 28, 2010 6:48 am

Post by user888 »

Doesn't help. I tried all PAL/SECAM/NTSC options.
User avatar
kingofkya
Posts: 1110
Joined: Mon Mar 26, 2007 6:07 am
Location: Las Vegas, Nevada

Post by kingofkya »

did you restart zoneminder between changes.

Also in the program that wokes try to get all the setting zm needs from it and see if it works. resolution pallet color depth etc.
Andy_NL
Posts: 1
Joined: Wed May 05, 2010 7:19 pm

Post by Andy_NL »

I happen to have the exact same webcam and unfortunately the same problem. I'dd love to see this problem solved.
Like user888, I've tried every suggestion without any usefull result.

A command like

Code: Select all

ffmpeg -f video4linux2 -s 640x480 -r 30000/1001 -i /dev/video0 -y /tmp/webcam.avi
gives a nice capture video.

Code: Select all

FFmpeg version SVN-r23017, Copyright (c) 2000-2010 the FFmpeg developers
  built on May  4 2010 22:47:08 with gcc 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036]
  configuration: --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-gpl
  libavutil     50.15. 0 / 50.15. 0
  libavcodec    52.66. 0 / 52.66. 0
  libavformat   52.62. 0 / 52.62. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0.10. 0 /  0.10. 0
[video4linux2 @ 0x8bec420]Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2, from '/dev/video0':
  Duration: N/A, start: 1273088856.223376, bitrate: 110481 kb/s
    Stream #0.0: Video: rawvideo, yuv420p, 640x480, 110481 kb/s, 29.97 tbr, 1000k tbn, 29.97 tbc
Output #0, avi, to '/tmp/webcam.avi':
  Metadata:
    ISFT            : Lavf52.62.0
    Stream #0.0: Video: mpeg4, yuv420p, 640x480, q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
frame=   58 fps= 10 q=31.0 Lsize=     491kB time=5.64 bitrate= 713.7kbits/s
video:482kB audio:0kB global headers:0kB muxing overhead 1.979594%
Any additional suggestions are appreciated.

Andy
Post Reply