Results 1 to 3 of 3

Thread: Need access to individual video frames

  1. #1
    Join Date
    Sep 2011
    Qt products

    Default Need access to individual video frames

    I'm building an application for taking snapshots of videos. I'm aware of other methods like AvsPmod, FFmpeg and MPlayer to generate snapshots, however, I need a better method of finding good snapshots and then having a frame-by-frame fine control over what frame to take a snapshot of.

    The typical usage of the application works by loading a video and generating n snapshots every s seconds starting from some position z, for instance starting with 100 snapshots with a 5 second step from the beginning. The snapshots are shown below the video in a scroll area where the user can find a scene with potential for a great snapshot. Double-clicking the snapshots seeks the video to that exact frame. Next it may be desired to generate more snapshots with a smaller step, for instance 1 second step from that scene. And at last when the user finds a great looking snapshot they can use frame-by-frame seeking to capture the best snapshot from that scene.

    So I'm looking for a library that provides:

    1) Basic video playback functionality
    It should play all the common video formats such as DVD VOB and MP4/MKV/AVI (h264, xvid, divx). It should also be able to deinterlace the video automatically and display it in Display Aspect Ratio.

    2) Snapshots
    It should have functionality to take snapshots (in memory, e.g. to QImage and QPixmap).

    3) Frame-by-frame seeking
    So I can do prevFrame(), nextFrame(), seekTo(frame), etc.

    I have tried the following with the functionality they provide:

    Qt Phonon
    1. Yes. Plays all the needed formats and displays them correctly.
    2. No. Not implemented (returns empty image).
    3. No.

    1. Partial. Does not deinterlace DVD VOBs. Does not display DVD VOBs in DAR.
    2. Yes.
    3. Partial. Broken for MKV (h264).

    Qt VLC
    1. Yes. Plays all the needed formats and displays them correctly.
    2. Yes. Via QPixmap::grabWindow(player->videoWidget()->winId()).
    3. No. Provides only seeking by milliseconds.

    Video decoding only works on Linux so it's a no-go. I need Windows support as well.

    Can I do this with Qt Mobility/Multimedia? Google tells me "Yes" but there's no examples anywhere and I can't find anything in the documentation that would help me.

    If not, then what are my options?


  2. #2
    Join Date
    Mar 2011
    Thanked 13 Times in 12 Posts
    Qt products
    Qt3 Qt4 Qt/Embedded
    MacOS X Unix/X11 Windows

    Default Re: Need access to individual video frames

    Try to download QVision libraries for Windows.

  3. #3
    Join Date
    Sep 2011
    Thanked 127 Times in 126 Posts
    Qt products

    Default Re: Need access to individual video frames

    Quote Originally Posted by Gokulnathvc View Post
    Try to download QVision libraries for Windows.
    this is your third post (within minutes of each other) where it looks like you have not read the OP.
    If you have a problem, CUT and PASTE your code. Do not retype or simplify it. Give a COMPLETE and COMPILABLE example of your problem. Otherwise we are all guessing the problem from a fabrication where relevant details are often missing.

Similar Threads

  1. QSharedMemory + video frames + synthetic signals
    By w32stuxnet in forum Qt Programming
    Replies: 0
    Last Post: 16th January 2012, 04:25
  2. How to drop some frames while playing video?
    By cic in forum Qt Programming
    Replies: 0
    Last Post: 11th November 2011, 14:49
  3. Replies: 8
    Last Post: 17th May 2011, 14:03
  4. dealing individual objects
    By kingslee in forum General Programming
    Replies: 9
    Last Post: 15th November 2006, 01:28


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.