1. ホーム
  2. audio

[解決済み] ハンドブレーキ付きマルチオーディオトラック

2022-02-15 04:24:43

質問事項

かなり一般的な方法でビデオをエンコードしようとすると、典型的な呼び出しは次のようになります。

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トラックを作成する。

基本的に、オーディオトラックに基づいて何を行うかを条件付きで選択できるようにするにはどうすればよいでしょうか。あるいは、扱うオーディオトラックの種類を特定するために何らかの前処理を行い、それに基づいてプログラム的にコマンドを変更する必要があるでしょうか。

どのように解決するのですか?

今のところ、Handbrakeでやりたいことをやる方法はない。

しかし、それがなくても欲しいものを手に入れられるかもしれません。本来は、オリジナルのトラックを維持しながら、同時にトランスコードする面倒な方法があるのです。

現在私が行っているのは、1曲目をAACにトランスコードし、かつ全ての原曲を残すというものです。(元々エンコードされていた1曲目が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

1曲目を2回リストアップして、エンコーダーとミックスダウンでそのパターンを踏襲しています。(mp3やflaacは気にしない)。

その結果、私の場合、最初のトラックは常に古いテレビと互換性がありますが、オリジナルのオーディオトラックが必要な場合は、ビデオを再生するときにトラックを切り替えればいいだけなのです。