Topic: ffmpeg & chumby one as an IP cam

ffmpeg is working on chumby one. I recompile the pwc webcam kernel module, plugged-in my philips pwc 900nc webcam. The kernel recognized it:

Linux chumby_seb 2.6.28-chumby #1 PREEMPT Mon Dec 7 16:56:04 PST 2009 armv5tejl unknown

[ 1543.820000] usbcore: registered new interface driver Philips webcam
[ 1546.760000] pwc: Failed to set video mode QSIF@10 fps; return code = -32
[ 1546.760000] pwc: Failed to set video mode QSIF@10 fps; return code = -32
[ 1622.860000] usb 1-1.1: USB disconnect, address 4
[ 1626.420000] usb 1-1.1: new full speed USB device using fsl-ehci and address 5
[ 1628.610000] usb 1-1.1: configuration #1 chosen from 1 choice
[ 1628.640000] pwc: Philips SPC 900NC USB webcam detected.
[ 1629.050000] pwc: Registered as /dev/video0.

Then I used the ffmpeg I recompiled couple of days back, I started to broadcast like that:
ffmpeg -f video4linux2 -s qvga -pix_fmt yuyv422 -i /dev/video0 -vcodec mpeg4 -f rtp -vglobal 1 -r 15 rtp://192.168.1.11:1234

and with Quicktime, I opened the generated SDP and I could see the live feed from the webcam on my mac.

Here is a top capture:
chumby:~# top   

Mem: 56508K used, 3272K free, 0K shrd, 1784K buff, 22196K cached
Load average: 2.73 2.47 1.84
  PID USER     STATUS   RSS    VSZ  PPID %CPU %MEM COMMAND
3211 root     RW     18244  35168  3004 48.0 30.5 chumbyflashplay
4637 root     RW      2608  13076  4618 43.3  4.3 ffmpeg
1191 root     SW       420   1544     1  4.7  0.7 acceld
5026 root     RW       612   2908  4846  2.8  1.0 top
1453 root     SW      1288   5180     1  0.9  2.1 btplayd
3187 root     SW      1760   6104  1213  0.0  2.9 sshd
4842 root     SW      1756   6104  1213  0.0  2.9 sshd
4615 root     SW      1744   5960  1213  0.0  2.9 sshd
  422 root     SW      1580   1612     1  0.0  2.6 watchdog
1352 root     SW      1256  21024     1  0.0  2.1 chumbhowld
1166 root     SW      1172   4216     1  0.0  1.9 chumbradiod
2969 root     SW      1080  11496     1  0.0  1.8 mDNSResponder
3190 root     SW       952   3232  3187  0.0  1.5 ash
3213 root     SW       928   3212  3212  0.0  1.5 chumbpipe
4618 root     SW       928   3232  4615  0.0  1.5 ash
2840 root     SW       896   2768     1  0.0  1.4 wpa_supplicant
1213 root     SW       876   3276     1  0.0  1.4 sshd
4846 root     SW       868   3232  4842  0.0  1.4 ash
1339 root     SW       712   3228     1  0.0  1.1 crond
2993 root     SW       684   2916     1  0.0  1.1 mDNSPublish
3004 root     SW       652   2912     1  0.0  1.0 start_control_p
  441 root     SW<      576   1944     1  0.0  0.9 udevd
3212 root     SW       536   2908  3211  0.0  0.8 sh
1072 root     SW       532   3108     1  0.0  0.8 syslogd
    1 root     SW       528   2908     0  0.0  0.8 init
1380 root     SW<      432   3492     1  0.0  0.7 chumbalarmd
2842 root     SW       356   1584     1  0.0  0.5 wpa_cli
1193 root     SW       336   1588     1  0.0  0.5 cpid
  396 root     SW       288   2908     1  0.0  0.4 init
2871 root     SW       256   2912     1  0.0  0.4 udhcpc
1337 root     SW       248   2916     1  0.0  0.4 httpd
1023 root     SW<        0      0     2  0.0  0.0 phy1
1023 root     SW<        0      0     2  0.0  0.0 phy1

Re: ffmpeg & chumby one as an IP cam

sebr wrote:

ffmpeg is working on chumby one.

