...
|
...
|
@@ -9,37 +9,72 @@ version <next>:
|
9
|
9
|
- ffmpeg deprecated, added avconv, which is almost the same for now, except
|
10
|
10
|
for a few incompatible changes in the options, which will hopefully make them
|
11
|
11
|
easier to use. The changes are:
|
12
|
|
- * -newvideo/-newaudio/-newsubtitle are gone, because they were redundant and
|
13
|
|
- worked in a nonstandard way. -map is sufficient to add streams to output
|
14
|
|
- files.
|
15
|
|
- * -map now has slightly different and more powerful syntax.
|
16
|
|
- + it's possible to specify stream type. E.g. -map 0:a:2 means 'third
|
17
|
|
- audio stream'.
|
18
|
|
- + omitting the stream index now maps all the streams of the given
|
19
|
|
- type, not just the first. E.g. -map 0:s maps all the subtitle streams.
|
20
|
|
- + colons (':') are used to separate file index/stream type/stream
|
21
|
|
- index. Comma (',') is used to separate the sync stream. This is done
|
22
|
|
- for consistency with other options.
|
23
|
|
- + since -map can now match multiple streams, negative mappings were
|
|
12
|
+ * The options placement is now strictly enforced! While in theory the
|
|
13
|
+ options for ffmpeg should be given in [input options] -i INPUT [output
|
|
14
|
+ options] OUTPUT order, in practice it was possible to give output options
|
|
15
|
+ before the -i and it mostly worked. Except when it didn't - the behavior was
|
|
16
|
+ a bit inconsistent. In avconv, it is not possible to mix input and output
|
|
17
|
+ options. All non-global options are reset after an input or output filename.
|
|
18
|
+ * All per-file options are now truly per-file - they apply only to the next
|
|
19
|
+ input or output file and specifying different values for different files
|
|
20
|
+ will now work properly (notably -ss and -t options).
|
|
21
|
+ * All per-stream options are now truly per-stream - it is possible to
|
|
22
|
+ specify which stream(s) should a given option apply to. See the Stream
|
|
23
|
+ specifiers section in the avconv manual for details.
|
|
24
|
+ * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
|
|
25
|
+ sense that they're specified after the output filename instead of before,
|
|
26
|
+ like all other options. In avconv this irregularity is removed, all options
|
|
27
|
+ apply to the next input or output file.
|
|
28
|
+ * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
|
|
29
|
+ irregular and highly confusing, they were also redundant. In avconv the -map
|
|
30
|
+ option will create new streams in the output file and map input streams to
|
|
31
|
+ them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
|
|
32
|
+ each stream in the first input file.
|
|
33
|
+ * The -map option now has slightly different and more powerful syntax:
|
|
34
|
+ + Colons (':') are used to separate file index/stream type/stream index
|
|
35
|
+ instead of dots. Comma (',') is used to separate the sync stream instead
|
|
36
|
+ of colon.. This is done for consistency with other options.
|
|
37
|
+ + It's possible to specify stream type. E.g. -map 0:a:2 creates an
|
|
38
|
+ output stream from the third input audio stream.
|
|
39
|
+ + Omitting the stream index now maps all the streams of the given type,
|
|
40
|
+ not just the first. E.g. -map 0:s creates output streams for all the
|
|
41
|
+ subtitle streams in the first input file.
|
|
42
|
+ + Since -map can now match multiple streams, negative mappings were
|
24
|
43
|
introduced. Negative mappings disable some streams from an already
|
25
|
|
- defined map. E.g. '-map 0 -map -0:a:1' means 'map everything except
|
26
|
|
- for the second audio stream'.
|
27
|
|
- * -vcodec/-acodec/-scodec are replaced by -c (or -codec), which
|
28
|
|
- allows to precisely specify target stream(s) consistently with other
|
29
|
|
- options. E.g. '-c:v libx264' sets the codec for all video streams,
|
30
|
|
- '-c:a:0 libvorbis' sets the codec for the first audio stream and '-c
|
31
|
|
- copy' copies all the streams.
|
|
44
|
+ defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
|
|
45
|
+ all the stream in the first input file, except for the second audio
|
|
46
|
+ stream'.
|
|
47
|
+ * There is a new option -c (or -codec) for choosing the decoder/encoder to
|
|
48
|
+ use, which allows to precisely specify target stream(s) consistently with
|
|
49
|
+ other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
|
|
50
|
+ libvorbis sets the codec for the first audio stream and -c copy copies all
|
|
51
|
+ the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
|
|
52
|
+ aliases to -c:v/a/s
|
32
|
53
|
* It is now possible to precisely specify which stream should an AVOption
|
33
|
|
- apply to. See the manual for detailed explanation.
|
|
54
|
+ apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
|
|
55
|
+ -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
|
|
56
|
+ syntax is deprecated and will stop working soon.
|
34
|
57
|
* -map_chapters now takes only an input file index and applies to the next
|
35
|
58
|
output file. This is consistent with how all the other options work.
|
36
|
59
|
* -map_metadata now takes only an input metadata specifier and applies to
|
37
|
60
|
the next output file. Output metadata specifier is now part of the option
|
38
|
61
|
name, similarly to the AVOptions/map/codec feature above.
|
39
|
|
- * Presets in avconv are disabled, because only libx264 used them and
|
40
|
|
- presets for libx264 can now be specified using a private option
|
41
|
|
- '-preset <presetname>'.
|
42
|
|
- * -intra option was removed, it's equivalent to -g 0.
|
|
62
|
+ * -metadata can now be used to set metadata on streams and chapters, e.g.
|
|
63
|
+ -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
|
|
64
|
+ This made -vlang/-alang/-slang options redundant, so they were removed.
|
|
65
|
+ * -qscale option now uses stream specifiers and applies to all streams, not
|
|
66
|
+ just video. I.e. plain -qscale number would now apply to all streams. To get
|
|
67
|
+ the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
|
|
68
|
+ and -aq is now an alias for -q:a.
|
|
69
|
+ * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
|
|
70
|
+ uses stream specifiers. Use -bsf:v/a/s instead of the old options.
|
|
71
|
+ * -itsscale option now uses stream specifiers, so its argument is only the
|
|
72
|
+ scale parameter.
|
|
73
|
+ * -intra option was removed, use -g 0 for the same effect.
|
|
74
|
+ * -psnr option was removed, use -flags +psnr for the same effect.
|
|
75
|
+ * -vf option is now an alias to the new -filter option, which uses stream specifiers.
|
|
76
|
+ * -vframes/-aframes/-dframes options are now aliases to the new -frames option.
|
|
77
|
+ * -vtag/-atag/-stag options are now aliases to the new -tag option.
|
43
|
78
|
- XMV demuxer
|
44
|
79
|
- Windows Media Image decoder
|
45
|
80
|
- LATM muxer/demuxer
|