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のどこかに入れてください。
残念ながら、neroAacEnc
WAVオーディオのみを入力として使用できます。 avconvまたはffmpegをデコーダとして使用してこの問題を解決できます。
avconv -i input.flac -f wav - | neroAacEnc -if - -ignorelength -q 0.4 output.m4a
残念ながら、これはメタデータを削除します。転送するには、avprobe / ffprobe(使用-show_format
)を使用して抽出し、neroAacTagを使用して挿入します。 bashスクリプトが適している可能性があります。
HydrogenAudioを見るneroAacEncのページ:記憶上では-q
0.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