3

I'm developing a C++ application that works with mov files. This is the first time I work with the Quicktime API, and it seems there's more than 1 API. What I'm trying to do is extract frames and/or audio from the mov file. The application needs to run on PC, Mac, Linux.

So my questions.

  • Which API do I need to work with?
  • Is this API compatible with all 3 end platforms, or do I need to work with different Quicktime APIs for PC, Max, Linux
sam
  • 83
  • 5

2 Answers2

1

Google for: ffmpeg, libavcodec, libavformat

selbie
  • 100,020
  • 15
  • 103
  • 173
  • Funny you mentioned that, because I was just looking into it. What's bothering me is the whole static vs. dynamic linking. This app won't be open source. So I have to read more on that. – sam Feb 09 '12 at 22:17
  • Have you considered just using the QuickTime SDK from Apple for Windows and Mac? And then for Linux, just dynamically load libavformat/libavcodec if it's installed (and gracefully fail or error out if it doesn't load). In other words, you could put the burden on the Linux user to get the codec installed so you don't have to deal with the legal issues of shipping GNU licensed stuff. Perhaps as part of the install script you invoke the package command (yum, apt-get, etc...) to download and install libav stuff. – selbie Feb 10 '12 at 01:46
0

personally, for linux i found gmerlin-avdecoder[1] to be way easier to handle than ffmpeg (it has a stable API!) in theory it is available on w32 and osx (though i've heard of problems with OSX-10.7)

the QuickTime/Carbon (C) API has been deprecated by Apple: you won't be able to use for reading videos it in native 64bit applications (it's suggested to use QTKit, which is ObjC only)

[1] http://gmerlin.sourceforge.net/avdec.html

umläute
  • 28,885
  • 9
  • 68
  • 122