带有手刹的多个音轨

时间:2019-06-26 00:24:22

标签: audio video command-line handbrake handbrakecli

尝试以相当笼统的方式对视频进行编码,典型的通话将如下所示:

HandBrakeCLI --encoder-preset medium --encoder-level 4.1 --format av_mkv --encoder x264 --quality 21 --aencoder aac,ac3 --audio-copy-mask aac,ac3,dtshd,dts,mp3 -a 1,2 -s 0,1,2,3,4 -x threads=38 -i Input.mkv -o Output.mkv

问题是我想对音轨执行以下操作:

  • 如果有高比特率音轨(例如dts),请将其转换为ac3
  • 如果有aac轨道,请对其重新编码(或复制)
  • 如果没有aac轨道并且高比特率轨道,请创建aac轨道

从本质上讲,我将如何有条件地根据音轨选择要执行的操作,或者我需要进行某种预处理来识别我要处理的音轨并以编程方式更改命令在那?

1 个答案:

答案 0 :(得分:0)

目前,您无法在“手刹”中完成所需的操作。

但是,如果没有它,您也许可以得到想要的东西。本质上,有一种单调的方式既可以保留原始轨道,也可以同时对其进行转码。

我目前正在做的是将第一个音轨转码为AAC,并保留所有原始音轨。 (最初编码的第一条轨道变为轨道2,依此类推。)

例如这是我的音频选项:

--all-subtitles --audio 1,1,2,3,4,5,6,7,8,9,10,11 --aencoder ca_aac,copy,copy,copy,copy,copy,copy,copy,copy,copy,copy,copy --mixdown dpl2,7point1,7point1,7point1,7point1,7point1,7point1,7point1,7point1,7point1,7point1,7point1 --audio-copy-mask aac,ac3,eac3,truehd,dts,dtshd --audio-fallback aac

我将第一首曲目列出两次,然后在编码器中遵循该模式并进行混音。 (我不在乎mp3或flaac。)

对我来说,结果是第一首曲目始终与旧电视兼容,但是如果我想要原始音轨,则可以在播放视频时切换曲目。