views:

331

answers:

2

I'm looking for resources (preferably books, but websites are fine too) for using FFmpeg and/or SDL with C++.

Stuff I'd like to be able to do (eventually):

  • Decode and play videos in realtime to a QT widget (the QT part isn't a problem)
  • Overlay text and images on the video (in realtime)
  • Loop video
  • Cross-fade from one video to another (in realtime)
  • Some kind of DVD functionality
  • LIVE sources? (i.e. webcam, stream, etc.)

So far I've looked at (and consider helpful) the following resources:

Thanks for any help...

Also: Operating System is Windows (but maybe one day cross-platform)
Also 2: Resources using alternatives are welcome too... i.e. DirectShow, VFW, etc.

+1  A: 

If all you need is to decode and play videos and require overlays I would consider using the Phonon framework, and use QT Graphics View by using a Phonon::VideoWidget inside a QGraphicsProxyWidget. That way you can easily get overlays, cross-fading, animations etc. Phonon in Windows uses DirectShow as a back-end. You can install FFDShow and get the same codecs ffmpeg has to play videos.

Vicken Simonian
Based on this post (http://lists.trolltech.com/pipermail/qt-interest/2010-February/019385.html), I was under the impression that it couldn't be done with Phonon.
advs89
(that, and I couldn't find any way to do it in the documentation - it works more like a video player with load and play operations)
advs89
Take a look at this demo http://labs.trolltech.com/blogs/2008/11/28/videos-get-pimpedIts using Phonon+GfxView to do transparency and fast video transforms.
Vicken Simonian
awesome - that looks perfect
advs89
+1  A: 

There is an FFMPEG C++ wrapper library : FOBS. It is quite simple to use, but what you gain in simplicity you loose in fine grained configuration. It works great but is always a bit outdated.

m2c

neuro
thanks - i'd accept your answer too if I could since I haven't decided yet which I'm going to go with (but I'll probably stay with Phonon if it turns out that it can handle EVERYTHING I want to do)
advs89
You are welcome. I do not know about Phonon. I will perhaps give it a try to compare ... But it seems too tied to KDE to fit my needs.
neuro