说实话,为了偶尔把 YouTube 转成 MP3,就专门下个第三方应用或者去开网页工具,实在没必要。而且你也清楚,这类应用往往塞满广告、捆绑一堆来路不明的工具栏,基础功能还动不动要收费。被恶心够了几次之后,我决定用 YT-DLP 自己搭一个命令行版转换器。结果呢?比我预想的简单太多了。
只要你愿意装几个基础的开源免费包、跟着步骤走,10 分钟内就能做出一个自己的 YouTube 转 MP3 工具。这篇指南带你一步步在 Windows 11 上搭一个轻量桌面小应用,还能按需定制。
重要提醒:本工具严格限个人自用,且仅用于你有权下载的内容。请遵守版权法和 YouTube 的服务条款。
为什么要自己搭,而不是用在线转换器?
说说我为什么走这条路。在线转换器当然方便,但它们也有代价:
- 隐私问题——你的观看习惯被上传到第三方服务器
- 质量受限——很多工具会限制音质或转换速度
- 广告成灾——弹窗、跳转、各种骚扰式广告
- 不稳定——网站动不动就挂,或者改条款
自己搭工具,意味着一切都由你掌控:界面、音质、文件命名,而且零追踪。顺带说一句,对编程好奇的人,这还是个相当不错的 Python 入门。
需要准备什么
以下是我在 Windows 11 上用到的东西:
- Windows 11(Windows 10 上也能用)
- yt-dlp——一个强大、仍在积极维护的 YouTube 下载库
- FFmpeg——用于音频处理(听着技术,但装起来很直接)
- 基础命令行知识——别慌,我会全程带你走
整套环境大约占 500MB 磁盘空间,用到的软件全部免费开源。
第 1 步:在 Windows 11 上安装 yt-dlp 与 FFmpeg
要搭这个小应用,需要两个主要组件:一个是 YT-DLP,也就是 GitHub 上那个免费的 YouTube 下载库;另一个是 FFmpeg,一个处理音频的工具。最爽的是,靠微软开发的包管理器 Winget,我们能用一条命令把两者都装上(Windows 11 和 10 都行)。
右键点 Windows 11 或 10 的 开始按钮,选「Windows Terminal 或 Windows PowerShell」。

在终端里跑下面这条命令,就能在你的 Windows 系统上装好并配置好 Yt-dlp 和 ffmpeg。
```Bash/Shell winget install yt-dlp

想确认装成功了没,先关掉命令行终端再重新打开,然后输入:
```Bash/Shell
yt-dlp --version
ffmpeg -version

原文这里只给了
winget install yt-dlp一条命令,但正文说要装两个组件。实际上yt-dlp在 Windows 上依赖独立的ffmpeg可执行文件,如果装完发现ffmpeg -version报「找不到命令」,再补跑一条winget install ffmpeg(或winget install Gyan.FFmpeg)即可。新版 yt-dlp 在需要 ffmpeg 时会自动去PATH里找,装好后记得重开终端。
第 2 步:创建你的批处理文件
在 Windows 11 或 10 桌面上打开记事本,把下面的代码贴进去。我先给基础版,再放我实际在用的加强版。
@echo off
title YouTube to MP3 Converter
color 0A
echo ================================
echo YouTube to MP3 Converter
echo ================================
echo.
set /p url="Enter YouTube URL: "
echo.
echo Downloading and converting...
echo.
yt-dlp -x --audio-format mp3 --audio-quality 0 -o "%USERPROFILE%\Music\%%(title)s.%%(ext)s" "%url%"
echo.
echo ================================
echo Conversion complete!
echo File saved to: %USERPROFILE%\Music
echo ================================
echo.
pause
把代码贴进记事本后,点 文件 -> 另存为,随便挑个位置(我把我的放桌面上),命名成 YouTube_to_MP3.bat。
解释一下这段代码在干嘛——这版我改了好几回才定下来:
- 第 1–3 行:设置窗口外观(黑底绿字是可选的,但看着挺酷)
- 第 5–8 行:显示标题
- 第 10 行:询问 YouTube URL 并把它存起来
- 第 16 行:真正干活的 yt-dlp 命令
- 第 18–23 行:显示完成信息
--audio-quality 0 的意思是「最佳质量」(反直觉的是,0 最好,9 最差)。文件会以视频标题为名,存到你的「音乐」文件夹里。
现在,双击你创建好的 BAT 文件,就会出现下面这个界面。它会问你要 YouTube URL,然后转换并把 MP3 保存到系统的音乐文件夹里。

