我可以使用 youtube-dl 直接下载音频吗?

DK *_*ose 189 youtube-dl

我可以直接从 YouTube 视频下载音频,而不是先下载音频 + 视频然后提取音频吗?

DK *_*ose 216

这是 webupd8.org 最近的一篇文章,解释了如何使用youtube-dl直接下载音频,而不是先下载视频+音频,然后使用-x. 不幸的是,这里没有提供Maythux要求的搜索工具。但还是值得一看:
视频下载器youtube-dl支持单独的音频和视频 YouTube DASH 流

基本上,从源或从上面链接中提供的 ppa下载最新版本的 youtube-dl ,而不是从软件中心下载。

然后,如果您已经有视频链接...

运行,例如:

youtube-dl -F http://www.youtube.com/watch?v=HRIF4_WzU1w
Run Code Online (Sandbox Code Playgroud)

这将列出可用于此 url 的各种下载格式(音频和视频)。

$ youtube-dl -F http://www.youtube.com/watch?v=HRIF4_WzU1w
[youtube] Setting language
[youtube] HRIF4_WzU1w: Downloading webpage
[youtube] HRIF4_WzU1w: Downloading video info webpage
[youtube] HRIF4_WzU1w: Extracting video information
[info] Available formats for HRIF4_WzU1w:
format code extension resolution  note 
171         webm      audio only  DASH webm audio , audio@ 48k (worst)
140         m4a       audio only  DASH audio , audio@128k
160         mp4       192p        DASH video 
133         mp4       240p        DASH video 
134         mp4       360p        DASH video 
135         mp4       480p        DASH video 
17          3gp       176x144     
36          3gp       320x240     
5           flv       400x240     
43          webm      640x360     
18          mp4       640x360     (best)
Run Code Online (Sandbox Code Playgroud)

现在,选择所需的音频格式。我去了140

跑:

youtube-dl -f 140 http://www.youtube.com/watch?v=HRIF4_WzU1w

$ youtube-dl -f 140 http://www.youtube.com/watch?v=HRIF4_WzU1w
[youtube] Setting language
[youtube] HRIF4_WzU1w: Downloading webpage
[youtube] HRIF4_WzU1w: Downloading video info webpage
[youtube] HRIF4_WzU1w: Extracting video information
[download] Destination: Martin Luther King - I Have a Dream on August 28, 1963 [Sous-titres & Subtitles] [FULL SPEECH]-HRIF4_WzU1w.m4a
[download] 100% of 15.19MiB in 00:04
Run Code Online (Sandbox Code Playgroud)

就是这样。

  • `youtube-dl -f bestaudio http://...` 如果您不想手动选择最佳音频。 (32认同)
  • `youtube-dl -f 'bestaudio[ext=m4a]' "http://youtu.be/hTvJoYnpeRQ"` (19认同)
  • 小心`-f bestaudio`,因为最好的音频可能是 .webm 而不是 .m4a 如果你想要最好的 m4a 质量音频,请使用 -f m4a。 (14认同)
  • @sunk818 并且只是一个公开声明:如果系统上存在 ffmpeg,`youtube-dl 2015.01.23.4 和更新版本将自动更正 m4a 文件的标题。` 所以,如果 `ffmpeg` 在 `youtube-dl` 之前安装现在调用它会自动修复 DASH 容器,你不需要运行 sunk818 的修复。 (12认同)
  • 某些音频播放器不支持 DASH 音频。对于 m4a,我必须使用 ffmpeg 将其解复用以使其成为“常规” m4a。例如:`ffmpeg -i input.m4a -vn -c:a copy output.m4a` (4认同)
  • @Sun 为什么 m4a 比 webm 好?如果不是,为什么后者会被选为最佳音频?您是否将其报告为 youtube-dl 开发人员的错误? (2认同)

jfs*_*jfs 70

来自@xiota 的评论,以 m4a 格式下载最佳音频:

$ youtube-dl -f 'bestaudio[ext=m4a]' 'http://youtu.be/hTvJoYnpeRQ'
Run Code Online (Sandbox Code Playgroud)

我在第一次阅读时错过了它,所以我决定发布评论作为答案,使其更加明显。

  • @AtteJuvonen 该网站是“Ask Ubuntu”。我在 Ubuntu 上测试了该命令。Ubuntu 不同于 Windows。答案中的命令需要一个类似 bash 的 shell。在 Windows 上,对于 `cmd.exe`,您可以尝试用双引号替换单引号(可能存在其他与 Windows 相关的问题)。 (11认同)

Pab*_*chi 27

我有这个别名可以轻松下载任何文件名更好的音频:

$ alias | grep audio

alias youtube-dl-audio='youtube-dl --ignore-errors --output "%(title)s.%(ext)s" --extract-audio --audio-format mp3'
Run Code Online (Sandbox Code Playgroud)

音频质量:来自文档“默认情况下,youtube-dl 会尝试下载最佳可用质量,即如果您想要最佳质量,则无需传递任何特殊选项,youtube-dl 会默认为您猜测。 ” . 所以不需要--audio-quality 0or -f bestaudio

更新下载最新版本的 youtube-dl避免使用 repo 或 PPA 版本,以便您可以升级youtube-dl -U(经常需要)。

要立即为所有 UNIX 用户(Linux、OS X 等)安装它,请键入:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
Run Code Online (Sandbox Code Playgroud)

专辑:您可以将文件分割成块/轨道mp3split。要生成播放列表时间戳(如 YouTube 评论中的时间戳)和曲目计数:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
Run Code Online (Sandbox Code Playgroud)

常见问题

而且

ytmdl一个简单的脚本,用于从 iTunes 中以 mp3 格式获取带有所有标签的 YouTube 歌曲

MP3 标记:我仍在尝试找到一个可靠的 CLI 工具来修复和标记所有生成的 mp3: