使用pytube转MP3后无法编辑ID3标签及播放异常问题
问题:Pytube下载音频转MP3后无法添加ID3标签且音箱无法播放
我想用pytube下载音乐,但通过该工具下载并转为MP3的文件无法正常显示ID3标签(专辑、艺术家等)。试过eyed3、MoviePy和Mp3tag工具都没解决,而且这些音乐没法在音箱上播放。
我用yt.streams.filter(only_audio=True).first()下载的文件是mp4格式,想要MP3格式就直接修改了文件扩展名,代码如下:
from pytube import YouTube import os yt = YouTube(input('Url of the video...')) print('Got', yt.title) path = "C:/Users/USER/Music" video = yt.streams.filter(only_audio=True).first() out_file = video.download(output_path=path) base, ext = os.path.splitext(out_file) new_file = base + '.mp3' # Change.mp4 to .mp3 os.rename(out_file, new_file) print(yt.title, "downloaded")
但尝试设置专辑和艺术家信息时,没法修改标签。用eyed3试了几次只有少数成功,批量修改完全无效,代码如下:
artist = input('Artist...') album = input('Album...') file = eyed3.load(new_file) file.initTag(); # Actually I don't know what this did file.tag.artist = artist file.tag.album = album file.tag.track_num = i + 1 # I used a loop to set track num file.tag.save()
用Mp3tag工具时,界面显示ERROR: MP3 header parse error,虽然能编辑标签,但修改后的标签在文件资源管理器里不显示,而且编辑后的文件没法播放。未修改的文件能在电脑播放,但用USB连接音箱时无法播放。
另外试了用MoviePy转换文件为MP3,出现KeyError: 'video_fps'错误。
内容的提问来源于stack exchange,提问作者Clay Hsu
相关产品推荐
相关产品推荐

