mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-03-09 12:50:23 -05:00
SYLT usage
This commit is contained in:
parent
f1129a54fd
commit
06d20ff8bd
1 changed files with 16 additions and 2 deletions
|
@ -683,13 +683,27 @@ def _embed_lyrics(self, subtitles, filename, ext):
|
|||
with open(sub['filepath'], encoding='utf-8') as f:
|
||||
sub['data'] = f.read()
|
||||
|
||||
def totime(time):
|
||||
time = time.split(":")
|
||||
return int((int(time[0])*60 + float(time[1]))*1000)
|
||||
def convert_lrc_to_sylt(lrc):
|
||||
lrc = lrc.split("\n")
|
||||
lrc = [i.strip() for i in lrc]
|
||||
lrc = [i for i in lrc if i]
|
||||
lrc = [i for i in lrc if i[-1] != "]"]
|
||||
lrc = [i.split("]") for i in lrc]
|
||||
lrc = [[i[0][1:], i[1]] for i in lrc]
|
||||
lrc = [(i[1], totime(i[0])) for i in lrc]
|
||||
return lrc
|
||||
if ext == 'mp3':
|
||||
metadata = mutagen.id3.ID3(filename)
|
||||
for lang, sub in subtitles.items():
|
||||
metadata.add(mutagen.id3.USLT(
|
||||
metadata.add(mutagen.id3.SYLT(
|
||||
encoding=mutagen.id3.Encoding.UTF8,
|
||||
lang=ISO639Utils.short2long(lang) or 'und',
|
||||
text=sub['data']))
|
||||
format=2,
|
||||
type=1,
|
||||
text=convert_lrc_to_sylt(sub['data'])))
|
||||
else:
|
||||
metadata = mutagen.File(filename)
|
||||
metadata['©lyr' if ext == 'm4a' else 'lyrics'] = [sub['data'] for sub in subtitles.values()]
|
||||
|
|
Loading…
Reference in a new issue