Changes between Version 6 and Version 7 of Using libav*
- Timestamp:
- 09/02/2012 07:14:31 AM (9 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Using libav*
v6 v7 1 1 FFmpeg itself is composed of several subcomponents that can be used individually, and outside of FFmpeg, for instance in your own program. These are 2 * libavformat which contains muxer information and capabilities.2 * libavformat which contains muxer and de-muxer information and capabilities. 3 3 * libavcodec which contains all the (built-in) video encoding and decoding codecs that FFmpeg contains. 4 4 * libswscale contains the (raw pixel) format conversions, and also high speed/assembly optimized versions of certain scaling routines. 5 * libavfilter contains the filters FFmpeg contains, like adjusting audio sample rate, etc. * libavutil ??5 * libavfilter contains the filters FFmpeg contains, like adjusting audio sample rate, etc. 6 6 * libavdevice contains interfaces for working with "local devices" for instance webcams in windows, line-in audio in linux, etc. 7 7 * libpostproc ?? 8 8 * libswresample audio conversion routines (?) 9 9 * libavresample audio conversion routines (?) 10 * libavutil "contains the code shared across all the other FFmpeg libraries" so isn't used by itself, that I know of. 10 11 11 12 = Getting started = … … 13 14 There is not much "web based" official documentation for using these libraries. 14 15 15 Check [https://github.com/FFmpeg/FFmpeg/tree/master/doc/examples doc/examples], also doxygen documentation is fairly complete and should work as reference (example: the [http://ffmpeg.org/doxygen/trunk/ group__libavf.html libavformatdoxygen]).16 Check [https://github.com/FFmpeg/FFmpeg/tree/master/doc/examples doc/examples], also doxygen documentation is fairly complete and should work as reference (example: the [http://ffmpeg.org/doxygen/trunk/files.html example codes as doxygen]). 16 17 17 18 In general, you must have the appropriate library compiled/available on your machine (for instance, if using packages, something like libswscale-dev must be installed, or configure, build, and install FFmpeg yourself using the --enable-shared configure option), then you include the appropriate header file in your C code, then link against that library's linker file, like "gcc input.c -lswscale" or the like during the linker phase. … … 27 28 = Hints = 28 29 30 == libavformat == 31 32 Its [http://ffmpeg.org/doxygen/trunk/group__libavf.html Doxygen docu]. see most of the tutorials, as well. 33 29 34 == libavcodec == 35 36 Its [http://ffmpeg.org/doxygen/trunk/group__libavc.html Doxygen docu]. see most of the tutorials, as well. 30 37 31 38 Determining the right values to pass to AVCodecContext: … … 41 48 == libswresample == 42 49 43 [https://github.com/FFmpeg/FFmpeg/blob/master/doc/swresample.txt This file] is also given as documentation. 50 [https://github.com/FFmpeg/FFmpeg/blob/master/doc/swresample.txt This file] is also given as documentation. You may find some docu under the doxygen of libavcodec "Audio resampling". 44 51 45 52 == libswscale == … … 47 54 [https://github.com/FFmpeg/FFmpeg/blob/master/doc/swscale.txt This file] is also given as documentation. 48 55 56 == libavdevice == 57 58 Its [http://ffmpeg.org/doxygen/trunk/group__lavd.html doxygen documentation]. 59 49 60 = Contact = 50 61


