fdk_aac

fdk_aac

CDをFLACにバックアップし、Android携帯電話と妻のiPhoneに移植するためにAAC(.m4a)ファイルにトランスコードしました。私はMacでXLDを使っていてとても素敵に動作しますが、これを行うために彼女のMacを盗んでDebianコンピュータでそれを行うことを望んでいません。以下はうまくいきます:

avconv -i "inputfile.flac" -acodec aac -strict experimental "outputfile.m4a" -map_metadata "inputfile.flac":"outputfile.m4a"

しかし、以下はそうではありません(しかし、オーディオ品質の320を無視すると、結果は上記と同じです)。

avconv -i "inputfile.flac" -acodec aac -aq 320 -strict experimental "outputfile.m4a" -map_metadata "inputfile.flac":"outputfile.m4a"

私はオンラインでffmpegのような他のコマンドを見つけましたが、ほとんどまたはすべては上記のavconvメソッドを好むので、もう使用されていません。どんな助けでも大変感謝します!真のVBRでなければ、320Kbpsも受け入れることができますが、少なくとも320LC VBRが最善です。

ベストアンサー1

まず-aq、品質に応じて可変ビットレートを設定します。あなたが探しているようです-ab(私はffmpegユーザーなので、avconv構文の知識が限られています。フォーク以降はわかりません)。

とにかく組み込まれたavconv / ffmpeg AACエンコーダはかなり悪いです。

fdk_aac

avconv/ffmpeg本当に良いAACエンコーダはlibfdk_aacです。ただし、ライセンスはGPLと互換性がないため、アクセスするには次の手順を実行する必要があります。独自のコンパイル(私はavconvのガイドについて知らないので、これはffmpegコンパイルガイドです。

獲得してからフォローしてください。AACコーディングガイドライン;fdk_aacを試してみることをお勧めします。-vbrオプション - 3に設定すると、試したすべてのファイルで透過的に聞こえました。より高いビットレートのプラシーボが必要な場合、またはサウンドエンジニアの場合は5に設定してみてください。

ffmpeg -i input.flac -c:a libfdk_aac -vbr 3 output.m4a

いいえ-map_metadata、ffmpegはメタデータを自動的に送信します(avconvも同様であると確信しています)。

320kbit / sの固定ビットレートの場合(実際にはそれほど価値はありません。AACは、固定128kbit / s程度でオリジナルのCDオーディオに匹敵するオーディオ透明性を達成します):

ffmpeg -i input.flac -c:a libfdk_aac -b:a 320k

neroAacEnc

NeroのAACエンコーダは、fdk_aacおよびqaac(Quicktime AAC)と同じと見なす必要があります。人々はどちらがより良いかについて異なる意見を提示しますが、非常に低いビットレートでのみ違いを感じることができ、すべてがすべて非常に高品質であることに同意します。

neroAacEnc利用可能Neroのウェブサイトから。解凍して$PATHのどこかに入れてください。

残念ながら、neroAacEncWAVオーディオのみを入力として使用できます。 avconvまたはffmpegをデコーダとして使用してこの問題を解決できます。

avconv -i input.flac -f wav - | neroAacEnc -if - -ignorelength -q 0.4 output.m4a

残念ながら、これはメタデータを削除します。転送するには、avprobe / ffprobe(使用-show_format)を使用して抽出し、neroAacTagを使用して挿入します。 bashスクリプトが適している可能性があります。

HydrogenAudioを見るneroAacEncのページ:記憶上では-q0.4設定が私にはいいようです。使えます-br(もう一度言いますが、これは方法通過):

avconv -i input.flac -f wav - | neroAacEnc -if - -ignorelength -br 320000 output.m4a

編集:以下は、neroAacEncを使用してオーディオファイルをm4aに変換し、ffprobeとneroAacTagを使用してタグを付けるスクリプトです(すべて$ PATHのディレクトリにある必要があります)。複数の入力ファイルを受け入れることができるため、として保存すると、次のようにconvert-to-m4aディレクトリ内のすべてのFLACファイルを変換できます。

convert-to-m4a *.flac

FLACファイルに限定されず、ffmpeg / avconvがデコードできる任意のオーディオフォーマットが可能です。 ffprobeとffmpegをavprobeとavconvに変更できます。

#!/usr/bin/env bash

until [[ "$1" = '' ]]; do
  ffmpeg -i "$1" -f wav - | neroAacEnc -if - -ignorelength -q 0.4 "${1%.*}.m4a"
  tags=()
  while read -r; do
    tags+=("$REPLY")
  done < <(ffprobe -i "$1" -show_format 2>/dev/null | sed -ne 's/date/year/' -e '/TAG:/s/TAG/-meta/p')
  neroAacTag "${1%.*}.m4a" "${tags[@]}"
  shift
done
exit 0

おすすめ記事