Okay, hey, uh, can I stop you right there? PLEASE send me a copy of this! lol I've been wanting to try that for quite some time now... just don't have any way to compile it set up and really didn't think it was worth the effort. But if you'd be so kind to share your effort, it'd be much appreciated! big_smile

Re: ffmpeg & chumby one as an IP cam

Of course, you can get it here it is: http://dl.free.fr/hJCq1vq9H
It will be available for 30 days.

Re: ffmpeg & chumby one as an IP cam

sebr wrote:

Of course, you can get it here it is: http://dl.free.fr/hJCq1vq9H
It will be available for 30 days.

Thank you.  I've been struggling to get my UVC webcam (ID 090c:b371) working as described in this thread,

http://forum.chumby.com/viewtopic.php?id=3976

I hadn't used ffmpeg before so it took me a while to figure out how to generate single jpg images.  It's very well documented but , for the record, here's what worked for me;

 ffmpeg -f video4linux2 -s vga  -i /dev/video0   -f image2 -vcodec mjpeg menu%d.jpg 

Note that the "-s qvga" works just as well to produce 320 x 240 imgaes.

I'm still not sure why I had some much trouble before since the camera was recognized and the drivers loaded.  I suspect now that some path was missing.

Rich

Re: ffmpeg & chumby one as an IP cam

I've been exploring the range of higher resolution frame capture using ffmpeg.  Conceivably this could be useful on a Chumby web cam server to serve up higher resolution images than can be viewed on the Chumby itself.  In truth I'm just playing around right now.

Using the Silicon Motion webcam(090c:b371) and ffjpeg the C1 captures 800x600 jpg's just fine without doing anything special like killing the control panel.

chumby:/psp# ffmpeg -f video4linux2 -s 900x600  -i /dev/video0 -r 0.2  -f image2 -vcodec mjpeg /tmp/menu%d.jpg
FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-cross-compile --arch=arm-v5te --cpu=arm926ej-s --cc=arm-none-linux-gnueabi-gcc
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Dec 24 2009 17:12:20, gcc: 4.3.2
[video4linux2 @ 0x87d360][3]Capabilities: 4000001
[video4linux2 @ 0x87d360]width =900 - height =600
[video4linux2 @ 0x87d360]The V4L2 driver changed the video from 900x600 to 800x600
Input #0, video4linux2, from '/dev/video0':
  Duration: N/A, start: 1262649572.359865, bitrate: N/A
    Stream #0.0: Video: rawvideo, yuyv422, 800x600, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, image2, to '/tmp/menu%d.jpg':
    Stream #0.0: Video: mjpeg, yuvj420p, 800x600, q=2-31, 200 kb/s, 90k tbn, 0.20 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
frame=    3 fps=  0 q=1.6 Lsize=      -0kB time=15.00 bitrate=  -0.0kbits/s    
video:272kB audio:0kB global headers:0kB muxing overhead -100.007903%

However, when I try 1020x768 the output ends with "Killed",

.....
[video4linux2 @ 0x87d360]width =1024 - height =768
Killed

The exact same command runs fine under Ubuntu on my laptop.  System Monitor shows the memory use in Ubuntu going up 100 mb while ffmpeg was running at 1024x768.  So, I tried killing the control panel and adding swap on the Chumby.

Here's the output from free after killing the control panel, makeswap

chumby:/psp# free
              total         used         free       shared      buffers
  Mem:        59780        32532        27248            0         2436
 Swap:       131064            0       131064
Total:       190844        32532       158312

After ffmpeg was killed (or killed itself?)

chumby:/psp# free
              total         used         free       shared      buffers
  Mem:        59780        13556        46224            0          204
 Swap:       131064         2768       128296
Total:       190844        16324       174520

Seems like a little swap was used.  (How can I tell peak use?)
Increasing swap to 256M didn't help.  Cranking out 800x600 jpg's is still pretty impressive for the little Chumby.  I'm just curious about what's determining the limit.

Re: ffmpeg & chumby one as an IP cam

Maybe, the first thing to do is check why it crashes. You can compile ffmpeg in debug (add -g to CFLAGS) and then on chumby, there is gdbserver.
You just start it and then you can connect with gdb (for example arm-none-linux-eabi-gdb).
Then in gdb you use the target command to connect via tcp/ip to the gdbserver on chumby (target remote <IP>:1234).
Then you could probably see where it crashes which would give you a hint where the issue is.

