如何将YouTube音频提取为WAV格式而非WebM并保留高音质?
解决YouTube音频提取为WAV格式的问题
关键修改点
- 把
keepvideo: True改为False:这个参数会保留原始音频源文件(你看到的WebM文件),关闭后只会留下转码完成的WAV文件。 - 删除
preferredquality: '192':WAV是无损音频格式,这个质量参数对它完全无效,留着反而可能引发不必要的逻辑干扰。 - 添加
outtmpl参数:明确指定输出文件名规则,方便你快速找到生成的WAV文件。
修改后的完整代码
from __future__ import unicode_literals import youtube_dl ydl_opts = { 'format': 'bestaudio/best', 'postprocessors': [{ 'key': 'FFmpegExtractAudio', 'preferredcodec': 'wav', }], 'postprocessor_args': [ '-ar', '16000' ], 'prefer_ffmpeg': True, 'keepvideo': False, 'outtmpl': '%(title)s.%(ext)s' # 以视频标题作为文件名,便于识别 } with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download(['https://www.youtube.com/watch?v=2Xq7iJKzhR4'])
额外注意事项
- 确认已安装FFmpeg:youtube-dl依赖FFmpeg完成音频转码操作,如果未安装,需先安装并将其添加到系统环境变量中。
- 推荐替换为yt-dlp:youtube-dl已停止维护,yt-dlp作为其活跃分支,转码稳定性和兼容性更好。替换时只需将
import youtube_dl改为import yt_dlp as youtube_dl,配置项无需大幅调整。
内容的提问来源于stack exchange,提问作者Bastian Gerjol
相关产品推荐
相关产品推荐

