FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
libavcodecprovides implementation of a wider range of codecs.libavformatimplements streaming protocols, container formats and basic I/O access.libavutilincludes hashers, decompressors and miscellaneous utility functions.libavfilterprovides a mean to alter decoded Audio and Video through chain of filters.libavdeviceprovides an abstraction to access capture and playback devices.libswresampleimplements audio mixing and resampling routines.libswscaleimplements color conversion and scaling routines.
- ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
- ffplay is a minimalistic multimedia player.
- ffprobe is a simple analisys tool to inspect multimedia content.
- Additional small tools such as
aviocat,ismindexandqt-faststart.
The offline documentation is available in the doc/ directory.
The online documentation is available in the main website and in the wiki.
Coding examples are available in the doc/examples directory.
FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.
DJI SDK uses FFmpeg as a static library (.so file). Our compiling processing is explained as follow:
The set-up : MacBook Pro Mid 2015 15-inch, running VMware Fusion Professional Version 8.5.6 (5234762), with image of ubuntu ubuntu-16.04.2-desktop-amd64.iso
- Edit the first line to match your NDK location.
- Find where
TOOLCHAINS_VERSIONwas declared in the file and change it to your version. At this moment, DJI is using 4.9. - Also change the PLATFORM_VERSION to the latest one that comes with your Android SDK. At this moment, DJI is using 21.
- To build the .so file of FFmpeg for Android, execute build_android.sh
To build the .so file of FFmpeg for iOS, please execute build_iOS.sh