アートワーク付きのハイレゾ音源をFFmpegで -vn オプションを付けてAAC変換すると、タグ情報(タイトルやアーティスト等)は引き継がれますが、残念なことにアートワーク画像は引き継がれません。 (例えば、iPhoneのミュージックアプリにアートワークの無いAACファイルを追加するとプレイリストには代替の ♫ 音符マークが表示されてします。)
注意(2024/4/5追記)
アートワークが付いた音声ファイルをFFmpegでAAC変換する時、-vn オプションの代わりに -c:v copy に変更すると、アートワークが引き継がれ、後述するAtomicParsley CLIを使う必要は無いことが分かりました。 詳しくはここをクリックして参照してください。
よって、当記事は -vn オプションを付けてAACに変換した(アートワークが無い)ファイルに対して Artwork(画像)を引き渡す方法としてお読みください。
今回は、変換元・音源に含まれるアートワーク(画像)をAACファイルに引き渡す方法の紹介です。(新たな画像ファイル(png or jpg)を用意すればAACファイルにArtworkを付加することもできます)
FFmpegによるハイレゾ音源のAAC変換の方法は、以下の関連記事を参照してください。
FFmpeg 関連記事
タグ情報について
音源には、タイトルやアーティスト等のタグ情報とアートワーク(サムネール画像)が埋め込まれています。 この情報を調べるには、「Tag Editor Free」アプリ を利用するのが簡単です。
Tag Editorアプリに音源ファイルをドロップしますとタグ情報とアートワークが表示されます。 例として、レコードからハイレゾ録音した音源ファイル(上段)とFFmpegでAAC変換したファイル(下段)を示します。(この表示例は、分かりやすくするため、Tag Editorで表示された情報をmacOSのNumbersで加工した画像です)


AtomicParsleyのインストール
FFmpegでAAC変換する時に変換元・音源に含まれるArtwork(画像)を付加するためには、事前に「Homebrew」を経由してAtomicParsleyのインストールが必要です。
「Homebrew」のインストールがお済みでない方は、下のボタンを押して参照してください。
AtomicParsleyのインストール
AtomicParsleyのインストール
ターミナルで、下の様にHomebrewのコマンドラインを実行すると、自動でAtomicParsleyが約30秒程でインストールが完了します。
ターミナルbrew install atomicparsley # インストールが完了したら、確認のため atomicparsley -h # helpが表示されれば成功です。
FFmpegのインストールがお済みで無い方は、以下でインストールします。
FFmpegでAAC変換する時に変換元・音源に含まれるArtwork(画像)を引き渡す手順
AAC変換〜アートワーク引き渡し(手順)
ターミナルを起動して、下のFFmpeg とAtomicParsley のコマンドラインを実行します。
- ハイレゾ音源ファイルをNativeAACエンコーダでAAC変換(m4a)を行う
ターミナル
ffmpeg -i "変換元ファイル.wav" -aac_coder twoloop -vn -ar 48000 -ab 320k "変換後のファイル名.m4a" - ハイレゾ音源ファイルの画像を抽出してArtwork.pngに保存
ターミナル
ffmpeg -i “変換元ファイル.wav” -an -codec:v copy “抽出artwork File名.png (or jpg)” - 抽出したArtwork.pngを AtomicParsley でAAC変換したフィル(m4a)にコピーする
ターミナル
AtomicParsley “変換後のファイル名.m4a” --artwork “抽出artwork File名.png ” --overWrite - 抽出したArtwork.pngを削除
ターミナル
rm “artwork.png”
AtomicParsley の注意ポイント
(2022/9/4追記)
AtomicParsleyは、少々癖のあるCLIアプリの様です。 AACファイルやArtworkファイルがパスを含めたファイル名が長いと filename/filepath was too long.と表示されコピーエラーになる場合があります。
これを防止するために、cdコマンドで、AAC(m4a)ファイルが存在するディレクトリに移動して、パスを含めないコマンドラインでArtworkをコピーする必要があります。
ターミナル NG例: AtomicParsley “/path1/path2/変換後のファイル名.m4a” --artwork “/path1/path2/抽出artwork File名.png ” --overWrite
ターミナル OK例: cd "/path1/path2" AtomicParsley “変換後のファイル名.m4a” --artwork “抽出artwork File名.png ” --overWrite cd #ルートに戻す
参考にさせて頂いたサイトURL
Artworkの抽出:
https://unix.stackexchange.com/questions/41287/how-to-extract-album-cover-image-from-mp3-file
抽出画像を、AAC(m4a)ファイルにコピー:
https://qiita.com/kokifpen/items/bfb5f2feda2ac17de1bb
Artwork(画像)がAACファイルに引き渡されたか確認
AACファイルにアートワーク(画像)が引き継がれているか?「Tag Editor Free」アプリで確認しました。

