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:
|
with open(sub['filepath'], encoding='utf-8') as f:
|
||||||
sub['data'] = f.read()
|
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':
|
if ext == 'mp3':
|
||||||
metadata = mutagen.id3.ID3(filename)
|
metadata = mutagen.id3.ID3(filename)
|
||||||
for lang, sub in subtitles.items():
|
for lang, sub in subtitles.items():
|
||||||
metadata.add(mutagen.id3.USLT(
|
metadata.add(mutagen.id3.SYLT(
|
||||||
encoding=mutagen.id3.Encoding.UTF8,
|
encoding=mutagen.id3.Encoding.UTF8,
|
||||||
lang=ISO639Utils.short2long(lang) or 'und',
|
lang=ISO639Utils.short2long(lang) or 'und',
|
||||||
text=sub['data']))
|
format=2,
|
||||||
|
type=1,
|
||||||
|
text=convert_lrc_to_sylt(sub['data'])))
|
||||||
else:
|
else:
|
||||||
metadata = mutagen.File(filename)
|
metadata = mutagen.File(filename)
|
||||||
metadata['©lyr' if ext == 'm4a' else 'lyrics'] = [sub['data'] for sub in subtitles.values()]
|
metadata['©lyr' if ext == 'm4a' else 'lyrics'] = [sub['data'] for sub in subtitles.values()]
|
||||||
|
|
Loading…
Reference in a new issue