Sida 1 av 2

Webkamera-program till Linux?

Postat: 28 december 2006, 18:55:41
av JimmyAndersson
Tråden försvann, så här kommer en repris:


Jag söker någon form av webkamera-program till Linux (Debian). Det enda jag egentligen behöver är något som tar en bild när kommandot/programmet körs och sparar bilden på datorn.

Någon som känner till något sådant?




Macce skrev:
Har du installerat kernelmodulen för kameran?

Isåfall, kolla min signatur
T.ex. första träffen verkar helt bra...

Postat: 28 december 2006, 18:56:24
av JimmyAndersson
"Har du installerat kernelmodulen för kameran?"

Nop, men nu hittade jag kernelmodulen för STV0680-chipet som min kamera använder. Till Windows har det varit smått omöjligt att hitta något till kameran, så därför kollade jag inte ens om den fanns för Linux. Men nu när jag kollat så ser jag att kameran/chipet är betydligt mer vanligt i Linux-världen än Windows-värden.

http://stv0680-usb.sourceforge.net/ är en av sajterna jag hittade. Ska kika närmare nu och se hur det fungerar.


edit 2: Nähepp, den ville ha X-windows för att fungera. Men så hittade jag
den här sidan
där kernel-modulen fanns. Filändelsen var (enligt webläsaren) .ipk men när jag laddat hem filen så visade det sig att det var en vanlig gz-fil. Trevligt.

Hela namnet på chipet i kameran är STV0680A-002




I den senaste länken stod det att filen var en kernel-modul för kameran. När jag nu packat upp filen och läser readme-filen så står det:

"pencam-download is a simple commmand-line utility for extracting the photos from micro-cameras based on the ST Microelectronics STV0680B chip." .... " You must unload the stv068 kernel module before running this software."

Det är alltså ett program trots att det stod att det var en kernel-modul.

edit: En annan sajt som ofta dyker upp i länkar om chipet är den här sajten
som går vidare till denna.
Tyvärr är det ganska gammal och buggig. Avslutas tydligen var 5e minut ungefär och det är ju inte så bra.

edit 2: Testade ändå att köra en make på den filen. Det resulterade i masssor med fel, typ "deferencing pointer to incomplete type" och "syntax error".

Läste mer om filen i länken ovan och den ska tydligen vara väldigt buggig redan vid 'make-delen', så det beror tydligen inte på mig.



Någon som kan hjälpa mig med att hitta en förhållandevis ny kernel-modul för kameran? Har kollat igenom 57st länkar nu, så man kan lugnt säga att jag sökt.

Postat: 29 december 2006, 17:38:34
av JimmyAndersson
Det var ganska tyst i den här tråden.. :)
Hade velat ha webbkameran på servern i morgon, men om det inte dyker upp någon lösning så får nog labbdatorn agera webkamerabildhämtare.

Såg att det var några fler som tänkte sätta upp webkameror och bl.a visa nyårsfyrverkerier. Som jag skrivit tidigare så tar jag gärna emot länkar till dem. De länkarna kommer finnas på en av mina sajter.

Länkar tas emot på *mail* : jimmy spam @ spam varion spam . se
(Ta bort 'spam')

Om ni vill att ert fönster (som öppnas när man klickar på er länk) ska ha någon viss storlek eller liknande så är det bara att skriva det i mailet. :)

Sidan som visar länkarna till kamerorna kommer finnas på www.varion.se/webkameror
(Den sidan dyker upp någon gång under kvällen.)

Postat: 29 december 2006, 18:34:55
av Macce
Jag provade att kompliera kernelmodulen från sourceforge-sidan men fick det ej att gå. Efter lite googling hittade jag en Webcam HOWTO för Debian.
Där står det bl.a. lite om libusb, som kan vara intressant

Kod: Markera allt

If you have a USB webcam, it is likely a Linux driver has been written for your device.
There are two ways of supporting USB devices in Linux. One is the more traditional
kernel support, and the other is through libusb. For at least one webcam category,
the STV0680-based models, working libusb support is recommended, at least according
to the Sourceforge page on the subject.

