我正在尝试使用 MoviePy 模块将视频 mp4 文件转换为音频 mp3 格式

def download_audio():

#try:

    b2.config(text="Please wait...")

    b2.config(state=DISABLED)

    stream = yt.streams.filter(res="480p")

    path = filedialog.askdirectory()

    if path == None:

        return

    stream[0].download(path)

    for i in os.listdir(path):

        os.rename(os.path.join(path,i),os.path.join(path,i.replace(' ','_')))

    title = yt.title.replace(' ','_')

    print(title)

    print(path)

    video = VideoFileClip(os.path.join(path+"//"+title+".mp4"))

    print(video)

    video.audio.write_audiofile(os.path.join(path+"//"+title+".mp3"))

这是错误消息 属性错误:NoneType 对象没有属性 write_audiofile


炎炎设计
浏览 212回答 3
3回答

SMILET

尝试:def download_audio():#try:    b2.config(text="Please wait...")    b2.config(state=DISABLED)    stream = yt.streams.filter(res="480p")    path = filedialog.askdirectory()    if path == None:        return    stream[0].download(path)    for i in os.listdir(path):        os.rename(os.path.join(path,i),os.path.join(path,i.replace(' ','_')))    title = yt.title.replace(' ','_')    print(title)    print(path)    video = VideoFileClip(os.path.join(path,title+".mp4"))    print(video)    video.audio.write_audiofile(os.path.join(path,title+".mp3"))路径需要使用逗号而不是“//”在 os.path 中建立。

小唯快跑啊

弄清楚了。实际上 streams.filter("480p") 给了我一个没有音频的只有视频的流,这就是为什么出现非类型错误,因为它没有音频对象。通过执行 streams.filter(progressive=True) 解决了它。def download_audio():#try:b2.config(text="Please wait...")b2.config(state=DISABLED)stream = yt.streams.filter(progressive=True)path = filedialog.askdirectory()if path == None:    returnstream[0].download(path)for i in os.listdir(path):    os.rename(os.path.join(path,i),os.path.join(path,i.replace(' ','_')))title = yt.title.replace(' ','_')print(title)print(path)video = VideoFileClip(os.path.join(path+"//"+title+".mp4"))print(video)video.audio.write_audiofile(os.path.join(path+"//"+title+".mp3"))

万千封印

尝试video.write_audiofile(os.path.join(path+"//"+title+".mp3"))您最好使用 ffmpeg 转换视频或使用 opencv 进行所有视频管理。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python