It depends on what you mean by "conversion." Both 3GP and AVI are shell formats, so are you just trying to change the container format or want to also transcode the streams?
In any case, you should probably take a look at ffmpeg ( Windows Information ). For simple cases (i.e. you have a file, one output file is required), you should probably consider it by calling it on the command line (i.e. System.Diagnostics.Process ), which is much simpler (and not related to licensing issues). If you want to access libavcodec / libavormat programmatically, I highly recommend skipping any .NET wrapper libraries (they are all in different sucking states; Tao is the best, but that doesn't say much) and writes a C ++ / CLI wrapper instead. I started to do this , and as soon as I found out about sorting data, etc., and figured out how to build it ( part 1 , part 2 ), it was not too difficult.
source share