Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am using the following command to capture raw RGB data from my webcam (I originally pieced this together with help from some people on another question):

ffmpeg -f video4linux2 -r 1 -s 640x480 -i /dev/video0 -c:v rawvideo -f rawvideo -pix_fmt rgb24 -

When I execute it (as a child process in my application), it outputs a series of 15 bursts of data:

32768 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
65536 bytes
36864 bytes

And then just freezes and sits there until I terminate the process. So now I have a few questions:

  • Why does it start and end with lower values than the rest?
  • What is the significance of 65536? It isn't divisible by 3 (RGB), and when dividing it by 4 (RGBA), it then can't be evenly divided in to 640 by 480.
  • Why doesn't it continue? It does on my Ubuntu VM (64-bit), but doesn't on my target machine (a BeagleBone Black).

Some additional information: I am running this on an ARM-powered embedded board (BeagleBone Black), which is running Ubuntu. I had to compile FFMPEG myself and leave out some of the encoders, but that shouldn't matter, as I am not using them.

Hoping someone can give me some help!

share|improve this question
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.