コマンドラインを使用してMP3ファイルからアルバムアートを削除する

コマンドラインを使用してMP3ファイルからアルバムアートを削除する

複数のMP3(何千もの)に含まれるアルバムアートを削除したいのですが、これを行うコマンドライン方法が見つかりません。 artを追加できlame、他のほとんどすべてのタグを追加または削除できますが、id3tag次の方法を見つけることができません。

for file in **/*.mp3 do <remove image command> $file; done

私がこれに何を入れることができるかを知っている人はいますか<remove image command>

ベストアンサー1

良い解決策はないようです。私が思いついた最善の方法は、ffmpegを使用して新しいファイルをすばやく作成することです。 @awesome14から提供されたコマンドは私のシステムでは機能しませんでした(ほとんど動作しましたが、エラーがたくさんあり、曲がコピーされませんでした)。これが私が思いついた命令です。

for song in **/*.mp3
   do NAME=$(echo ${song%/*} | sed -e 's|[/ ]|-|g’)
      ffmpeg -y -i $song -vn -c copy /path/NOART/"$NAME-"${song##*/}; 
done

これはbash5またはzshシェルで動作します。

  1. **/*.mp3現在のディレクトリの下のすべてのディレクトリで.mp3に一致するすべてのファイル

  2. echo ${song%/*} | sed -e 's|[/ ]|-|g’ファイル名ではなくパス部分のすべてのスラッシュとスペースをダッシュ​​に変換します。

  3. —vn -c copy映像(映像番号)はコピーしないで、修正されていないファイルをコピーしてください。

  4. /path/NOART/"$NAME-"${song##*/}NAME変数に設定されているファイル名と$ songのデフォルト名を使用してパスに保存します。

  5. 出力ファイル名は「10Cc-Look-Hear-Dressed To Kill.mp3」と似ています。

この作業のもう1つの利点は、曲からすべてのメタデータを削除せずに「ビデオ」(この場合はアルバムカバーアート)のみを削除することです。

おすすめ記事