Re: ffmpeg & chumby one as an IP cam

"killed" usually means the OOM killer in the kernel shut the process down.  I saw this while trying to debug my still-not-working DOSBox port -- I used strace to watch the system calls, and didn't see any show up before that message, leading me to believe that it was just too large to load into RAM at that time.  Adding some swap allowed it to load, but I was still running into issues with SDL and screen size that I've not had time to revisit.

Re: ffmpeg & chumby one as an IP cam

Check that after ffmpeg is says killed that you don't see anything interesting in dmesg which will tell you if the kernel's oom killer went out to play.

Linux Guy - Occasional Chumby Hacker

Re: ffmpeg & chumby one as an IP cam

Materdaddy wrote:

Check that after ffmpeg is says killed that you don't see anything interesting in dmesg which will tell you if the kernel's oom killer went out to play.

Great! something easy to try.

Looks definitely like the dreaded OOM-killer.  There's lots of detail in the dmesg output and I'm not sure I'm properly decoding it.  It looks like there should be plenty of swap memory.

.......
[video4linux2 @ 0x87d360]width =1024 - height =768
Killed
chumby:/psp# dmesg
........
[34240.950000] ffmpeg invoked oom-killer: gfp_mask=0xd0, order=0, oomkilladj=0
[34240.960000] [<c03365a8>] (dump_stack+0x0/0x14) from [<c00787f4>] (oom_kill_process+0x5c/0x1d8)
[34240.960000] [<c0078798>] (oom_kill_process+0x0/0x1d8) from [<c0078f38>] (out_of_memory+0x1dc/0x254)
[34240.970000]  r8:c20a2000 r7:c0485858 r6:000000aa r5:c202c300 r4:c202d800
[34240.980000] [<c0078d5c>] (out_of_memory+0x0/0x254) from [<c007bb98>] (__alloc_pages_internal+0x300/0x3bc)
[34240.990000] [<c007b898>] (__alloc_pages_internal+0x0/0x3bc) from [<c0091000>] (__vmalloc_area_node+0xcc/0x13c)
[34241.000000] [<c0090f34>] (__vmalloc_area_node+0x0/0x13c) from [<c00910fc>] (__vmalloc_node+0x8c/0xa4)
[34241.010000] [<c0091070>] (__vmalloc_node+0x0/0xa4) from [<c0091198>] (__vmalloc+0x1c/0x24)
[34241.020000]  r7:00180000 r6:00000020 r5:ffe80000 r4:03000000
[34241.030000] [<c009117c>] (__vmalloc+0x0/0x24) from [<c0091200>] (vmalloc_32+0x1c/0x24)
[34241.030000] [<c00911e4>] (vmalloc_32+0x0/0x24) from [<bf1b8f10>] (uvc_alloc_buffers+0x78/0x138 [uvcvideo])
[34241.040000] [<bf1b8e98>] (uvc_alloc_buffers+0x0/0x138 [uvcvideo]) from [<bf1ba404>] (__uvc_v4l2_do_ioctl+0xbf4/0xf2c [uvcvideo])
[34241.050000] [<bf1b9810>] (__uvc_v4l2_do_ioctl+0x0/0xf2c [uvcvideo]) from [<bf1ba758>] (uvc_v4l2_do_ioctl+0x1c/0x20 [uvcvideo])
[34241.070000] [<bf1ba73c>] (uvc_v4l2_do_ioctl+0x0/0x20 [uvcvideo]) from [<bf1a6b64>] (video_usercopy+0x1a8/0x2b0 [videodev])
[34241.080000] [<bf1a69bc>] (video_usercopy+0x0/0x2b0 [videodev]) from [<bf1b94e8>] (uvc_v4l2_ioctl+0x54/0x68 [uvcvideo])
[34241.090000] [<bf1b9494>] (uvc_v4l2_ioctl+0x0/0x68 [uvcvideo]) from [<c00ae9f0>] (vfs_ioctl+0x78/0x94)
[34241.100000]  r7:00000003 r6:c0145608 r5:be82473c r4:c200c8c0
[34241.100000] [<c00ae978>] (vfs_ioctl+0x0/0x94) from [<c00aefa8>] (do_vfs_ioctl+0x4a0/0x4f0)
[34241.110000]  r7:00000003 r6:c0145608 r5:c200c8c0 r4:00000003
[34241.120000] [<c00aeb08>] (do_vfs_ioctl+0x0/0x4f0) from [<c00af050>] (sys_ioctl+0x58/0x7c)
[34241.130000] [<c00aeff8>] (sys_ioctl+0x0/0x7c) from [<c0027e40>] (ret_fast_syscall+0x0/0x2c)
[34241.140000]  r8:c0027fe8 r7:00000036 r6:0087e320 r5:00000000 r4:00000001
[34241.140000] Mem-info:
[34241.140000] Normal per-cpu:
[34241.150000] CPU    0: hi:   18, btch:   3 usd:  16
[34241.150000] Active_anon:1 active_file:0 inactive_anon:26
[34241.150000]  inactive_file:48 unevictable:395 dirty:0 writeback:26 unstable:0
[34241.150000]  free:330 slab:727 mapped:329 pagetables:86 bounce:0
[34241.170000] Normal free:1320kB min:1016kB low:1268kB high:1524kB active_anon:4kB inactive_anon:104kB active_file:0kB inactive_file:192kB unevictable:1580kB present:65024kB pages_scanned:26 all_unreclaimable? no
[34241.190000] lowmem_reserve[]: 0 0
[34241.190000] Normal: 46*4kB 6*8kB 6*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1320kB
[34241.200000] 404 total pagecache pages
[34241.210000] 27 pages in swap cache
[34241.210000] Swap cache stats: add 912, delete 885, find 3/3
[34241.220000] Free swap  = 258496kB
[34241.220000] Total swap = 262136kB
[34241.230000] 16384 pages of RAM
[34241.230000] 459 free pages
[34241.230000] 2201 reserved pages
[34241.240000] 586 slab pages
[34241.240000] 2066 pages shared
[34241.240000] 27 pages swap cached
[34241.250000] Out of memory: kill process 4007 (ffmpeg) score 170 or a child
[34241.250000] Killed process 4007 (ffmpeg)
[34241.260000] ffmpeg: page allocation failure. order:0, mode:0xd0
[34241.260000] [<c03365a8>] (dump_stack+0x0/0x14) from [<c007bc34>] (__alloc_pages_internal+0x39c/0x3bc)
[34241.270000] [<c007b898>] (__alloc_pages_internal+0x0/0x3bc) from [<c0091000>] (__vmalloc_area_node+0xcc/0x13c)
[34241.280000] [<c0090f34>] (__vmalloc_area_node+0x0/0x13c) from [<c00910fc>] (__vmalloc_node+0x8c/0xa4)
[34241.290000] [<c0091070>] (__vmalloc_node+0x0/0xa4) from [<c0091198>] (__vmalloc+0x1c/0x24)
[34241.300000]  r7:00180000 r6:00000020 r5:ffe80000 r4:03000000
[34241.310000] [<c009117c>] (__vmalloc+0x0/0x24) from [<c0091200>] (vmalloc_32+0x1c/0x24)
[34241.320000] [<c00911e4>] (vmalloc_32+0x0/0x24) from [<bf1b8f10>] (uvc_alloc_buffers+0x78/0x138 [uvcvideo])
[34241.330000] [<bf1b8e98>] (uvc_alloc_buffers+0x0/0x138 [uvcvideo]) from [<bf1ba404>] (__uvc_v4l2_do_ioctl+0xbf4/0xf2c [uvcvideo])
[34241.340000] [<bf1b9810>] (__uvc_v4l2_do_ioctl+0x0/0xf2c [uvcvideo]) from [<bf1ba758>] (uvc_v4l2_do_ioctl+0x1c/0x20 [uvcvideo])
[34241.350000] [<bf1ba73c>] (uvc_v4l2_do_ioctl+0x0/0x20 [uvcvideo]) from [<bf1a6b64>] (video_usercopy+0x1a8/0x2b0 [videodev])
[34241.360000] [<bf1a69bc>] (video_usercopy+0x0/0x2b0 [videodev]) from [<bf1b94e8>] (uvc_v4l2_ioctl+0x54/0x68 [uvcvideo])
[34241.370000] [<bf1b9494>] (uvc_v4l2_ioctl+0x0/0x68 [uvcvideo]) from [<c00ae9f0>] (vfs_ioctl+0x78/0x94)
[34241.380000]  r7:00000003 r6:c0145608 r5:be82473c r4:c200c8c0
[34241.390000] [<c00ae978>] (vfs_ioctl+0x0/0x94) from [<c00aefa8>] (do_vfs_ioctl+0x4a0/0x4f0)
[34241.400000]  r7:00000003 r6:c0145608 r5:c200c8c0 r4:00000003
[34241.400000] [<c00aeb08>] (do_vfs_ioctl+0x0/0x4f0) from [<c00af050>] (sys_ioctl+0x58/0x7c)
[34241.410000] [<c00aeff8>] (sys_ioctl+0x0/0x7c) from [<c0027e40>] (ret_fast_syscall+0x0/0x2c)
[34241.420000]  r8:c0027fe8 r7:00000036 r6:0087e320 r5:00000000 r4:00000001
[34241.430000] Mem-info:
[34241.430000] Normal per-cpu:
[34241.430000] CPU    0: hi:   18, btch:   3 usd:   0
[34241.440000] Active_anon:1 active_file:0 inactive_anon:26
[34241.440000]  inactive_file:48 unevictable:395 dirty:0 writeback:26 unstable:0
[34241.440000]  free:0 slab:727 mapped:329 pagetables:86 bounce:0
[34241.450000] Normal free:0kB min:1016kB low:1268kB high:1524kB active_anon:4kB inactive_anon:104kB active_file:0kB inactive_file:192kB unevictable:1580kB present:65024kB pages_scanned:26 all_unreclaimable? no
[34241.470000] lowmem_reserve[]: 0 0
[34241.480000] Normal: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
[34241.490000] 404 total pagecache pages
[34241.490000] 27 pages in swap cache
[34241.490000] Swap cache stats: add 912, delete 885, find 3/3
[34241.500000] Free swap  = 258496kB
[34241.500000] Total swap = 262136kB
[34241.510000] 16384 pages of RAM
[34241.510000] 113 free pages
[34241.520000] 2201 reserved pages
[34241.520000] 586 slab pages
[34241.520000] 2066 pages shared
[34241.530000] 27 pages swap cached