Unless you know your driver requires libusb support, you should probably stick with the
more conventional in-kernel support for USB devices beginning in Section 2.2.1.2. 
I del 4.1 finns det några program som kan ta bilder från konsolen.

Postat: 29 december 2006, 23:11:25
av JimmyAndersson
Intressant sajt!

Under 3.1 hittade jag:
"The Linux kernel requires a virtual device node be created to access and control the device in question. It may have already been created for you at boot-up; ls -l /dev/video*"

När jag listar alla video* i /dev så hittar jag 64st.
Körde dmesg och hittade STV0680 som är "kopplad" till video0. Så då verkar det som att mitt tidigare försök fungerade... konstigt, men man kanske inte ska ropa hej ännu.

Kärnan har libusb eftersom jag ser usbdevfs och usbfs. Så långt är allt ok.

Eftersom jag felmeddelande när jag testade med filerna under "2.3.10. STV0680 based Models" så ska jag testa med streamer (under "4.1.1. Streamer").

Återkommer strax. :)

Postat: 29 december 2006, 23:35:36
av JimmyAndersson
Testade med xawtv-3.95 (som innehåller streamer). Körde ./configure och fick:

/bin/sh: /line1: ../configure: Permission denied
make *** [arc -i586-linux/makefile] error 126


Det blir samma sak om jag kör make direkt.

Permission denied?? Jag är inloggad som root och har rättigheter till mappen mm. Det har fungerat fint med andra grejjer tidigare och jag har inte ändrat några rättigheter.


En grejj till förresten:
Det stod att programmet kräver libjpeg och libjpeg-devel (och tillhörande *-devel). Jag hittar inte libjpeg-devel med apt-cache search .

Postat: 29 december 2006, 23:51:53
av ehf
Jag gjorde en sökning med apt och fick fram dessa:

libjpeg-progs - Programs for manipulating JPEG files
libjpeg62 - The Independent JPEG Group's JPEG runtime library
libjpeg62-dev - Development files for the IJG JPEG library
imgsizer - Adds WIDTH and HEIGHT attributes to IMG tags in HTML files
libjpeg-mmx-dev - Development files for the IJG JPEG library with mmx optimization
libjpeg-mmx-progs - Programs for manipulating jpeg files using mmx optimization


Men det kanske inte är de paketen dyu behöver?

Edit: Hittade http://www.ijg.org/ via sourceforge.

Postat: 30 december 2006, 00:36:42
av JimmyAndersson
Klickade på några länkar (på sidan du länkade till) vilket gjorde att InternetExplorer avslutades utan förvarning. Samma sak två gånger, så där fanns inget nyttigt. :)

libjpeg62-dev är nog den som ser ut att stämma bäst. Äh, jag testar att installera den. :)

Men permission-felet kvarstår. Kommer inte på vad som kan vara fel.

Postat: 30 december 2006, 00:51:19
av ehf
xavtv finns via apt-get så om du drar ner den därifrån så slipper du förhoppningsvis en massa kompilerande. men jag har för mig att jag fick ett liknande problem förut. det visade sig att jag missade nåt paket som gjorde att filen inte gick att komma åt.

Har det skapats nån logfil? isf borde det stå vad som saknas i den.

ps. sorry för mitt svammel, får skylla på att jag är trött, som förmodligen gör så att jag skriver innan jag tänker :shock:

Edit: sidan jag länkade till ska enligt sourceforge vara libjpegs hemsida. verkar som att sidan är lite allergisk mot ms, eller kanske rent av dig ;) nej men jag tror som du att det borde funka med det paketet du drog ner nu, men det kanske behövs nåt ytterligare paket.

Postat: 30 december 2006, 01:03:46
av JimmyAndersson
Du svamlar absolut inte. xawtv fanns mycket riktigt även med apt-get. Lika så "streamer", så nu är det installerat och klart. :)

