说实话,为了偶尔把 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」。

运行 PowerShell 或 Windows Terminal

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

```Bash/Shell winget install yt-dlp

![在 Windows 11 上安装 yt-dlp 与 FFmpeg](/media/editor/Installing-yt-dlp-FFmpeg-on-Windows-11_20261030125126057154.webp)

想确认装成功了没,先关掉命令行终端再重新打开,然后输入:

```Bash/Shell
yt-dlp --version
ffmpeg -version

在 Windows 上检查 YT-DLP 和 FFMPEG 版本

原文这里只给了 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 保存到系统的音乐文件夹里。

Windows 11 上的命令行 YouTube 转 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 命令行上进阶版 YouTube 转 MP3 下载应用

我在自己的 Windows 11 上反复测过这版,不管扔什么给它都能应付。想下一整套教学系列或音乐专辑时,播放列表功能特别好用。

播放列表那条命令里的码率被写死成了 192k,没跟随菜单里选的音质,想统一的话把它改成 --audio-quality %quality%k 即可。

第 5 步:怎么真正用起来

前面说过了,做好之后双击你的 .bat 文件就行,就这么简单。

我第一次跑它时,拿一个知识共享(Creative Commons)授权的音乐视频做测试,过程是这样的:

  1. 双击 YouTube_to_MP3.bat
  2. 选第 1 项,下载单个视频
  3. 粘贴网址:https://www.youtube.com/watch?v=example
  4. 选音质:320
  5. 看着进度条跑满(视视频时长,10–30 秒不等)
  6. 在「音乐」文件夹里找到 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,否则切出来的音频开头可能有杂音或对不齐关键帧。

创建桌面快捷方式

想让它更像一个「正经」应用:

  1. 右键点你的 .bat 文件 →「创建快捷方式」
  2. 右键点快捷方式 →「属性」
  3. 点「更改图标」,挑个看着像应用的图标
  4. 把快捷方式挪到桌面上

这样一来,你就有个看着挺专业的应用了。我甚至把自己的固定到了任务栏上。

我遇到过的疑难解答

「'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 分钟从零搭好,之后这个同一个批处理文件我用了好几个月,一点毛病没有。它就那么管用。

记住:负责任地用它,尊重版权,只下载你有权访问的内容。工具本身是中立的——关键是看我们怎么用。

你有没有做过什么好用的批处理小工具?我对大家为日常琐事想出的巧办法一向好奇。欢迎分享你的改动,或者问问我某个具体功能该怎么加。