yt-dlp 默认下载 .webm 格式,是因为 YouTube 上的高画质(1080p、4K 等)最新、最优质的视频源普遍采用了 Google 的 VP9 或 AV1 编码,这些编码通常被包裹在 .webm 容器中。
要将其转换为 .mp4 格式,有以下几种最有效、最快的解决方法:
方法一:让 yt-dlp 在下载时直接自动转换为 MP4(最推荐)
你不需要单独去找转换工具,yt-dlp 本身就可以在下载完成后,调用你之前安装的 ffmpeg 自动将视频合并或转换成 .mp4 格式。
你只需要在下载命令中加入 --merge-output-format mp4 参数。例如:
bash
yt-dlp --merge-output-format mp4 "https://www.youtube.com/watch?v=8ib4Qnh2HFE"
更新你的 Mac 快捷指令/脚本:
如果你想一劳永逸,把之前写的命令直接改成优先下载 MP4,并强制转换,可以使用以下组合参数:
bash
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" --recode-video mp4 --embed-subs --sub-lang en "视频链接"
--recode-video mp4:如果下载下来的不是 mp4,它会自动调用 ffmpeg 把它重新转码成 mp4。
方法二:使用 ffmpeg 命令行手动转换(适合已经下载好的 webm)
如果你电脑里已经下载好了 .webm 文件,想把它转成 .mp4,打开终端(Terminal),使用下面这行命令:
bash
ffmpeg -i input.webm -c:v libx264 -c:a aac output.mp4
input.webm:你现有的文件名。output.mp4:你想要生成的 MP4 文件名。-c:v libx264和-c:a aac是最通用的 H.264 视频和 AAC 音频编码,转换后的 MP4 文件在任何手机、电视和剪辑软件(如剪映、PR)里都能完美播放。
极速无损转换技巧(仅限部分视频):
如果你的 webm 视频里的视频编码本来就是 h264(极少见),你可以用"直接封装"的命令,1秒钟就能完成转换,而且没有任何画质损失:
bashffmpeg -i input.webm -c copy output.mp4
方法三:使用可视化格式转换工具(适合不想敲命令的用户)
如果你不想在终端里操作,推荐两款 Mac 上顶级且完全免费的格式转换软件:
- HandBrake(开源免费):
- 全球最著名的开源视频转码软件,支持 Mac。
- 直接把
.webm文件拖进去,右侧预设选择General -> Fast 1080p30(或者匹配原视频的分辨率),格式选择MP4,点击顶部的"开始(Start)"即可。
- Permute(收费,但极度优雅):
- 如果你有 Setapp 订阅或者购买了这款软件,它是 Mac 上最漂亮的拖拽式格式转换工具。直接把 webm 拖进去,选择 MP4,一键搞定。
⚠️ 为什么有时候使用 yt-dlp 转换会报错?
如果 yt-dlp 在执行 --merge-output-format mp4 或 --recode-video mp4 时报错,通常是因为**它在你的系统环境里找不到 ffmpeg**。
你可以通过在 Mac 终端运行以下命令来检查并重新安装它:
bash
brew install ffmpeg
只要安装好 ffmpeg,yt-dlp 就能在后台自动帮你把所有下回来的视频完美变成 .mp4,再也不需要手动转换。