added avconv, which is almost the same for now, except * The options placement is now strictly enforced! While in theory the options for ffmpeg should be given in [input options] -i INPUT [output options] OUTPUT order, in practice it was possible to give output options before the -i and it mostly worked. Except when it didn't - the behavior was a bit inconsistent. In avconv, it is not possible to mix input and output options. All non-global options are reset after an input or output filename. * All per-file options are now truly per-file - they apply only to the next input or output file and specifying different values for different files will now work properly (notably -ss and -t options). * All per-stream options are now truly per-stream - it is possible to specify which stream(s) should a given option apply to. See the Stream specifiers section in the avconv manual for details. * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the sense that they're specified after the output filename instead of before, like all other options. In avconv this irregularity is removed, all options apply to the next input or output file. * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they irregular and highly confusing, they were also redundant. In avconv the -map option will create new streams in the output file and map input streams to them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for each stream in the first input file. * The -map option now has slightly different and more powerful syntax: + Colons (':') are used to separate file index/stream type/stream index instead of dots. Comma (',') is used to separate the sync stream instead of colon.. This is done for consistency with other options. + It's possible to specify stream type. E.g. -map 0:a:2 creates an output stream from the third input audio stream. + Omitting the stream index now maps all the streams of the given type, not just the first. E.g. -map 0:s creates output streams for all the subtitle streams in the first input file. + Since -map can now match multiple streams, negative mappings were introduced. Negative mappings disable some streams from an already defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for all the stream in the first input file, except for the second audio stream'. * There is a new option -c (or -codec) for choosing the decoder/encoder to use, which makes it possible to precisely specify target stream(s) consistently with other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0 libvorbis sets the codec for the first audio stream and -c copy copies all the streams without reencoding. Old -vcodec/-acodec/-scodec options are now aliases to -c:v/a/s * It is now possible to precisely specify which stream should an AVOption apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k syntax is deprecated and will stop working soon. * -map_chapters now takes only an input file index and applies to the next output file. This is consistent with how all the other options work. * -map_metadata now takes only an input metadata specifier and applies to the next output file. Output metadata specifier is now part of the option name, similarly to the AVOptions/map/codec feature above. * -metadata can now be used to set metadata on streams and chapters, e.g. -metadata:s:1 language=eng sets the language of the first stream to 'eng'. This made -vlang/-alang/-slang options redundant, so they were removed. * -qscale option now uses stream specifiers and applies to all streams, not just video. I.e. plain -qscale number would now apply to all streams. To get the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale and -aq is now an alias for -q:a. * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which uses stream specifiers. Use -bsf:v/a/s instead of the old options. * -itsscale option now uses stream specifiers, so its argument is only the scale parameter. * -intra option was removed, use -g 0 for the same effect. * -psnr option was removed, use -flags +psnr for the same effect. * -vf option is now an alias to the new -filter option, which uses stream specifiers. * -vframes/-aframes/-dframes options are now aliases to the new -frames option. * -vtag/-atag/-stag options are now aliases to the new -tag option.
XMV demuxer
LOAS demuxer
ashowinfo filter added
Windows Media Image decoder
amovie source added
LATM muxer/demuxer
Speex encoder via libspeex
JSON output in ffprobe
WTV muxer
Optional C++ Support (needed for libstagefright)
H.264 Decoding on Android via Stagefright
Prores decoder
BIN/XBIN/ADF/IDF text file decoder
aconvert audio filter added
audio support to lavfi input device added
libcdio-paranoia input device for audio CD grabbing
Apple ProRes decoder
CELT in Ogg demuxing
G.723.1 demuxer and decoder
libmodplug support (--enable-libmodplug)
VC-1 interlaced decoding
libutvideo wrapper (--enable-libutvideo)
aevalsrc audio source added
Ut Video decoder
Speex encoding via libspeex
4:2:2 H.264 decoding support
4:2:2 and 4:4:4 H.264 encoding with libx264
Pulseaudio input device
Prores encoder
Video Decoder Acceleration (VDA) HWAccel module.
replacement Indeo 3 decoder
new ffmpeg option: -map_channel
volume audio filter added
earwax audio filter added
libv4l2 support (--enable-libv4l2)
TLS/SSL and HTTPS protocol support
AVOptions API rewritten and documented
most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in AVCodecContext deprecated. Codec private options should be used instead.
Properly working defaults in libx264 wrapper, support for native presets.