I just found this when the dmesg suggestion came in,
"Any particular process leader may be immunized against the oom killer if the value of its /proc/<pid>/oomadj is set to the constant OOM_DISABLE (currently defined as -17)."

How do I know what the pid for ffmpeg before I start it?

Re: ffmpeg & chumby one as an IP cam

I don't think you can immunize this... it looks like ffmpeg is trying to allocate and lock a set amount of unswappable memory needed to do kernel device mapping, and that's just not available on the Chumby.

Re: ffmpeg & chumby one as an IP cam

The OOM killer kicks in for a reason.  Trying to prevent it from killing your process which is trying to allocate a massive amount of memory isn't a good idea.  You'll find that other processes which may be important will get killed instead.  The fact the OOM killer killed it means that you ran out of memory anyway so stopping it from killing it wouldn't help.

Re: ffmpeg & chumby one as an IP cam

Just for information http://linuxdevcenter.com/pub/a/linux/2 … emory.html

Re: ffmpeg & chumby one as an IP cam

Thanks for the analysis unwiredben.  I guess it makes sense that ffmpeg needs unswappable memory for streaming and reformating video on the fly.  Having this sort of answer was what I wanted.

I really thought immunizing against OOM would be a long shot since a few times the ssh connection just dropped instead of giving the "killed" message. 

