我的最终目标是创建一个FFmpeg命令,将我的h264.DTS.mkv文件转换成与我的AppleTV兼容的格式,同时保持原始的质量。
我已经快到了,但是我还没有弄清楚如何禁用流/轨迹。
到目前为止我有:
ffmpeg -i FILE \
-y -strict experimental \
-map 0:0 -map 0:1 -map 0:1 -map 0:1 -map 0:2 \
-c:0 copy -c:1 aac -ac:a 2 -c:2 ac3 -ac:a 6 -c:3 copy -c:4 mov_text \
OUTPUT这将生成一个输出文件,其外观如下:
问题是我需要它看起来像:
因此,我需要知道我如何可以禁用非第一音频流/曲目。
根据我所读到的,这是位于"tkhd.flags“位置的跟踪标头原子的一部分。但是,我还没有弄清楚如何通过命令行参数来设置这个参数。
任何帮助都将不胜感激。
发布于 2016-12-16 17:23:24
你好,迪佩什,这将解决你的问题。
问题
您想要完成的是标记哪个音频流将是默认的,同时在所有不想要的音频流上否定此标志。当尝试选择哪个(如果有的话)字幕跟踪将是默认和/或可能强制的时候,这个解决方案将是相似的。
通用解决方案
FFmpeg将在没有用户干预的情况下自动将所有流标记为default。因此,我们首先需要标记所有流-default,然后将default标记为默认值。让我们用一个音频流作为例子。
-disposition:a -default -disposition:a:0 default上述语句的结果标志着所有音频流-default和第一个音频流到default。
有关其使用的详细信息,请参阅FFmpeg文档中的5.4 Main options。
具体解决方案
ffmpeg -i FILE \
-y -strict experimental \
-map 0:0 -map 0:1 -map 0:1 -map 0:1 -map 0:2 \
-c:0 copy -c:1 aac -ac:a 2 -c:2 ac3 -ac:a 6 -c:3 copy -c:4 mov_text \
-disposition:a -default -disposition:a:0 default \
OUTPUT在解决方案中,-disposition:a -default将输出文件中的所有音频流标记为而不是默认值。-disposition:a:0 default将输出文件中的第一个音频流标记为默认值。
发布于 2013-01-21 09:40:48
您是否检查过:http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20use%20-map%20option只是不将不需要的流复制到输出中。
ffmpeg -i FILE \
-y -strict experimental \
-map 0:0 -map 0:1 -map 0:4 \
-c:0 copy -c:1 aac -ac:a 2 -c:4 mov_text \
OUTPUT我希望我的回答是正确的!
发布于 2016-05-09 04:31:10
禁用音频音轨并不意味着完全删除它。
见图

https://stackoverflow.com/questions/14409194
复制相似问题