[ excerpt (with adaptations) from developer's README ]
ffmpeg is a hyper fast realtime audio/video encoder, a streaming
server and a generic audio and video file converter.
It can convert a standard video source into several file formats
based on DCT/motion compensation encoding. Sound is compressed in
MPEG audio layer 2 or using an AC3 compatible stream.
What makes ffmpeg interesting ?
- Simple and efficient video encoder: outputs MPEG1, H263, Real
Video(tm), MPEG4, DIVX and MJPEG compatible bitstreams using the
same encoder core.
- Hyper fast MPEG audio layer 2 compression (50 times faster than
realtime on a K6 500).
[snip -> rest on website below]
ffmpeg is made of two programs:
* ffmpeg: soft VCR which encodes in real time to several formats.
It can also encode from any supported input file format to any
input supported format.
* ffserver: high performance live broadcast streaming server based
on the ffmpeg core encoders.
WWW: http://ffmpeg.mplayerhq.hu/

graphics/opencv: back out r423216 and r423063 (replaying r423316)
Renaming didn't help to unblock 3.x progress as co-existence with 2.x
was no less complex than simply fixing consumers. This commit also
restores directory-level history accidentally lost via git-svn.
PR: 210505
Pointy hat to: jbeich (should've discussed first)

graphics/opencv: add suffix to make room for 3.x series
To avoid confusion, the main port is to track the latest release.
Whether to rename includes/libraries as well making it possible to
install 2.x and 3.x side-by-side remains to be investigated.
PR: 210505 (for tracking)
Inspired by: PkgSrc

multimedia/ffmpeg: chase r405873 by clarifying license
From on WRKSRC/configure:
license="LGPL version 2.1 or later"
if enabled nonfree; then
license="nonfree and unredistributable"
elif enabled gplv3; then
license="GPL version 3 or later"
elif enabled lgplv3; then
license="LGPL version 3 or later"
elif enabled gpl; then
license="GPL version 2 or later"
fi

Fix usage of ${PERL5}.
${PERL5} points to a specific version of perl, say, perl5.22.1, it is
fine to use it in a ports Makefile to do Perly things, but ports using
it must use ${PERL}, that points to /usr/local/bin/perl so that if the
minor version is updated, the shebang keep working.
While there, make some ports use shebangfix, regen a few patches, and
bump PORTREVISION where a shebang went from PERL5 to PERL.
PR: 205367
With hat: portmgr
Sponsored by: Absolight

Remove support for WANT_SDL/HAVE_SDL knobs
WANT_SDL/HAVE_SDL macros allowed a port to check which SDL components
are installed. This goes against the policy of avoiding automatic
dependencies, and there are actually no cases in the portstree where
these knobs are used properly, so axe them out.
Approved by: portmgr (mat)
Differential Revision: D4093

multimedia/ffmpeg0: Use OPTIONS helpers, Honour CFLAGS
- Use OPTIONS helpers for as many as conditional blocks as possible.
Blocks with FFMPEG_* and other variables not supported by the helper
framework are not modified.
- Honour CFLAGS for armv6 (= -> ?=)
While I'm here:
- Sort and group common or related Makefile sections where it made sense
to do so and improved readability. Put global things up the top and
conditional blocks below.
- Improve whitespace alignment for readability.
Approved by: wg (maintainer)
Differential Revision: https://reviews.freebsd.org/D2981

multimedia/ffmpeg(0|26): Convert memalign-hack into an option
DragonFly already has an aligned malloc (posix_memalign) and the hack
in ffmpeg is tripping an assertion. M.Dillon thinks the hack is stale.
In the spirit of no-op changes for FreeBSD, this changeset converts
the "--enable-memalign-hack" into an on-by-default option, and then
excludes the option for DragonFly.
It does incur a revbump though.
I'm doing this under "non-invasive DragonFly support" flag
P.S. I wouldn't be surprised if --enable-memalign-hack is wrong for
recent FreeBSD releases as well, so maybe the maintainers should take
a look at this new option.

Replace USES=libtool:oldver with USES=libtool or USES=libtool:keepla in
the 32 ports that still use it. Bump PORTREVISION on their dependent
ports except the ones that depend on these:
audio/libogg
audio/libvorbis
devel/pcre
ftp/curl
graphics/jpeg
graphics/libart_lgpl
graphics/tiff
textproc/expat2
textproc/libxslt
In these cases the same trick as in the recent gettext update is used.

multimedia/x264: General overhaul
- Split x264 into two ports: the CLI application (x264), and the library
(libx264). This will allow x264 to use lavf and friends from ffmpeg for
decoding and demuxing while preventing a circular dependency between the
two: x264 can depend on ffmpeg, but ffmpeg will depend on libx264 rather
than x264.
- Add the LAVF option to the CLI port, making the dependency on ffmpeg
optional.
- Update to 0.142.2455.
- Amend fixes to local patches so that they can apply to the new upstream
files.
- Provide the git revision and other version information to the build
environment, allowing the CLI binary to display this information (like the
Windows builds).
- Remove unsupported build options (X11_OUTPUT).
- Ensure that the library and CLI ports each have the appropriate options.
- Add notes for future contributors who wish to update the ports.
- Bump PORTREVISION for all dependent ports.
PR: 187805
Differential Revision: https://reviews.freebsd.org/D1159
Submitted by: Andrew Berg <aberg010@my.hennepintech.edu>
Approved by: koobs (maintainer, mentor)

The FreeBSD x11@ and graphics team proudly presents
a zeising, kwm production, with help from dumbbell, bdrewery:
NEW XORG ON FREEBSD 9-STABLE AND 10-STABLE
This update switches over to use the new xorg stack by default on FreeBSD 9
and 10 stable, on osversions where vt(9) is available.
It is still possible to use the old stack by specifying WITHOUT_NEW_XORG in
/etc/make.conf .
FreeBSD 8-STABLE and released versions of FreeBSD still use
the old version.
A package repository with binary packages for new xorg will
be available soon.
This patch also contains updates of libxcb and related ports, pixman, as well

Update freetype to 2.5.2.
Remove patch to add -I/usr/local/include in freetype-config --cflags. If
ports need extra headers they should look for them, and not get them via
a side-effect.
Freetype had a header resuffle in 2.5.1, patch ports to use the new header
style.
Thanks go to bdrewery for the two exp-runs and rakuco for helping me with
some troublesome cmake ports.
PR: ports/184587

- Update graphics/*opencv* to 2.4.7
- Revert options helpers to if statements since the OFF condition is not
applied when OPTIONS_EXCLUDE is used
- Move most of the OpenCV modules from the graphics/opencv-core port to
graphics/opencv, leaving opencv-core as just the bare minimum required
for building ffmpeg with OpenCV support
- Install examples for python and java bindings
- Add new slave port graphics/opencv-java: Java bindings for OpenCV
- Bump PORTREVISION and make dependency adjustments and fixes for
dependent ports
- Add UPDATING entry

- Split the library part of multimedia/rtmpdump into multimedia/librtmp.
- Update ports depending on librtmp.
- Add instruction to avoid a build error in multimedia/rtmpdump under a
specific condition.

ffmpeg is a hyper fast realtime audio/video encoder, a streaming
server and a generic audio and video file converter.
It can convert a standard video source into several file formats
based on DCT/motion compensation encoding. Sound is compressed in
MPEG audio layer 2 or using an AC3 compatible stream.
What makes ffmpeg interesting ?
- Simple and efficient video encoder: outputs MPEG1, H263, Real
Video(tm), MPEG4, DIVX and MJPEG compatible bitstreams using the
same encoder core.
- Hyper fast MPEG audio layer 2 compression (50 times faster than
realtime on a K6 500).
[snip -> rest on website below]
ffmpeg is made of two programs:
* ffmpeg: soft VCR which encodes in real time to several formats.
It can also encode from any supported input file format to any
input supported format.
* ffserver: high performance live broadcast streaming server based
on the ffmpeg core encoders.
WWW: http://ffmpeg.mplayerhq.hu/