I wonder if an application oriented toward just frame capture might have less stringent memory requirements, especially with webcams that spit out a stream of jpg images.  I tried to compile "uvccapture" but I get about a half dozen errors.  I think most are a result of gcc not finding "jpeglib.h" which is neither in the tool chain nor a provided source file.  The arm binary of uvccapture from http://packages.debian.org/lenny/graphics/uvccapture also  doesn't work on the Chumby.  Perhaps due to a missing component from the required "libjpeg62".  I haven't yet figured out how to check for or add components to the tool chain.

Re: ffmpeg & chumby one as an IP cam

to add libraries, just build them locally in scratchbox and install them there.  I just checked the root fs of my Chumby One, and there's no libjpeg.so (or similar) installed by default, so you can just copy it over with your application, making sure it's in the LD_LIBRARY_PATH.

15 (edited by rleyden 2010-01-13 11:56:16)

Re: ffmpeg & chumby one as an IP cam

unwiredben wrote:

to add libraries, just build them locally in scratchbox and install them there.  I just checked the root fs of my Chumby One, and there's no libjpeg.so (or similar) installed by default, so you can just copy it over with your application, making sure it's in the LD_LIBRARY_PATH.

unwiredben-
Great tip and I'm "almost" there.  I probably could (or should) finish on my own without begging for help.  But I thought I would give you some feedback on my journey which might give you a heads up on problems people in the class you're teaching might have.

