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