[FFmpeg-devel] higher-level libs?

Michel Bardiaux mbardiaux
Tue Nov 20 10:40:33 CET 2007

Rich Felker a ?crit :
> On Tue, Nov 20, 2007 at 06:27:04PM +1300, David McNab wrote:
>> The features I'm needing in an FFMPEG interface library are:
>>  - open a video file of any format quickly and easily (without spending
>>    hundreds of lines of code messing about with lower-level issues)
> This is a very reasonable goal.

The proof of the need being that ffmpeg.c is 4000 lines long! Part of 
the size is due to the umpteen options, but a lot of it is because 
ffmpeg.c embodies a lot of know-how that applications using lavc/f have 
to duplicate (after learning!)

>>  - read a frame and:
>>      - extract the video raw data, preferably as planar YUVA 4:4:4 but
> YUV 4:2:0 with no A is a lot more standard. Why would you want a
> format that's likely not to be usable as-is? And (extremely slow!!)
> resampling for no good?
>>        RGB would suffice
> Uhg even nastier.
>>      - extract the audio raw data
> In what format? :)
>>  - open an output file, and set the encoding options with a maximum
>>    of simple abstraction and a minimum of fuss
>>  - write a frame, give raw video and audio data
> Both at the same time? Some buffering is certainly needed for a
> trivial api like you want. How to deal with that is nontrivial.
>>  - for file formats that support it (eg DV), seek to arbitrary positions
>>    in the file
> All formats support it, it's just a question of how fast they can do
> it and whether parsing the codec data is needed.. But what's meant by
> "seek to position X" requires some thought.
IMHO what is needed is not an API to seek/decode but an API that given a 
time will produce a *plan* for optimal access to the uncompressed data 
for that time. Hiding away all the manoeuvering due to codec internals.

Michel Bardiaux
R&D Director
T +32 [0] 2 790 29 41
F +32 [0] 2 790 29 02
E mailto:mbardiaux at mediaxim.be

Mediaxim NV/SA
Vorstlaan 191 Boulevard du Souverain
Brussel 1160 Bruxelles

More information about the ffmpeg-devel mailing list