Несколько звуковых дорожек с ручным тормозом
При попытке кодировать видео довольно обобщенным образом типичный вызов будет выглядеть так:
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.
По сути, как я смогу условно выбрать, что делать на основе звуковой дорожки, или мне нужно было бы выполнить какую-то предварительную обработку, чтобы определить, с какими звуковыми дорожками я имею дело, и программно изменить команду на основании этого?
0 ответов
В настоящее время в Handbrake нет возможности делать то, что вы хотите.
Но вы могли бы получить то, что хотите, и без него. По сути, есть утомительный способ сохранить исходную дорожку и одновременно перекодировать ее.
В настоящее время я перекодирую первую дорожку в 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.)
В результате для меня первая дорожка всегда совместима с моими старыми телевизорами, но если мне когда-нибудь понадобится исходная звуковая дорожка, я могу просто переключать дорожки, когда иду воспроизводить видео.