FLACからMP3へのタグを転送するLinuxスクリプト(ID3)
質問
私のメディアサーバーでは、FLACファイルからMP3にタグを転送する方法を探しています。
bashスクリプトでは、タグを使用して抽出できます メタフラック ローカルのvarに、しかしid3v2でmp3にタグを付けると、私は国民のキャラクターを失うようです(ユニコードでなければならないと思いますか?)
また、リプレイゲインタグとアルバムアート(すべてFLACに存在する)を設定できる必要があります。
私は無人で実行するためのスクリプト化されたソリューションを探しています。
解決
このツールを試してください eyed3. 。アルバムアートの埋め込み、LATIN1、UTF8、UTF16-BE、UTF16-LEでのテキストエンコードをサポートしています。ただし、リプレイゲインはサポートされていません。私が理解する限り、それは広くサポートされていません。
他のヒント
Pythonソリューションに興味がある場合、Mutagen Libraryは本当によく見えます。
それは次のように簡単かもしれません:
from mutagen.flac import FLAC
from mutagen.easyid3 import EasyID3
flacfile = FLAC("flacfile.flac")
mp3file = EasyID3("mp3file.mp3")
for tag in flacfile:
if tag in EasyID3.valid_keys.keys():
mp3file[tag] = flacfile[tag]
mp3file.save()
MP3 ID3タグをFLACファイルにコピーするためのこのソリューションを見つけました。
ビクターの解決策は私に道を見せてくれました。ただし、たとえばFLACからMP3に変換したばかりのファイルにタグをコピーすると、それが失敗する可能性があります。つまり、タグをコピーしているファイルにタグがまだない場合、失敗します。
したがって、最初に宛先ファイルをプライミングして、タグを持つ手段を付与する必要がある場合があります。
from mutagen import File
from mutagen.flac import FLAC
from mutagen.easyid3 import EasyID3
from mutagen.id3 import ID3, ID3NoHeaderError
def convert_tags(f1,f2):
# f1: full path to file copying tags from
# f2: full path to file copying tags to
# http://stackoverflow.com/questions/8873364/linux-script-to-transfer-id3-tags-from-flac-to-mp3
# http://stackoverflow.com/a/18369606/2455413
try:
meta = EasyID3(f2)
except ID3NoHeaderError:
meta = File(f2, easy=True)
meta.add_tags()
meta.save()
from_f = FLAC(f1)
to_f = EasyID3(f2)
for tag in from_f:
if tag in EasyID3.valid_keys.keys(): to_f[tag] = from_f[tag]
to_f.save()
return
所属していません StackOverflow