第 4 步:加强版(我实际在用的)
基础版用了一周后,我加了点体验优化:
@echo off
title YouTube to MP3 Converter
color 0A
:start
cls
echo ================================
echo YouTube to MP3 Converter
echo ================================
echo.
echo Options:
echo [1] Download Single Video
echo [2] Download Playlist
echo [3] Exit
echo.
set /p choice="Select option (1-3): "
if "%choice%"=="1" goto single
if "%choice%"=="2" goto playlist
if "%choice%"=="3" goto end
goto start
:single
cls
echo ================================
echo Single Video Download
echo ================================
echo.
set /p url="Enter YouTube URL: "
set /p quality="Audio quality (128/192/256/320): "
if "%quality%"=="" set quality=192
echo.
echo Downloading and converting to MP3 (%quality%kbps)...
echo.
yt-dlp -x --audio-format mp3 --audio-quality %quality%k -o "%USERPROFILE%\Music\%%(title)s.%%(ext)s" --embed-thumbnail "%url%"
echo.
echo ================================
echo Download complete!
echo File location: %USERPROFILE%\Music
echo ================================
echo.
pause
goto start
:playlist
cls
echo ================================
echo Playlist Download
echo ================================
echo.
set /p url="Enter YouTube Playlist URL: "
echo.
echo Downloading playlist...
echo This may take a while depending on playlist size.
echo.
yt-dlp -x --audio-format mp3 --audio-quality 192k -o "%USERPROFILE%\Music\%%(playlist)s\%%(title)s.%%(ext)s" --embed-thumbnail "%url%"
echo.
echo ================================
echo Playlist download complete!
echo Files location: %USERPROFILE%\Music
echo ================================
echo.
pause
goto start
:end
echo.
echo Thanks for using YouTube to MP3 Converter!
timeout /t 2 >nul
exit
这一版包含了:
- 菜单系统——在单视频和播放列表之间切换
- 音质选择——挑你想要的码率(我听音乐一般用 320kbps,播客用 128kbps)
- 播放列表支持——把整个播放列表下载到整理好的文件夹里
- 封面嵌入——
--embed-thumbnail标记会把视频缩略图作为专辑封面加进去 - 循环功能——不用重启就能连着转多个文件

