Note that there are some explanatory texts on larger screens.

plurals
  1. POQt C++ video libraries
    text
    copied!<p>I'm looking for a video library for Qt 4 (C++/Windows) that has:</p> <p><strong>1) Basic video playback functionality</strong></p> <p>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.</p> <p><strong>2) Cropping</strong></p> <p>It should have some basic functionality to remove black bars (user supplied arguments).</p> <p><strong>3) Snapshots</strong></p> <p>It should have functionality to take snapshots in memory.</p> <p><strong>4) Frame-by-frame seeking</strong></p> <p>It should have some basic functionality to do frame-by-frame seeking, e.g. prevFrame(), nextFrame(), jumpTo(frame) and getNumFrames().</p> <hr> <p>I have tried the following and from what I could find the functionality they support:</p> <p><strong>Qt Phonon:</strong></p> <ol> <li>Yes. Plays all the needed formats and displays them correctly. </li> <li>No. </li> <li>No. Not implemented (returns empty image). </li> <li>No.</li> </ol> <p><strong>QtFFmpegWrapper:</strong></p> <ol> <li>Partial. Does not deinterlace DVD VOBs. Does not display DVD VOBs in DAR. </li> <li>No. </li> <li>Yes. </li> <li>Partial. Broken for MKV (h264). </li> </ol> <p><strong>Qt VLC:</strong></p> <ol> <li>Yes. Plays all the needed formats and displays them correctly. </li> <li>Yes. Have not tried if it works though. </li> <li>Partial. Only to disk. <strong>edit:</strong> QPixmap::grabWindow(player->videoWidget()->winId()) works. </li> <li>No. Only by milliseconds.</li> </ol> <p>Now I'm looking at QVision, which seems to have all of those features except for cropping. Maybe implementing cropping isn't that difficult. But I'm wondering if there's any other libraries I should look into? Or perhaps I missed something and they're possible with one of these libraries. Thanks.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload