Capture and process video frames with Phonon

Matthias Kretz kretz at kde.org
Wed Jul 2 09:19:34 BST 2008


On Friday 27 June 2008 16:49:49 Friðrik Ásmundsson wrote:
> Hi
>
> I am coming from the computer vision background and I have been developing
> a SIFT fingerprint solution for movies. How this works is that I need to
> decode common video formats and get direct access to the pixels in each
> frame in the movie. When I have created all the fingerprints from each
> frame (there are several hundred), I need to process the next frame, and so
> on. The extraction process is quite quick (it is implemented on the GPU)
> and takes therefore about 1/5 of realtime playback of the video. What I
> have done up to now is that I wrote an MPlayer video-out plugin which
> writes the frame pixels to shared memory and pauses the playback until the
> pixels in shared memory have been processed (guarded by semaphore), then
> the next frame is processed and so on. This works Ok, but I think it is
> possible to do this more intelligent.
>
> What I need is a direct access to the pixels from each frame (I don't need
> to display the movie on-screen) and having the ability to pause the
> playback while the image analysis process is working. If I understand
> correctly, is seems that I could implement the image analysis part as an
> "Effect" entity, but I am not sure if is possible to pause backend, also is
> it possible to play movies at higher speed (5X normal playback)?
>
> Therefore I am asking if Phonon could be used for the scenario I described
> above?

No, Phonon currently is geared for playback tasks. In trunk there is 
experimental support for getting the video frames, but still you don't have 
the ability to change the playback speed like you want.

-- 
________________________________________________________
Matthias Kretz (Germany)                            <><
http://Vir.homelinux.org/
MatthiasKretz at gmx.net, kretz at kde.org,
Matthias.Kretz at urz.uni-heidelberg.de



More information about the kde-multimedia mailing list