What FFmpeg is.
FFmpeg is a complete solution for recording, converting, and streaming audio and video, including Libavcodec, a leading audio/video codec class library. FFmpeg is developed on Linux when it can be compiled on most operating systems, including Windows.
Note FFmpeg to GCC rely on very strong, so it is on Windows, with VC compiler ffmpeg is not an easy thing. Please try to compile ffmpeg with GCC.
FFmpeg's official web site is http://ffmpeg.mplayerhq.hu/.
The Chinese wiki is http://www.ffmpeg.com.cn/, with a lot of information.
FFmpeg related data structure: http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/index.html
FFmpeg mainly consists of a few parts:
Libavcodec: A library that contains all the FFmpeg audio and video codecs. To ensure optimal performance and high reusability, most codecs are developed from scratch.
Libavformat: A library that contains all the common audio and visual formats for parsers and generator. Three instance programs, these three instances are more complex and can be used as API manuals: FFmpeg: The video format converter for the command line. Ffplay: Video playback program. (requires SDL support) Ffserver: Multimedia server
After you understand the structure, you will find that if you are looking for a way to convert the video format, that FFmpeg is definitely your first choice, and Libavcodec is the top priority. If the API does not work, refer to Ffmpeg.c, ffplay.c, FFSERVER.C, apiexample.c (decoding), and output_example.c (encoding).
To use FFmpeg, the first step is to compile, for Linux users, you can refer to the Http://www.ffmpeg.com.cn/index.php/Ffmpeg%E7%BC%96%E8%AF%91%E8%AF%A6%E8%A7%A3
For Windows users, you can refer to the http://bbs.chinavideo.org/viewthread.php?tid=1897&extra=page%3D1
or http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page (in more detail)
Note Compiling ffmpeg is a complex process, if you want to speed up, appreciate ffmpeg style, you can skip this step, directly into the next chapter.
FFmpeg is a complex project, and the first step of compiling, especially under Windows, is more complex. As a result, well-meaning netizens provide Windows compiled DLL and Lib library files, as well as related header files. Novice can download directly, and start to write FFmpeg library program. SDK download and compile parameters can refer to Http://www.ffmpeg.com.cn/index.php/SDK_Download. The SDK primer can be downloaded from the http://www.bairuitech.com/html/ruanjianxiazai/20070713/49.html.
Both of these are sufficient to get started with the FFmpeg, the latest SDK version is 3.0, and the FFmpeg version is r10087. Beginners can start from compiling the output_example.c in the source code base, and refer to the SDK primer.
Compile output_example.c need to pay attention to the following problems: VC is not supported in C language inline, so you can delete the relevant inline. For snprintf support, you can consider downloading Snprintf.h and SNPRINTF.C from http://www.ijs.si/software/snprintf/into the project.