Infoseite // DV-Kamera Panasonic NV-GS180 als Webcam unter Suse 10.3



Frage von Eckart Pluennecke:


Hallo

Ich hab mal aus Langerweile probiert, meine Videokamera NV-GS 180 als Webcam
unter Suse 10.3 zum laufen zu bringen. Die Kamera ist bei USB-Anschluss im
Webcam-Modus. Nach Anschluss der Kamera und Installation des Moduls
uvcvideo funktioniert das auch schon fast, aber eben nur fast.

Das einzige Programm, welches mir ein Bild anzeigt, ist luvcview. Mit dem
Aufruf von luvcview -d /dev/video -i 12 bekomme ich ein Bild mit ca. 12 fps
zu sehen und luvcview meldet:

luvcview 0.2.4

SDL information:
Video driver: x11
A window manager is available
Device information:
Device path: /dev/video
Stream settings:
Frame format: MJPG
Frame size: 320x240 (;requested size 640x480 is not supported by device)
Frame rate: 25/2 fps (;requested frame rate 12 fps is not supported by
device)

Soweit geht das also.

Aber z.B. in Kopete kommt nur ein schwarzes Bild. vlc meldet "[00000322] v4l
demuxer error: cannot get channel infos (;Das Argument ist ungültig)". xawtv
ist etwas gesprächiger, aber für mich unverständlich:

This is xawtv-3.95, running on Linux/i686 (;2.6.22.18-0.2-bigsmp)
xinerama 0: 1680x1050 0 0
/dev/video0 [v4l2]: no overlay support
v4l-conf had some trouble, trying to continue anyway
ioctl: VIDIOC G STD(;std%0xb7fb65dfbfaf8a60
[PAL D,PAL D1,PAL N,PAL 60,?,SECAM B,SECAM D,SECAM G,SECAM H,SECAM K1,?ATSC 8 VSB,ATSC 16 VSB
(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null)
(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null)
(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null)]):
Das Argument ist ungültig
ioctl: VIDIOC S STD(;std%0x0 []): Das Argument ist ungültig
no way to get: 384x288 32 bit TrueColor (;LE: bgr-)

Und jetzt steh ich auf dem besagten Schlauch und weiss nicht mehr, wo
weitersuchen. Kann es sein dass es an der Gösse vom 320x240 liegt oder der
etwas eigenartigen 25/2 fps? Oder daran, dass das ganze als MJPG ankommt?

Ich würde mich freuen, wenn mir jemand sagen könnte, wie ich das Videobild,
was ja offensichtlich im PC ankommt, in kopete oder vlc oder ähnliches
bekomme.

Danke schonmal und Grüsse aus dem Emmental
Ecki



Space


Antwort von Dirk Thierbach:

Eckart Pluennecke wrote:
> Ich hab mal aus Langerweile probiert, meine Videokamera NV-GS 180 als Webcam
> unter Suse 10.3 zum laufen zu bringen. Die Kamera ist bei USB-Anschluss im
> Webcam-Modus. Nach Anschluss der Kamera und Installation des Moduls
> uvcvideo funktioniert das auch schon fast, aber eben nur fast.

> Das einzige Programm, welches mir ein Bild anzeigt, ist luvcview.
[...]
> Aber z.B. in Kopete kommt nur ein schwarzes Bild. vlc meldet "[00000322] v4l
> demuxer error: cannot get channel infos (;Das Argument ist ungültig)". xawtv
> ist etwas gesprächiger, aber für mich unverständlich:

> ioctl: VIDIOC G STD(;std%0xb7fb65dfbfaf8a60
[...]
> Das Argument ist ungültig

> Und jetzt steh ich auf dem besagten Schlauch und weiss nicht mehr, wo
> weitersuchen. Kann es sein dass es an der Gösse vom 320x240 liegt oder der
> etwas eigenartigen 25/2 fps? Oder daran, dass das ganze als MJPG ankommt?

> Ich würde mich freuen, wenn mir jemand sagen könnte, wie ich das Videobild,
> was ja offensichtlich im PC ankommt, in kopete oder vlc oder ähnliches
> bekomme.

Ich kann Dir das nicht sagen, aber ich kann Dir grob sagen, was
schiefgeht: Die Anwendungsprogramme (;vlc usw.) kommunizieren mit dem
Treiber (;= Kernel-Modul) ueber sogenannte "ioctl"s. Der Treiber, den
Du da geladen hast, unterstuetzt aber mindestens einen ioctl, naemlich
"VIDIOC G STD" (;fragt ab, ob das Bild in PAL/NTSC/SECAM etc. ankommt),
nicht. Daraufhin bekommen offenbar die meisten Programme einen
Schluckauf und wissen nicht mehr so recht, was sie tun sollen.

Ich habe kein Suse, und kenne auch "uvcvideo" nicht, aber dem Namen
nach scheint "luvcview" enger damit verwandt zu sein, und verwendet daher
moeglicherweise nur die iotcl's, die der Treiber auch versteht.

Wenn nicht jemand anderem, der sich besser auskennt, etwas schlaueres
einfaellt, wuerde ich mal feststellen, welcher Treiber (;= welches
Kernel-Modul) da jetzt wirklich aktiv ist (;oder meintest Du mit
"Modul" oben bereits das Kernel-Modul?). Der Quelltext dazu sagt Dir
dann auch, warum VIDIOC G STD nicht unterstuetzt wird (;wenn Du kein C
lesen kannst, tut's vielleicht auch eine freundliche E-Mail an die
Autoren des Moduls, die stehen im Quelltext auch drin.) Ausfuehrliches
Lesen jeglicher Dokumentation, die bei dem Kernel-Modul dabei ist,
schadet auch nicht.

Von der Situation her ist von "der Treiber hat seine eigene
ioctl-Schnittstelle, und unterstuetzt v4l/v4l2 gar nicht" bis zu "mal
eben ein halbes Dutzend Zeilen C in den Quellcode einfuegen, dann
laeuft's" alles drin. Muss man halt nachsehen.

- Dirk


Space


Antwort von Eckart Pluennecke:

Dirk Thierbach wrote:

> Eckart Pluennecke wrote:
>> Ich hab mal aus Langerweile probiert, meine Videokamera NV-GS 180 als
>> Webcam unter Suse 10.3 zum laufen zu bringen. Die Kamera ist bei
>> USB-Anschluss im Webcam-Modus. Nach Anschluss der Kamera und Installation
>> des Moduls uvcvideo funktioniert das auch schon fast, aber eben nur fast.
>
>> Das einzige Programm, welches mir ein Bild anzeigt, ist luvcview.
> [...]
>> Aber z.B. in Kopete kommt nur ein schwarzes Bild. vlc meldet "[00000322]
>> v4l demuxer error: cannot get channel infos (;Das Argument ist ungültig)".
>> xawtv ist etwas gesprächiger, aber für mich unverständlich:
>
>> ioctl: VIDIOC G STD(;std%0xb7fb65dfbfaf8a60
> [...]
>> Das Argument ist ungültig
>
>> Und jetzt steh ich auf dem besagten Schlauch und weiss nicht mehr, wo
>> weitersuchen. Kann es sein dass es an der Gösse vom 320x240 liegt oder
>> der etwas eigenartigen 25/2 fps? Oder daran, dass das ganze als MJPG
>> ankommt?
>
>> Ich würde mich freuen, wenn mir jemand sagen könnte, wie ich das
>> Videobild, was ja offensichtlich im PC ankommt, in kopete oder vlc oder
>> ähnliches bekomme.
>
> Ich kann Dir das nicht sagen, aber ich kann Dir grob sagen, was
> schiefgeht: Die Anwendungsprogramme (;vlc usw.) kommunizieren mit dem
> Treiber (;= Kernel-Modul) ueber sogenannte "ioctl"s. Der Treiber, den
> Du da geladen hast, unterstuetzt aber mindestens einen ioctl, naemlich
> "VIDIOC G STD" (;fragt ab, ob das Bild in PAL/NTSC/SECAM etc. ankommt),
> nicht. Daraufhin bekommen offenbar die meisten Programme einen
> Schluckauf und wissen nicht mehr so recht, was sie tun sollen.

Interessant, darauf bin ich nicht gekommen
>
> Ich habe kein Suse, und kenne auch "uvcvideo" nicht, aber dem Namen
> nach scheint "luvcview" enger damit verwandt zu sein, und verwendet daher
> moeglicherweise nur die iotcl's, die der Treiber auch versteht.
>
> Wenn nicht jemand anderem, der sich besser auskennt, etwas schlaueres
> einfaellt, wuerde ich mal feststellen, welcher Treiber (;= welches
> Kernel-Modul) da jetzt wirklich aktiv ist (;oder meintest Du mit
> "Modul" oben bereits das Kernel-Modul?). Der Quelltext dazu sagt Dir

Ja, "uvcvideo" ist bereits das Kernelmodul und stammt von
http://linux-uvc.berlios.de (;bei packman gibts ein rpm dazu). Das
Kernelmodul ist geladen und wird auch mit v4l genutzt:

eckart@linux:~> lsmod | grep uvc
uvcvideo 68616 0
compat ioctl32 17664 1 uvcvideo
videodev 42752 2 uvcvideo,saa7146 vv
v4l2 common 32896 3 uvcvideo,saa7146 vv,videodev
v4l1 compat 28676 3 uvcvideo,saa7146 vv,videodev
usbcore 136812 7
snd usb audio,snd usb lib,uvcvideo,usb storage,uhci hcd,ehci hcd

luvcview stammt von
http://www.quickcamteam.net/software/linux/v4l2-software/luvcview/

und meldet beim Aufruf von luvcview -L (;damit werden die gültigen
Videoformate abgefragt) folgendes:

luvcview 0.2.4

SDL information:
Video driver: x11
A window manager is available
Device information:
Device path: /dev/video0
/dev/video0 does not support read i/o
{ pixelformat = 'MJPG', description = 'MJPEG' }
{ discrete: width = 320, height = 240 }
Time interval between frame: {min { 2/25 } .. max { 2/25 } /
stepsize { 1/10000000 } },

Warum da steht "/dev/video0 does not support read i/o" ist mir auch nicht
ganz klar. Vielleicht liegt es ja daran, dass die anderen Programme klemmen

Wenn ich bei luvcview übrigens den Parameter für dir Framerate (;-i 12) nicht
angebe, dann verabschiedet sich auch das Programm und meldet nur:

Unable to set frame rate: Input/output error
Init v4L2 failed !! exit fatal

Offenbar erkennt das Programm nicht automagisch die Framrate des Devices.

> dann auch, warum VIDIOC G STD nicht unterstuetzt wird (;wenn Du kein C
> lesen kannst, tut's vielleicht auch eine freundliche E-Mail an die
> Autoren des Moduls, die stehen im Quelltext auch drin.) Ausfuehrliches
> Lesen jeglicher Dokumentation, die bei dem Kernel-Modul dabei ist,
> schadet auch nicht.

In der Mailinglist des Treiber-Projekts gabs letztes Jahr schonmal eine
Frage wegen der gleichen Kamera, aber leider keine abschliessende Klärung.
Aber eine Anfrage in der Mailinglist kann ja nicht schaden.

Ich danke dir aber auf jeden Fall für die Infos.

Ecki



Space


Antwort von Dirk Thierbach:

Eckart Pluennecke wrote:
> Ja, "uvcvideo" ist bereits das Kernelmodul und stammt von
> http://linux-uvc.berlios.de (;bei packman gibts ein rpm dazu).

Ok. Kurzes Suchen in der V4L2 Standarddefinition ergibt:

http://www.linuxtv.org/downloads/video4linux/API/V4L2 API/spec-single/v4l2.html

: To query and select the standard used by the current video input or
: output applications call the VIDIOC G STD and VIDIOC S STD ioctl,
: respectively. The received standard can be sensed with the
: VIDIOC QUERYSTD ioctl. Note parameter of all these ioctls is a pointer
: to a v4l2 std id type (;a standard set), not an index into the standard
: enumeration.[7] Drivers must implement all video standard ioctls when
: the device has one or more video inputs or outputs.
:
: Special rules apply to USB cameras where the notion of video
: standards makes little sense. More generally any capture device,
: output devices accordingly, which is
:
: - incapable of capturing fields or frames at the nominal rate of the
: video standard, or
: - where timestamps refer to the instant the field or frame was
: received by the driver, not the capture time, or
:
: - where sequence numbers refer to the frames received by the driver,
: not the captured frames.
:
: Here the driver shall set the std field of struct v4l2 input and
: struct v4l2 output to zero, the VIDIOC G STD, VIDIOC S STD,
: VIDIOC QUERYSTD and VIDIOC ENUMSTD ioctls shall return the EINVAL
: error code.[8]

Der Teiber-Code tut das mehr oder weniger, vergisst aber dabei, die
Felder auf Null zu setzen:

http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvc v4l2.c

/* Analog video standards make no sense for digital cameras. */
case VIDIOC ENUMSTD:
case VIDIOC QUERYSTD:
case VIDIOC G STD:
case VIDIOC S STD:

case VIDIOC OVERLAY:

case VIDIOC ENUMAUDIO:
case VIDIOC ENUMAUDOUT:

case VIDIOC ENUMOUTPUT:
uvc trace(;UVC TRACE IOCTL, "Unsupported ioctl 0xx ", cmd);
return -EINVAL;

Das erklaert die Fehlermeldung bei xawtv:

: ioctl: VIDIOC G STD(;std%0xb7fb65dfbfaf8a60
: [PAL D,PAL D1,PAL N,PAL 60,?,SECAM B,SECAM D,SECAM G,SECAM H,SECAM K1,
: ?ATSC 8 VS,B,ATSC 16 VSB
: (;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null)
: (;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null)
: (;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null),(;null)]):
: Das Argument ist ungültig
: ioctl: VIDIOC S STD(;std%0x0 []): Das Argument ist ungültig

"Das Argument ist ungültig" entspricht wohl EINVAL, und wird hier offenbar
nicht als die Ausnahme fuer USB-Kameras erkannt. Vieleicht deshalb,
weil eben std%0xb7fb65dfbfaf8a60 nicht Null ist. Moegliche Abhilfen also:

1) Treiber aendern, so dass er die Felder wirklich auf Null setzt.
2) Die Anwendungsprogramme inspizieren, ob sie die Ausnahme fuer USB-Kameras
richtig verarbeiten.

