[FFmpeg-devel] FFMPEG DLL proposal

Pierre Chatelier ktd
Wed Jan 21 16:53:41 CET 2009


I would like to use FFMPEG "under the hood" in an application, to  
quickly convert some movies. Unfortunately, the API is terrible to  
learn and I won't do anything better than ffmpeg.exe can do. But I do  
not like the idea to embedd ffmpeg.exe, I would prefer a shared library.
My idea is the following :
1-transform ffmpeg.c and cmdutils.c by removing all static variables.  
This is easy : just replace all static variables with a big struct  
named "context" that would be passed to any function.
2-replace main(int argc, char* argv[]) by ffmpeg_process(int argc,  
char* argv[])
3-ffmpeg.c is now a single call to ffmpeg_process()

Thus, we would have a DLL with a single public function  
ffmpeg_process(), which could be used with parameters like on the  
command line. What a relief !

Why don't I do that myself ?
Well... I did, but I have many problems.

I have performed step1 a few weeks ago. Since then many svn updates  
did occur and I am totally desynchronized with ffmpeg.c and many  
I can't manage to build the shared libraries by trying to add things  
in the Makefiles... Too many macros, dependencies, CLI options to  
GCC... I give up.

In my opinion, this would be a benefit for everybody, if it was an  
official new feature of FFmpeg, but this should be handled by the ones  
maintaining ffmpeg.c and cmdutils.c.

Any chance to see it soon ?


Pierre Chatelier

More information about the ffmpeg-devel mailing list