我只需要从 YouTube 视频下载音频。为此,我使用 yt-dlp 工具。
在控制台中,我输入以下命令,该命令将音频下载为 .webm。我将扩展名更改为 .mp3,一切正常,这是一个常规的 .mp3 文件。
命令:
yt-dlp --extract-audio https://www.youtube.com/watch?v=cJuO985zF8E
在 python 脚本中我使用以下代码:
import yt_dlp
import os
def download_audio(link):
with yt_dlp.YoutubeDL({'extract_audio': True}) as video:
info_dict = video.extract_info(link, download = True)
video_title = info_dict['title']
print(video_title)
#video.download(link)
download_audio('https://www.youtube.com/watch?v=cJuO985zF8E')
但是脚本不会将视频加载为音频文件,而是加载为视频。如何解决这个问题?
(对不起我的英语)
我尝试了很多方法,但没有任何效果。
我已经在 Google Collab 中修改并测试了您的代码,它设置了带有 .mp3 扩展名的文件名。
来源:
修改后的代码:
def download_audio(link):
with yt_dlp.YoutubeDL({'extract_audio': True, 'format': 'bestaudio', 'outtmpl': '%(title)s.mp3'}) as video:
info_dict = video.extract_info(link, download = True)
video_title = info_dict['title']
print(video_title)
video.download(link)
print("Successfully Downloaded - see local folder on Google Colab")
download_audio('https://www.youtube.com/watch?v=cJuO985zF8E')
结果:一个带有 YouTube 视频名称的 .mp3 文件。
KORDHELL - MEMPHIS DOOM.mp3
"extract_audio"
不是 YoutubeDL
识别的键,因此不执行任何操作。您必须使用 "format": "bestaudio"
来代替:
# […]
with yt_dlp.YoutubeDL({'extract_audio': True}) as video:
# […]