Usage differences
Note: ffmbc
/ffmpeg
will refer to the tools, while FFmbc/FFmpeg will refer to the projects themselves and/or each whole collection of tools and libraries.
There are syntax differences including:
ffmbc
uses the old, confusing-newaudio
option whileffmpeg
can just use-map
.ffmbc
does not support-codec
or-c
, so instead all stream types must be explicitly defined if you do not want to rely on the defaults. For example-vcodec copy -acodec copy -scodec copy
vs just-c copy
.Probably lots more that I didn't think of. Feel free to edit answer and add more.
ffmbc
will automatically relocate some data after encoding to MOV, MP4, etc whileffmpeg
requires the-movflags +faststart
option.ffmbc
does not support-filter_complex
so filtering is different. For example, using the overlay video filter:ffmbc
:-i video.mp4 -vf "movie='overlay.png' [movie]; [in][movie] overlay [out]"
ffmpeg
:-i video.mp4 -i image.png -filter_complex "[0:v][1:v]overlay"
FFmbc seems to support more broadcast formats.
FFmpeg has more features and filters.
FFmbc dropped
ffplay
andffserver
.
Development differences
FFmbc is GPL, and FFmpeg is mostly LGPL which makes porting features from FFmbc to FFmpeg more difficult.
FFmbc does not use a public distributed version control system, such as Git, which also makes porting features from FFmbc to FFmpeg difficult. It also makes it arguably harder to contribute to.
FFmbc is basically the project of a former FFmpeg developer with a few contributions from others. FFmpeg has many developers and contributors.
FFmpeg often merges things form Libav, while FFmbc ignores Libav. Libav cherry-picks occasionally from FFmpeg, but ignores most stuff from FFmpeg (Libav is often joked to have "NIH syndrome").