KristoforMaynard / music-tag

Simple interface to edit audio file metadata
MIT License
125 stars 19 forks source link

Artwork not updating #12

Closed vikneazcodes closed 3 years ago

vikneazcodes commented 3 years ago

Hello Music-tag,

I've tried to update the artwork of the mp3 file but it's not reflecting. Below is my code

import music_tag

f = music_tag.load_file("1617027815286.mp3")

print('track title:', f['title'])

f['title'] = 'title' f['artist'] = 'artist' f['album'] = 'album' f['comment'] = 'comment' f['genre'] = 'genre' f['composer'] = 'composer' f['lyrics'] = 'lyrics'

img_in = open("images/testimage.jpg", "rb")

f['artwork'] = img_in.read() img_in.close()

f.save()

print('track title:', f['title'] , ">>>" , f['artwork'])

Output:

track title: title >>> image/jpeg 320x320 f82f576dbf84f66d27626b12b7436210

KristoforMaynard commented 3 years ago

I can't replicate this issue. Could you provide more context? I'm thinking information about the jpeg, the id3 tag version, etc.

vikneazcodes commented 3 years ago

Hello there,

I've attached the mp3 (Record Audio File using flutter) file along with the used image. Please check using that.

Used Artworks.zip

KristoforMaynard commented 3 years ago

Hmm, for starters, this is not an mp3 file. Mutagen opened this as an mp4 file, and ffprobe reveals that the audio is encoded as adaptive multi-rate, narrow band (I assume it's a voice recording?). According to ffprobe, mutagen seems to be embedding the jpeg the way it would for any other mp4 file. It looks like mutagen uses iTunes metadata format as its reference, saying there is no standard for this container format (https://mutagen.readthedocs.io/en/latest/api/mp4.html). Beyond that, I'm not sure how the file is being used, and what format the app you're using expects. I will close this issue as it is beyond the scope of this project.