On Wed, 10 Mar 2010 11:07:21 +0100, gregor herrmann wrote: > But the question with the LED is good. I admit that I haven't checked > yesterday but it worked the last time I checked, and I will have a > look later today.
> AFAICS some are and some partly. IIRC I tried with a simpler script > some time ago (which I have deleted of course but maybe we can write > up something quickly). Good news: What I did: * Simplify examples/grab (by commenting out the $tuner lines), attached, diff below. * With libvideo-capture-v4l-perl 0.902-1: The LED lights up, and: gre...@nerys:/tmp$ ./grab Device: name USB Camera (046d:08a2), type capture, channels 1, audios 0, sizes 48x32-640x480 Channel 0: name zc3xx, tuners 0, flags, type camera, norm 0 Audio Channel 0: volume 0, bass 0, treble 0, flags, name Microphone, mode 0, balance 0, step 1 Picture Settings: brightness 32896, hue 0, colour 0, contrast 32768, whiteness 39321, depth 8, palette 0 .unable to sync at ./grab line 120. The LED extinguishes. * With libvideo-capture-v4l-perl 0.902-2: LED comes up, output: gre...@nerys:/tmp$ ./grab Device: name USB Camera (046d:08a2), type capture, channels 1, audios 0, sizes 320x240-640x480 Channel 0: name zc3xx, tuners 0, flags, type camera, norm 0 Audio Channel 0: volume 0, bass 0, treble 0, flags, name Microphone, mode 0, balance 0, step 1 Picture Settings: brightness 32896, hue 0, colour 0, contrast 32768, whiteness 39321, depth 24, palette 4 ................................................................^C So it looks like the sync works until I press Ctrl-C. There's definitely a difference :) Cheers, gregor grab diff: --- /home/gregoa/src/svn-pkg-perl/trunk/libvideo-capture-v4l-perl/examples/grab 2007-07-30 21:03:29.000000000 +0200 +++ /tmp/grab 2010-03-10 20:06:45.000000000 +0100 @@ -99,10 +99,10 @@ print_picture $grab->picture; my $channel = $grab->channel (0); -my $tuner = $grab->tuner (0); -$tuner->mode(TUNER_PAL); +#my $tuner = $grab->tuner (0); +#$tuner->mode(TUNER_PAL); $channel->norm(MODE_PAL); -$tuner->set; +#$tuner->set; $channel->set; $RTL2 = 154250; -- .''`. http://info.comodo.priv.at/ -- GPG Key IDs: 0x8649AA06, 0x00F3CFE4 : :' : Debian GNU/Linux user, admin, & developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe `- NP: Rolling Stones: Goingtomemphis
#!/usr/bin/perl use Video::Capture::V4l; sub print_capability { my $c=shift; print "Device: "; print "name ",$c->name; print ", type"; for (qw(capture tuner teletext overlay chromakey clipping frameram scales monochrome subcapture)) { print " $_" if eval "\$c->$_"; } print ", channels ",$c->channels; print ", audios ",$c->audios; print ", sizes ",$c->minwidth,"x",$c->minheight,"-",$c->maxwidth,"x",$c->maxheight; print "\n"; } sub print_channel { my $c=shift; print "Channel ",$c->channel,": "; print "name ",$c->name; print ", tuners ",$c->tuners; print ", flags"; for (qw(tuner audio)) { print " $_" if eval "\$c->$_"; } print ", type"; for (qw(tv camera)) { print " $_" if eval "\$c->$_"; } # PAL, NTSC, SECAM, PAL-NC, PAL-M, PAL-N, NTSC-Japan print ", norm ",$c->norm; print "\n"; } sub print_tuner { my $c=shift; print "Tuner ",$c->tuner,": "; print "name ",$c->name; print ", range ",$c->rangelow,"-",$c->rangehigh; print ", flags"; for (qw(pal ntsc secam low norm stereo_on rds_on mbs_on)) { print " $_" if eval "\$c->$_"; } print ", mode ",$c->mode; print ", signal ",$c->signal; print "\n"; } sub print_audio { my $c=shift; print "Audio Channel ",$c->audio,": "; print "volume ",$c->volume; print ", bass ",$c->bass; print ", treble ",$c->treble; print ", flags"; for (qw(mute mutable volume bass treble)) { print " $_" if eval "\$c->$_"; } print ", name ",$c->name; print ", mode ",$c->mode; print ", balance ",$c->balance; print ", step ",$c->step; print "\n"; } sub print_picture { my $c=shift; print "Picture Settings: "; print "brightness ",$c->brightness; print ", hue ",$c->hue; print ", colour ",$c->colour; print ", contrast ",$c->contrast; print ", whiteness ",$c->whiteness; print ", depth ",$c->depth; print ", palette ",$c->palette; print "\n"; } $grab = new Video::Capture::V4l or die "Unable to open Videodevice: $!"; print_capability $grab->capability; for (0..$grab->capability->channels-1) { print_channel $grab->channel($_); } for($_=0; my $tuner = $grab->tuner($_); $_++) { last if $tuner->tuner != $_; print_tuner $tuner; } for($_=0; my $audio = $grab->audio($_); $_++) { last if $audio->audio != $_; print_audio $audio; } print_picture $grab->picture; my $channel = $grab->channel (0); #my $tuner = $grab->tuner (0); #$tuner->mode(TUNER_PAL); $channel->norm(MODE_PAL); #$tuner->set; $channel->set; $RTL2 = 154250; $RTL2 = 196250; print $grab->freq ($RTL2),"\n"; $|=1; my $frame=0; my $fr=$grab->capture ($frame, 640, 480); for(;;) { my $nfr = $grab->capture (1-$frame, 640, 480); $grab->sync($frame) or die "unable to sync"; # save $fr now, as it contains the raw BGR data print "."; $frame = 1-$frame; $fr = $nfr; }
signature.asc
Description: Digital signature