我在自己的 Windows 11 上反复测过这版,不管扔什么给它都能应付。想下一整套教学系列或音乐专辑时,播放列表功能特别好用。
播放列表那条命令里的码率被写死成了
192k,没跟随菜单里选的音质,想统一的话把它改成--audio-quality %quality%k即可。
第 5 步:怎么真正用起来
前面说过了,做好之后双击你的 .bat 文件就行,就这么简单。
我第一次跑它时,拿一个知识共享(Creative Commons)授权的音乐视频做测试,过程是这样的:
- 双击
YouTube_to_MP3.bat - 选第 1 项,下载单个视频
- 粘贴网址:
https://www.youtube.com/watch?v=example - 选音质:
320 - 看着进度条跑满(视视频时长,10–30 秒不等)
- 在「音乐」文件夹里找到 MP3,音质完美,封面也带上了
一首 4 分钟的歌,整个转换大概 20 秒。比我用过的任何在线转换器都快。
你可以试试的定制选项
基础版跑通之后,下面这些是我折腾过的小改动:
改输出位置:
把 %USERPROFILE%\Music\ 换成任意文件夹路径:
```Bash/Shell yt-dlp -x --audio-format mp3 -o "D:\My Music\%%(title)s.%%(ext)s" "%url%"
**加多格式选项:**
我做了个能在 MP3、M4A 和 OGG 之间选的版本:
```Bash/Shell
set /p format="Choose format (mp3/m4a/ogg): "
yt-dlp -x --audio-format %format% -o "%USERPROFILE%\Music\%%(title)s.%%(ext)s" "%url%"
只截取指定时间段:
录长播客、只想要某一段时用得上:
```Bash/Shell set /p start="Start time (HH:MM:SS): " set /p end="End time (HH:MM:SS): " yt-dlp --download-sections "*%start%-%end%" -x --audio-format mp3 -o "%USERPROFILE%\Music\%%(title)s.%%(ext)s" "%url%"
**按频道自动归类:**
这会给每个 YouTube 频道建一个子文件夹:
```Bash/Shell
yt-dlp -x --audio-format mp3 -o "%USERPROFILE%\Music\%%(uploader)s\%%(title)s.%%(ext)s" "%url%"
最后这个我经常用,因为它能自动按创作者/艺人把我的音乐库整理好。
用
--download-sections截取片段时,建议再加一个--force-keyframes-at-cuts,否则切出来的音频开头可能有杂音或对不齐关键帧。
创建桌面快捷方式
想让它更像一个「正经」应用:
- 右键点你的
.bat文件 →「创建快捷方式」 - 右键点快捷方式 →「属性」
- 点「更改图标」,挑个看着像应用的图标
- 把快捷方式挪到桌面上
这样一来,你就有个看着挺专业的应用了。我甚至把自己的固定到了任务栏上。
我遇到过的疑难解答
「'yt-dlp' 不是内部或外部命令……」
说明 yt-dlp 没在 PATH 里。回头检查第 1 步,加进 PATH 后记得重启命令提示符。
「Unable to extract」
YouTube 偶尔会改版,把下载器搞挂。从 GitHub 下最新的 .exe 覆盖掉旧的,就能更新 yt-dlp。我每个月都会查一次更新。
下载很慢
有些视频因为 YouTube 限速会下得慢。如果一直慢,试试在命令里加 --concurrent-fragments 4,开启并行下载。
受限年龄的视频下不了
这类视频需要身份验证。你可以用浏览器的 Cookie,但那属于进阶操作了。就我个人日常使用而言,会直接避开受限年龄的内容。
杀毒软件报批处理文件可疑
偶尔会遇到,因为批处理文件理论上确实可能被拿来做坏事,杀软只是谨慎。给你的这个文件单独加个信任例外就行——它是你自己写的,你清楚它安全。
为什么它比我试过的其他方法都好
这套方案用了几个月后,以下是它确实比商业 App 或 Python 脚本更胜一筹的地方:
简单:我能把这个批处理文件直接邮件发给我那些「电脑恐惧症」的亲戚,他们照样会用。免安装:一切从一个文件里跑起来。零臃肿:没广告、没捆绑软件、没遥测。快如闪电:没有浏览器开销,也不用排队等服务器。完全免费:没有付费档,也不锁功能。隐私:一切都只在本地机器上完成。
唯一真正的缺点是,它没有 GUI 应用那么好看。但说实话?它好用成这样,我压根不在意。
合法与合规使用
有件事我必须说得明明白白:未经许可下载受版权保护的内容,违反 YouTube 服务条款,还可能构成侵权。
这个工具我只用来:
- 备份我自己上传的内容
- 下载知识共享许可的素材
- 下载我获得明确授权的教学内容
- 公共领域的录音
永远尊重内容创作者。喜欢别人的作品,就通过正当渠道支持他们。这工具是为了让你方便地处理那些你本来就有权离线访问的内容,不是用来盗版的。
写在最后
用一个小小的批处理文件搭个 YouTube 转 MP3 转换器,大概是我找到的最直接的路子。不用装 Python,没有复杂依赖,就一个文本小文件,正好干你要它干的事。
整套东西我大概花了 15 分钟从零搭好,之后这个同一个批处理文件我用了好几个月,一点毛病没有。它就那么管用。
记住:负责任地用它,尊重版权,只下载你有权访问的内容。工具本身是中立的——关键是看我们怎么用。
你有没有做过什么好用的批处理小工具?我对大家为日常琐事想出的巧办法一向好奇。欢迎分享你的改动,或者问问我某个具体功能该怎么加。