Fuer letzteres sollte man sich zuerst mal die neuesten Versionen besorgen.
Laut Wiki funktioniert mindestens eine aeltere Version von Kopete nicht:

http://openfacts.berlios.de/index-en.phtml?title%Linux UVC

Neueste Versionen von Kopete und xawtv scheinen danach zu funktionieren.
Wenn's damit immer noch haengt, die Entwickler kontaktieren, und
Problem mit obigen Details beschreiben. Oder besser: spendiere einem
Freund, der programmieren kann, bei Dir zu Hause ein Bier, und lass
ihn schnell den Patch schreiben und direkt ausprobieren.

Kann natuerlich immer noch sein, dass das nur der erste Stolperstein ist,
und es noch an anderen Dingen haengt.

- Dirk


Space



Antworten zu ähnlichen Fragen //


Panasonic NV-GS330 MiniDV auf PC
Panasonic NV-DS33EG - MiniDV Kassette steckt fest
Überspielen von MiniDV (Panasonic NV GS280) auf PC
Panasonic Mini-DV NV DS990 nachrüsten?
Panasonic MiniDV Bänder
Panasonic Schultercamcorder DV Out
Panasonic mit Mini DV
Panasonic NV DS 27 und DV IN
Panasonic NV-DV 10.000
msp6.002 keine DV-Ausgabe auf panasonic DS27
Panasonic NV-DS 37 EG DV *PIC*
DV IN für Panasonic NV-GS1EG
Welche FULL HD webcam sowie streamcam als webcam benutzen
Welche FULL HD webcam sowie streamcam als webcam benutzen ?
simple WEBCAM gesucht - neue Webcam Thread
Panasonic S1 als Webcam nutzen
Auch GoPro Hero 8 Black als Webcam nutzbar
Nikon DSLR als Webcam am Mac
Nun auch Sony-Kameras als Webcams nutzbar mit neuer Imaging Edge Webcam Software
Jetzt auch für Windows-Anwender: GoPro HERO8 Black Actioncam als Webcam nutzbar
Canon Legria HF R28 als Webcam?
Denver ac-5000w mk2 als webcam
Fujifilm XF18mmF1.4 R LM WR als Webcam-Ersatz für Streaming
Canon bringt das EOS Webcam Utility in den USA als Pro Version im Abo
FX3 als webcam....klappt nicht...warum??
Die beste Webcam? Teil 2 - DSLMs von Canon, Panasonic und Sigma




slashCAM nutzt Cookies zur Optimierung des Angebots, auch Cookies Dritter. Die Speicherung von Cookies kann in den Browsereinstellungen unterbunden werden. Mehr Informationen erhalten Sie in unserer Datenschutzerklärung. Mehr Infos Verstanden!
RSS Suche YouTube Facebook Twitter slashCAM-Slash