
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
This is simple webcam application.
webKam requires:
QtRuby(KDE 4.2 or trunk)
GStramer Ruby bindings
Gstreamer plugins good
video4linux compatible webcam
12 years ago
0.3.2
*Brand new Browse tool-menu-button
*Photo directory created when needed - for real this time
0.3.1
*Photo directory created when needed
*Added Flash Effect
*Added shutter sound notification
0.3
Completely new code base. Now webKam is written in Ruby and it uses Qt/KDE for GUI and GStreamer as multimedia engine.
12 years ago
0.3.2
*Brand new Browse tool-menu-button
*Photo directory created when needed - for real this time
0.3.1
*Photo directory created when needed
*Added Flash Effect
*Added shutter sound notification
0.3
Completely new code base. Now webKam is written in Ruby and it uses Qt/KDE for GUI and GStreamer as multimedia engine.
vovan
9 years ago
- requirements bug, program needs ruby-glib2, which is not mentioned in requirements.
Now a showstopper: I got the program to work, but my webcam is not recognized. Kernel log says its connected:
"uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:332d)
input: Vega USB 2.0 Camera. as /devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.3/1-5.3.3/1-5.3.3:1.0/input/input12"
but, webkam cannot find it.
I use Gentoo x64, KDE 4.7.3 and kernel 3.1.2.
Probably, its because kernel has changed meanwhile; perhaps because of v4l1 was depricated and replaced with v4l2. Im not ruby programmer, so if anyone has same issue and several minutes, please contribute how to solve this..
Its just tendency,.. that everytime developer is missing, programs go crap themself. :/
Report
msledziona
9 years ago
/usr/lib64/ruby/site_ruby/1.8/x86_64-linux/qtruby4.so: libsmokebase.so.3: cannot open shared object file: No such file or directory - /usr/lib64/ruby/site_ruby/1.8/x86_64-linux/qtruby4.so (LoadError)
from /usr/lib64/ruby/site_ruby/1.8/Qt.rb:1
from ./webkam_app.rb:1:in `require'
from ./webkam_app.rb:1
from main.rb:1:in `require'
from main.rb:1
I don't get what is wrong, all deps are installed. I use webKam from opensuse repo. Thanks in advance for your reply :)
Report
msledziona
9 years ago
Now I am able to see the app's window, but it does not display video from my webcam (Logitech C270). Other apps like Skype or Kamoso display it properly. When started in Konsole I tried to do a photo (with still no video displayed), but then webKam crashed. Here's what it threw out in terminal:
QPixmap::handle(): Pixmap is not an X11 class pixmap
libv4lconvert: warning more framesizes then I can handle!
libv4lconvert: warning more framesizes then I can handle!
libv4l2: error setting pixformat: Urządzenie lub zasoby zajęte
./webcam_video_stream.rb:175:in `save_frame': undefined method `data' for nil:NilClass (NoMethodError)
from ./photo_page.rb:103:in `save_photo'
from ./photo_page.rb:97:in `loop'
from ./photo_page.rb:97:in `save_photo'
from ./photo_page.rb:63:in `initialize'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2427:in `call'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:2427:in `invoke'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:469:in `qt_metacall'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:469:in `method_missing'
from /usr/lib64/ruby/site_ruby/1.8/Qt/qtruby4.rb:469:in `exec'
from ./webkam_app.rb:45:in `run'
from main.rb:3
./webkam_app.rb: line 47
GLib-GObject-WARNING **:instance of invalid non-instantiatable type `(null)'
./webkam_app.rb: line 47
GLib-GObject-CRITICAL **:g_signal_handler_is_connected: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
Greets :)
Report
vnu007dl
9 years ago
For now in my opinion WebKam is one of the best software for webcams for KDE4, but still is missing one of the most important thing - RECORDING video? When can we do it via Webkam ??
PS. sorry for my english.
Report
Xwarman
10 years ago
"
Report
molecule-eye
10 years ago
Report
mirzaD
11 years ago
when starting webKam this is the message i get ins console:
libv4l2: error setting pixformat: Device or resource busy
./webcam_video_stream.rb:162: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]
Aborted
----------
cheese, kopete and kamoso all work with no problems..
Report
bjlockie
11 years ago
/usr/bin/webkam: line 3: cd: /usr/bin/webkam/../../lib/webkam/: Not a directory
ruby: No such file or directory -- main.rb (LoadError)
Report
Okanda
11 years ago
Debian SID and KDE 4.2
Report
jimmyct
11 years ago
I made it work by modifying the /usr/bin/webkam script like this:
#!/bin/sh
scriptdir=`dirname "$0"`
cd $scriptdir/../lib/webkam/
ruby main.rb
I Don't know if it works for everyone, but you could give it a try ;)
Report
Okanda
11 years ago
Thank you for the tip but it didn't work.
Here is the new output :
------------------
./webcam_video_stream.rb:154:in `<=>': undefined method `<=>' for [320,640]:Gst::IntRange (NoMethodError)
from ./webcam_video_stream.rb:154:in `sort!'
from ./webcam_video_stream.rb:154:in `find_resolutions'
from ./webcam_video_stream.rb:22:in `initialize'
from ./webcam_video_stream.rb:216:in `new'
from ./webcam_video_stream.rb:216:in `instance'
from ./settings.rb:70:in `webcam'
from ./webcam_video_stream.rb:211:in `instance'
from ./main_window.rb:32:in `showEvent'
from ./webkam_app.rb:43:in `method_missing'
from ./webkam_app.rb:43:in `run'
from main.rb:3
(ruby:7997): GStreamer-CRITICAL **:
Trying to dispose element v4l2src0, but it is not in the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
GThread-ERROR **: file /build/buildd-glib2.0_2.20.4-1-i386-6KfM1O/glib2.0-2.20.4/gthread/gthread-posix.c: line 171 (g_mutex_free_posix_impl): error 'Périphérique ou ressource occupé' during 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'
aborting...
/usr/bin/webkam: line 7: 7997 Abandon ruby main.rb
------------------
Line 7 is the "ruby main.rb" line
I don't know what is wrong.
Report
jimmyct
11 years ago
before the fix, the program did not even start, while it is actually starting now, so the fix I proposed is probably working also for you.
It seems that your problem is now that your webcam is already used by some other applications, or you have some driver or library problems. In the first case, you could try to close all the other applications that could be using the webcam; otherwise, I am sorry but I don't know how to debug this :(
Probably the author of the application or other users can give you some advice...
Report
thebadapples
11 years ago
do this:
su -c 'vim /usr/bin/webkam'
and edit it to read:
-----------
#!/bin/sh
cd /usr/lib/webkam/
ruby main.rb
----------
Then it will launch and work as expected.looks like the path to main.rb is getting mixed up.
do this:
su -c 'vim /usr/bin/webkam'
and edit it to read:
-----------
#!/bin/sh
cd /usr/lib/webkam/
ruby main.rb
----------
Then it will launch and work as expected.
You can verify the path on your own system by investigating where the /path/to/lib/webkam is. That's where main.rb is located,which is what /usr/bin/webkam is attempting to point to.
Report
Mikolaj-Q
11 years ago
./webcam_video_stream.rb:62:in `create_video_display_bin': undefined method `set_xwindow_id_with_buswatch' for nil:NilClass (NoMethodError)
from ./webcam_video_stream.rb:49:in `each'
from ./webcam_video_stream.rb:49:in `create_video_display_bin'
from ./webcam_video_stream.rb:88:in `create_pipeline'
from ./webcam_video_stream.rb:17:in `initialize'
from ./webcam_video_stream.rb:216:in `new'
from ./webcam_video_stream.rb:216:in `instance'
from ./settings.rb:70:in `webcam'
from ./webcam_video_stream.rb:211:in `instance'
from ./main_window.rb:32:in `showEvent'
from ./webkam_app.rb:43:in `method_missing'
from ./webkam_app.rb:43:in `run'
from main.rb:3
./webkam_app.rb:47: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
Aborted
=====================
Thanks for your work!
Report
kuchumovn
11 years ago
Report
polvo
11 years ago
kubuntu 9.04, I have this error message:
./webcam_video_stream.rb:154:in `<=>': undefined method `<=>' for [176,1280]:Gst::IntRange (NoMethodError)
from ./webcam_video_stream.rb:154:in `sort!'
from ./webcam_video_stream.rb:154:in `find_resolutions'
from ./webcam_video_stream.rb:22:in `initialize'
from ./webcam_video_stream.rb:216:in `new'
from ./webcam_video_stream.rb:216:in `instance'
from ./settings.rb:70:in `webcam'
from ./webcam_video_stream.rb:211:in `instance'
from ./main_window.rb:32:in `showEvent'
from ./webkam_app.rb:43:in `method_missing'
from ./webkam_app.rb:43:in `run'
from main.rb:3
(main.rb:20695): GStreamer-CRITICAL **:
Trying to dispose element v4l2src0, but it is not in the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
GThread-ERROR **: file /build/buildd/glib2.0-2.20.1/gthread/gthread-posix.c: line 171 (g_mutex_free_posix_impl): error 'Device or resource busy' during 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'
aborting...
Aborted
Any idea?
Report
jbpuertam
11 years ago
Report
Quintasan1
11 years ago
Report
jat5381
11 years ago
How can I troubleshoot this to determine the root cause?
Report
jat5381
11 years ago
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_ref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_ref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_ref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_fixed: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_pad_set_caps: assertion `caps == NULL || gst_caps_is_fixed (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_fixed: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_empty: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_any: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_empty: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_any: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_copy: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_fixed: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_empty: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_any: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_empty: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_is_any: assertion `GST_IS_CAPS (caps)' failed
(main.rb:6125): GStreamer-CRITICAL **: gst_caps_copy: assertion `GST_IS_CAPS (caps)' failed
/usr/lib/ruby/1.8/Qt/qtruby4.rb:820: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
Aborted
Report
Fri13
11 years ago
I had few suggestion to make this even more popular application.
Extend it's use as video diary.
Set it to allow user to use microphone on the webcams (other sources as well) and the video/snapshot feature.
I believe there is people who would like to record diaries on themselfs on it. Like just taking a snapshot and then recording the voice-only.
The laptop users would like that to make recordings of easily and then just get them automatically stored to harddrive wanted directory by date and short explanation with nepomuk tags/rating etc.
I have webcam and our family has liked to do these, because you can then easily store them to drive and when the DVD-size is reached or wanted period is gone trought, the DVD gets burned and stored to shelf.
This way diaries comes more personal when you can leave messages on them by sound-only / sound+snapshot / sound+video combinations.
We have done these now trought kdenlive but it is too massive application for it and small, simple application would be hit the star! ;-)
Report
thuban
11 years ago
Report
plaristote
11 years ago
It's a good app, nice and easy. Do you plan on making it able to record video (taking sound also) ?
Report
mintlars
11 years ago
Nice app, though I cant test it a lot because it doesn't seem to like my webcam at all. No picture at all in webKam, but it works perfectly fine in Kopete.
It's a built in camera on a samsung nc10 netbook. I know this netbook still isn't supported very well in linux, but the webcam always worked fine in cheese.
Report
gimox
11 years ago
Thanks !
Report