First, specific to my situation, I didn't realized scratchbox was going to take 2 Gb space on the hd.  It ended up pushing me over the edge and I had to get a larger hard drive, -frustrating delay.

Second, although the scratchbox setup was mysterious the first time through (I ended up doing it 3 times), it's a great tool once you get it set up.
Third, uvccapture source didn't include a configure file.  I fought with autoscan,  automake , and autoconf but never got them to run cleanly.   "make" eventually produced a binary (more warnings) but I had to install manually. 

Lastly, I wish I had known about "ldd" 3 weeks ago.  It would have saved a lot of time.

OK, uvccapture runs but gives an error when it tries to save the output file;

 chumby:/psp# uvccapture -m -x320 -y240 -v -o /tmp/uvc.jpg
Using videodevice: /dev/video0
Saving images to: 
Image size: 320x240
Taking snapshot every 0 seconds
Taking images using mmap
Resetting camera settings
Camera brightness level is 128
Camera contrast level is 36
Camera saturation level is 32
Camera gain level is 100
Saving image to: 
Illegal instruction

/*** without the output file specified
........
.......
Saving image to: snap.jpg
Segmentation fault

edit:  The illegal instruction error was due to leaving a space after the "-o" and the file name, no space allowed.  Segmentation fault was the real error.

I don't recall any of the warnings having anything to do with i/o.  Most were related to definitions in V4L2.

Any tips on how to debug this?

Re: ffmpeg & chumby one as an IP cam

Most likely what's going on is that it's trying to write to a file on a filesystem that's mounted as read-only.  You should be able to run it under strace (uvccapture -m -x320 -y240 -v -o /tmp/uvc.jpg), and you might find some helpful messages on the lines before it says "Illegal instruction"

Re: ffmpeg & chumby one as an IP cam

ChumbyLurker wrote:

Most likely what's going on is that it's trying to write to a file on a filesystem ......"

Well, it turned out it wasn't due to read only file system.  After having a lot of fun with strace and gdb and having eliminated the possibility of the error coming from uvccapture I went back and took a look at libjpeg.so.62.  It is made (correctly,  as it turns out) if you follow the examples in the scratchbox wiki.  For some reason, i had decided to download a fresh copy and recompile it.  My new copy of libjpeg.so.62 was bad.  The file size is the same so it must have been an incorrect configuration.

Uvccapture now works!!

And, to answer my own question earlier in this thread, uvccapture doesn't do any better than ffmpeg capturing 1024x768 images, even with 256M swap.  Uvccapture reports "error grabbing".  Strace yields

 ioctl(3, VIDIOC_STREAMON, 0xbeea79ac)   = -1 ENOMEM (Cannot allocate memory)

Nevertheless, I'm happy with what I've got.  I will update the thread on webcams with which cams work on Chumby.

Re: ffmpeg & chumby one as an IP cam

Sebr, could you please post a link to the pwc kernel module you built and/or let me know how you compiled it?

I've compiled Chumby 1.7 kernel but couldn't figure out how to compile the pwc module (I assume you compiled the sources from http://www.saillard.org/linux/pwc/ ?)

Thanks!

Re: ffmpeg & chumby one as an IP cam

I compiled the kernel provided by chumby. I did not upgrade the webcam modules.

Re: ffmpeg & chumby one as an IP cam

I am trying to figure out howto use a webcam with Chumby to capture snapshots. From browsing the forums it seems that there are some tools people succeeded to use; ffmpeg (sebr) & fswebcam (rleyden).

I would like to reproduce this one way or another, but I am looking for a way to start with this all.. (I'm kinda new to linux compiling etc.) Could anyone give me some pointers how to start? For example, how to use the provided ffmpeg by sebr?

I think it would also be really useful to create a wikipage on webcams & chumby. I think it's something with a lot of potential for new applications!