Compare commits

...

2 Commits

Author SHA1 Message Date
fjueic
428277de52
Update yt_dlp/postprocessor/embedthumbnail.py
Co-authored-by: Simon Sawicki <accounts@grub4k.xyz>
2024-01-17 22:19:52 +05:30
Rohit
6729562666 asked changes 2024-01-17 21:58:25 +05:30
2 changed files with 7 additions and 11 deletions

View File

@ -96,12 +96,10 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
try: try:
self._report_run('mutagen', filename) self._report_run('mutagen', filename)
audio = mutagen.id3.ID3(filename) audio = mutagen.id3.ID3(filename)
if 'APIC' in audio:
del audio['APIC']
with open(thumbnail_filename, 'rb') as thumbfile: with open(thumbnail_filename, 'rb') as thumbfile:
audio['APIC'] = mutagen.id3.APIC( audio['APIC'] = mutagen.id3.APIC(
encoding=mutagen.id3.Encoding.UTF8, mime='image/%s' % thumbnail_ext, type=3, encoding=mutagen.id3.Encoding.UTF8, mime=f'image/{thumbnail_ext}',
desc=u'Cover (front)', data=thumbfile.read()) type=mutagen.id3.PictureType.COVER_FRONT, desc='Cover (front)', data=thumbfile.read())
audio.save() audio.save()
temp_filename = filename # Mutagen saves to the original file temp_filename = filename # Mutagen saves to the original file
except Exception as err: except Exception as err:

View File

@ -674,17 +674,15 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor):
if len(sub_dict) > 1: if len(sub_dict) > 1:
self.report_warning('More than one subtitle file found. Your media player will likely be unable to display all of them.') self.report_warning('More than one subtitle file found. Your media player will likely be unable to display all of them.')
if sub_dict[list(sub_dict.keys())[0]]['ext'] != 'lrc': if not all(sub['ext'] == 'lrc' for sub in sub_dict.values()):
raise PostProcessingError('LRC subtitles required. Use "--convert-subs lrc" to convert') raise PostProcessingError('LRC subtitles required. Use "--convert-subs lrc" to convert')
lyrics_list = [] lyrics_list = [sub['data'] for sub in sub_dict.values()]
for lyrics in sub_dict.keys():
lyrics_list.append(sub_dict[lyrics]['data'])
if audio_file.endswith('.mp3'): if audio_file.endswith('.mp3'):
audio = mutagen.id3.ID3(audio_file)
for lyrics in lyrics_list: for lyrics in lyrics_list:
audio = mutagen.id3.ID3(audio_file) audio.add(mutagen.id3.USLT(encoding=mutagen.id3.Encoding.UTF8, lang='und', text=lyrics))
audio.add(mutagen.id3.USLT(encoding=3, lang='und', desc='', text=lyrics)) audio.save()
audio.save()
else: else:
metadata = mutagen.File(audio_file) metadata = mutagen.File(audio_file)
metadata['©lyr' if audio_file.endswith('.m4a') else 'lyrics'] = lyrics_list metadata['©lyr' if audio_file.endswith('.m4a') else 'lyrics'] = lyrics_list