This repository hosts the state of the FFmpeg source code corresponding to the Prebuilt FFmpeg binaries in the releases section. It is a very outdated version of FFmpeg, however during testing this version produced the best output using the selected codecs and therefore was selected. These binaries are by default used by all of Dynamotivation’s applications which require their functionality. The functionality of these binaries has been extremely reduced to mere png to mp4 and gif conversions. However the binaries will not function without the correct Windows 32 bit binary of Cisco’s OpenH264 Codec renamed to “libopenh264.dll” and placed in the same directory as the executables. The original FFmpeg README is located below and marked as such.
The binaries are subject to the LGPL 2.1 and include zlib functionality under the zlib license. Cisco’s OpenH264 binary is additionally subject to all of the binaries license terms and not therefore must be downloaded seperately.
To compile the binaries the Media-autobuild Suite was used.
The /build/media-autobuild_suite.ini contained the following:
[compiler list]
arch=2
license2=5
standalone=1
vpx2=2
aom=2
rav1e=2
dav1d=2
libavif=2
jpegxl=2
x2643=2
x2652=2
other265=2
svthevc=2
xvc=2
vvc=2
svtav1=2
svtvp9=2
flac=2
fdkaac=2
faac=2
exhale=2
mediainfo=2
soxB=2
ffmpegB2=3
ffmpegUpdate=3
ffmpegChoice=1
mp4box=2
rtmpdump=2
mplayer2=2
mpv=2
vlc=2
bmx=2
curl=2
ffmbc=2
cyanrip2=2
redshift=2
ripgrep=2
jq=2
jo=2
dssim=2
avs2=2
CC=2
cores=6
deleteSource=1
strip=1
pack=2
logging=1
updateSuite=2
timeStamp=1
ccache=2
noMintty=2
Meanwhile the /build/ffmpeg_options.ini contained the following:
--disable-everything
--disable-nvenc
--disable-avdevice
--disable-postproc
--enable-small
--enable-filter=scale
--enable-zlib
--enable-libopenh264
--enable-encoder=libopenh264
--enable-protocol=file
--enable-encoder=gif
--enable-decoder=png
--enable-muxer=mp4
--enable-muxer=gif
--enable-demuxer=image2
--disable-ffplay
--disable-ffprobe
To configure the utility in a way that compiles our chosen commit instead of the upstream FFmpeg version one must let the utility perform the self update and then abort the execution and modify files.
The /build/media-suite_compile.sh script contains multiple references to https://git.ffmpeg.org/ffmpeg.git which need to be exchanged for the URL to your chosen commit or in this case the URL to this repository. Some error may appear later on, however the compilation as described will succeede. The suite can be started again upon making these changes.
No other configuration files were modified.
No support will be provided for this repository or any repository involved in the compilation of the binaries. Do NOT rely on this repository for your own projects. This repository mainly exists to comply with the FFmpeg License and thus will only be guaranteed to exist for 3 years after the last of Dynamotivation’s applications relying on it for export functionality releases. No concrete day will be decided for the termination of the (source code) portion as preservation of it and the learning process behind compiling the specific binaries are important.
FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
libavcodec
provides implementation of a wider range of codecs.libavformat
implements streaming protocols, container formats and basic I/O access.libavutil
includes hashers, decompressors and miscellaneous utility functions.libavfilter
provides a mean to alter decoded Audio and Video through chain of filters.libavdevice
provides an abstraction to access capture and playback devices.libswresample
implements audio mixing and resampling routines.libswscale
implements 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 analysis tool to inspect multimedia content.
- ffserver is a multimedia streaming server for live broadcasts.
- Additional small tools such as
aviocat
,ismindex
andqt-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.
Patches should be submitted to the ffmpeg-devel mailing list using
git format-patch
or git send-email
. Github pull requests should be
avoided because they are not part of our review process and will be ignored.