关于ffmpeg:将各种编解码器附加到各种过滤器图输出流——如何做?
以下说法100%正确吗?
有 5 种类型的“-map”:
1,输入绝对值:索引(我)所有输入流(例如 -map [0:我]),
2、输入相关:索引(我)仅输入视频流(例如 -map [0:v:我])或仅输入音频流(例如-map [0:a:我]),或者仅输入字幕流(例如-map [0:s:我]),
3,命名映射(例如-map“[姓名]”),应引用,
4、输出-absolute:index(我)所有输出流(例如 -map [:我]), 和
5、输出相关:索引(我)仅输出视频流(例如-map [v:我])或仅输出音频流(例如-map [a:我])或仅输出字幕流(例如-map [s:我]),
过滤器输入和未过滤的“-codec”使用输入绝对或输入相对映射(或未映射到输出)。过滤器输出使用命名映射,但“-codec”指令仅支持输出绝对或输出相对映射,不支持命名映射。“-codec”指令仅使用输出绝对或输出相对映射。
输入绝对(或相对)映射和输出绝对(或相对)映射之间的区别在于,对于输入,解复用器确定索引顺序,而对于输出,用户通过按顺序放置“-map”指令来确定索引顺序。
未通过至少“-map 0”映射的流(即映射所有输入“0”流)将被删除(即不连接到输出)。
答案1
1、Input-absolute:索引(i)所有输入流(例如-map[0:i]),
2、输入相对:index(i)仅输入视频流(例如-map [0:v:i]),或仅输入音频流(例如-map [0:a:i]),或仅输入字幕流(例如-map [0:s:i]),
是的,但是没有方括号。
3,需要用引号括起来的命名映射(例如 -map "[name]"),
取决于 shell,在 Windows (cmd) 上,不需要,但 Bash 需要。
4、Output-absolute:索引(i)所有输出流(例如-map[:i]),以及
5、输出相对:index(i)仅输出视频流(如-map[v:i])或仅输出音频流(如-map[a:i])或仅输出字幕流(如-map[s:i]),
该map
选项旨在指定从输入到输出的映射,因此它需要输入流规范。由于解析器的工作方式,缺失的文件索引将被视为输入文件索引 0。
其他每个流输出选项,例如-codec
预期输出流索引、绝对(-codec:4
)或媒体类型限定(-codec:a:1
)。