
複数の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シェルで動作します。
**/*.mp3
現在のディレクトリの下のすべてのディレクトリで.mp3に一致するすべてのファイルecho ${song%/*} | sed -e 's|[/ ]|-|g’
ファイル名ではなくパス部分のすべてのスラッシュとスペースをダッシュに変換します。—vn -c copy
映像(映像番号)はコピーしないで、修正されていないファイルをコピーしてください。/path/NOART/"$NAME-"${song##*/}
NAME変数に設定されているファイル名と$ songのデフォルト名を使用してパスに保存します。出力ファイル名は「10Cc-Look-Hear-Dressed To Kill.mp3」と似ています。
この作業のもう1つの利点は、曲からすべてのメタデータを削除せずに「ビデオ」(この場合はアルバムカバーアート)のみを削除することです。
答え2
@BowlOfRedが正しく指摘しました。簡単な答え 使用eyeD3パッケージ存在する彼らの意見。ただファイルの場合
eyeD3 - すべての画像を削除ファイル名.mp3
元の問題に合わせてカスタマイズしてから
for file in **/*.mp3; do eyeD3 --remove-all-images "$file"; done
でも
eyeD3 --remove-all-images **/*.mp3
もちろん、この例のように機能するには、globstar
""に" "シェルオプションを設定する必要があります。**
答え3
これをインストールkid-cli
し、CLIでメタデータタグを変更するために使用できます。この質問を見る前に、アルバムアートを削除するためにこの方法を使用したことはありませんでしたが、次の方法を見つけたようです。
for file in **/*.mp3 do (sleep 2; printf %s\\n 'set "Picture:" ""' save exit) | kid3-cli $file; done
cliプログラムですが、kid3-cliはインタラクティブな使用のために作成されました。したがって、コマンドは対話形式で入力する必要があります。また、何らかの理由で遅延がなければ、上記のコマンドは機能しません。処理するファイルが多い場合は、複数のファイルに対してコマンドを並列に実行してこの問題を軽減できます。
for file in **/*.mp3 do (:; (sleep 2; printf %s\\n 'set "Picture:" ""' save exit) | kid3-cli $file)&; done; wait
または:
(sleep 2; printf %s\\n 'set "Picture:" ""' save exit; sleep 2) | kid3-cli *.mp3; done
後者の場合、kid3-cliを遅らせる必要があります。後ろにコマンドもパイプに渡されました。理由はわかりませんが、少なくともすべてのファイルを一度に処理できます。
PS:これをテストするmp3ファイルがなく、ogg / vorbisファイルを使用しました。 oggはmp3(id3)とは異なるタグ付けシステム(vorbisアノテーション)を使用しているため、両方のフォーマットに同じ効果を与えることができます。しかしこれはとにかくmp3で*働かなければなりません*。
答え4
インストールする子供3
$ pacman -Ss kid3
community/kid3 3.9.1-2 [installed]
An MP3, Ogg/Vorbis and FLAC tag editor, KDE version
スクリプトを実行します。
#!/bin/bash
for filename in ./*.mp3; do
echo $filename
kid3-cli -c 'set Picture ""' $filename
done