Hi all,

I'm trying to do frame by frame video processing on a camera and i'm not having too much luck. I want to just do pixel processing on each frame for a video offline (i.e record the video then process). Basically I'm looking to determine the average R,G,B color for each frame from a video/camera video capture. Any advice would be appreciated.

The current approach that i've been taking is to use the RecordControl to store the data as a byte[], i.e.

Code:
// grab a record control
rControl = (RecordControl) midlet.capturePlayer
getControl("javax.microedition.media.control.RecordControl");

// if not found, throw exception
if (rControl == null)
   throw new Exception("No RecordControl found!");

// create a ByteArrayOutputStream to store this recorded data in
bos = new ByteArrayOutputStream();

// set up the stream
rControl.setRecordStream(bos);

// and start recording - no need to start the underlying player
// as it is already started
rControl.startRecord();


...... get video



rControl.stopRecord();
rControl.commit();


byte[] rawData = bos.toByteArray();
The problem with this method is that the data is now in mp4 format and I just dont know how to access the raw pixels from this...

I've been thinking that I can feed this back into a player and then use getSnapshot(), but how do I control the play back? I've been looking at just FramePositioningControl. However i've tried several mobiles and had no luck with support I was wondering if any mobiles support FramePositioningControl?

I dont know if this is the best way or what, has anyone else figured out a better way of doing this.

Regards
Joey Enfield