Ska bara kolla igenom manualfilerna lite för det hjälpte inte att skriva:
streamer -c /dev/video0 -b 16 -o bild.jpg

Det stod att jag inte har specificerat formatet, men det löser sig säkert när jag läst manualen. :)


Macce & ehf: Tack för hjälpen och puttarna i rätt riktning!



edit: Så här var felmeddelandet:
Neither audio nor video format specified/found

Trots att jag nu kollat igenom manual-filerna och gjort som man ska. Har testat bl.a:

streamer -c /dev/video0 -b 16 -o bild.jpg
streamer -o bild.jpg -f jpeg -c /dev/video -r 1 -t 1 -j 75

Så det är inget som jag missat där iallafall.



edit 2:
Sammanfattning:

Streamer är installerat och jag är säker på att jag skrivit rätt.
/dev/video0 är kopplat till STV0680 (kamerachipet).
usb-filsystemet finns.
Root tillhör gruppen video som "kommer åt" /dev/video0.

Något jag missat?

Postat: 30 december 2006, 01:29:32
av ehf
såg detta i manualen:

If you get the "neither audio nor video format specified/found" message and don’t know why, you can enable the debug output (-d switch) to see what is going on.

Postat: 30 december 2006, 01:48:22
av JimmyAndersson
Då får jag en skärm full med "ext missmatch [need jpg]".

Ändrade från .jpg till .jpeg (som det står i manualen) och plockade bort -d . Då fylldes skärmsida efter skärmsida med:

ioctl: VIDIOCMCAPTURE (frame=0; height=249; width=320; format=4) : invalid argument.

Detta trots att jag testat med dels det jag skrivit i förra inlägget, men även med exemplen i manual-filen. "Invalid argument" borde inte kunna betyda att något argument är fel när jag kopierat från manualen...

Postat: 30 december 2006, 03:33:50
av Macce
Permissionproblemet får du löst genom att chmodda filen du vill köra +x.

Nä, nu skall jag iväg till Göteborg. Förhoppningsvis får du det att fungera!

Postat: 30 december 2006, 03:39:20
av JimmyAndersson
Aha, det var ett sånt problem. Ska kika på det.


Ha det så kul i Göteborg! :)


edit: Nu försvann permission-problemet.

edit 2: Men något är fortfarande galet. Jag får detta meddelande när jag kör streamer:

usb_control /bulk_msg: timeout
stv680.c: [stv_init:497] STV(e): Could not set video mode in stv_init
v41: open /dev/video0: operation not permitted
no grabber device avaiable


Frågan är om det fortfarande är modulen för kameran som bråkar eller om det är något annat.
Har satt chmod +x för /dev/video0.


edit 3: Framgång!

streamer -o bild.jpeg -s 352x288 gav en bild!
Kameran klarar tydligen bara vissa bestämda storlekar på bilden. CIF (352x288) är en av dem.

Visserligen är det ett stort hack mitt på bilden, ungefär som man har klippt av den på mitten och flyttat understa delen åt vänster, men det skulle kunna bero på att jag har en USB-förlängningsladd kopplad till kameran.

Det jag blev starkt förvånad över var att bildkvalitén blev MYCKET bättre än när jag hade kameran i Win98 med de medföljande drivrutinerna. Då blev bilden mörk och trist så fort man inte hade en lampa i närheten.


Nu ska det sovas. I morgon sätter jag upp webbkameran och sidan på nätet. :)

Postat: 31 december 2006, 00:53:43
av JimmyAndersson
"Visserligen är det ett stort hack mitt på bilden, ungefär som man har klippt av den på mitten och flyttat understa delen åt vänster, men det skulle kunna bero på att jag har en USB-förlängningsladd kopplad till kameran."

Det hjälpte tyvärr inte att byta till en kortare USB-sladd. Bilden är fortfarande "klippt", enligt beskrivningen ovan.


Någon som har en idé på vad det beror på och hur man löser det?