如何从 YouTube 视频下载 MP3 曲目

sir*_*raj 369 command-line youtube downloads ffmpeg mp3

有几个问答主题解释了如何使用终端下载 youtube 视频。

但是,我还想学习如何将视频的音轨提取为 MP3 文件——也只使用终端。

youtube-dl在解释如何提取 MP3 之前,简要解释如何使用或其他类似实用程序的答案对于将所有信息集中在一个地方是理想的 - 即使这方面已在其他帖子中介绍。

小智 623

您也可以直接从 youtube 下载 mp3,而无需使用 ffmpeg 进行转换

youtube-dl --extract-audio --audio-format mp3 <video URL>
Run Code Online (Sandbox Code Playgroud)

来自在线帮助:

-x, --extract-audio        convert video files to audio-only files (requires
                           ffmpeg or avconv and ffprobe or avprobe)
Run Code Online (Sandbox Code Playgroud)

还要记住,youtube-dl 默认使用 avconv,因此您应该考虑在命令行中指定 avconv 或 FFmpeg。来自在线帮助:

--prefer-avconv                  Prefer avconv over ffmpeg for running the
                                 postprocessors (default)
--prefer-ffmpeg                  Prefer ffmpeg over avconv for running the
                                 postprocessors
Run Code Online (Sandbox Code Playgroud)

通过查看youtube-dl -h.

  • 如果你查看手册页,这个选项会告诉你你仍然需要下载 `ffmpeg` (10认同)
  • 如果您使用的是 `zsh` 或 `Oh My Zsh` 而不是 `Bash`,那么您可能会收到一个错误消息,提示“未找到匹配项” - 只需将 URL 放在引号内即可:`youtube-dl --extract-audio --audio-format mp3 "&lt;video URL&gt;"` 或 `youtube-dl --extract-audio --audio-format mp3 '&lt;video URL&gt;'`。 (10认同)
  • 无需添加`-f bestaudio`。来自 [文档](https://github.com/rg3/youtube-dl/blob/master/README.md#format-selection):_"默认情况下 youtube-dl 尝试下载最佳可用质量,即如果你想要最好的质量你不需要通过任何特殊的选项,youtube-dl 会默认为你猜测。”_ (9认同)
  • 如果 youtube-dl 出现这样的问题:`错误:无法下载网页:&lt;urlopen 错误 [Errno 8] _ssl.c:510:EOF 发生违反协议&gt;`这对我有帮助:http://askubuntu。 com/questions/791969/error-while-using-youtube-dl (4认同)

Jac*_*son 71

从 YouTube 下载

从 Ubuntu 的官方存储库安装youtube-dl

sudo apt-get install youtube-dl
Run Code Online (Sandbox Code Playgroud)

作为官方自述文件建议使用curlwget。这将使您升级sudo youtube-dl -U

要下载视频,请执行以下操作:

youtube-dl <url>
Run Code Online (Sandbox Code Playgroud)

例如

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

您还可以指定其他选项

-b            Best quality
-m            Mobile version
-d            High Definition
-g            Don’t download, just show the url
-c            Resume download of a video which was interrupted before
-w            Don’t overwrite existing file
Run Code Online (Sandbox Code Playgroud)

有关man youtube-dl在终端中执行的开关的完整列表。

来自这里的信息

转换为 mp3

现在从官方仓库安装ffmpeg

sudo apt-get install ffmpeg
Run Code Online (Sandbox Code Playgroud)

接下来看看确保 flv 文件已从 youtube 上下载

ls *flv
Run Code Online (Sandbox Code Playgroud)

这将列出您拥有的所有 flv 文件。您应该看到一个与您下载的 youtube 网址的“v”组件同名的 flv 文件。

例如,如果您下载了,http://www.youtube.com/watch?v=_z-hEyVQDRA那么您应该有一个名为_z-hEyVQDRA.flv

接下来,您需要复制该文件名,然后将其放入 ffmpg 命令中,例如

ffmpeg -i <file name>.flv -acodec libmp3lame <song name>.mp3
Run Code Online (Sandbox Code Playgroud)

因此,对于此示例,您将键入

ffmpeg -i _z-hEyVQDRA.flv -acodec libmp3lame MasterOfPuppets.mp3
Run Code Online (Sandbox Code Playgroud)

成功完成后,您现在将拥有您想要的 mp3 文件。

笔记

  • 对于清理,您可能需要键入rm _z-hEyVQDRA.flv以删除不再需要的 flv 文件。
  • 来自这里的信息

  • 或者只是`youtube-dl -x "${URL}"`。 (6认同)

God*_*ard 12

这个问题已经得到了很多答案,但我想我应该添加一些真正有用的东西。老实说,在我看来,当您安装 youtube-dl 软件包时,这应该包含在别名中。

我将这些添加到我的 .bashrc 中。如果我想将视频下载为 mp3,我可以这样做,或者将整个播放列表下载为 mp3,我可以使用 mp3p,然后使用播放列表的 url。

它非常简单,并且还尊重 YouTube 的洪水或机器人保护,下载之间有 30 秒的间隔。这也将有助于确保您的 IP 不会被禁止。

# youtube-dl alias
mp3 () {
    youtube-dl --ignore-errors -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o '%(title)s.%(ext)s' "$1"
}

mp3p () {
    youtube-dl --ignore-errors --sleep-interval 30 -i -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' "$1"
}

dlv () {
    youtube-dl --ignore-errors -o '%(title)s.%(ext)s' "$1"
}

dlp () {
    youtube-dl --yes-playlist --ignore-errors --sleep-interval 30 -o '%(playlist)s/%(title)s.%(ext)s' "$1"
}
Run Code Online (Sandbox Code Playgroud)


Par*_*rto 8

对于我们这些喜欢 GUI 界面的人来说,MediaHuman有YouTube 到 MP3

一、安装

您可以直接下载Ubuntu 16.04+,但由于自动更新,我更喜欢存储库

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7D19F1F3
sudo add-apt-repository https://www.mediahuman.com/packages/ubuntu

sudo apt update
sudo apt install youtube-to-mp3
Run Code Online (Sandbox Code Playgroud)

2. 用法

通过 dash 或其他启动器搜索并打开“Youtube to MP3”。将 Youtube 视频 URL 从浏览器复制到剪贴板,然后单击左上角的“粘贴链接”按钮将其粘贴到应用程序中。请参阅下面的屏幕截图。

下载和转换将自动开始,音频保存在 Home 文件夹下 /Music/Downloaded by MediaHuman

Youtube转MP3主界面

  • 最后,为此提供了一个很棒的 GUI!像魅力一样工作(Lubuntu 18.04)。也可以将 YouTube 缩略图作为艺术品抓取。很棒的设置页面,有大量的自定义设置,如果你喜欢的话。谢谢分享,发现很好。 (2认同)

Cor*_*oss 7

对于此任务,我使用youtube-dl(依赖于ffmpeg)和以下选项以获得最佳结果。您可以向其传递单首歌曲甚至整个播放列表的 URL。

\n
youtube-dl --prefer-ffmpeg --extract-audio --audio-format mp3 --audio-quality 0 --embed-thumbnail <VIDEO_SONG_OR_PLAYLIST_URL>\n
Run Code Online (Sandbox Code Playgroud)\n

分解所提供选项的含义:

\n
    \n
  • --prefer-ffmpeg\xe2\x80\x94 告诉youtube-dl首选ffmpeg(与 相对avconv)。
  • \n
  • --extract-audio\xe2\x80\x94 提取音频流并丢弃视频。
  • \n
  • --audio-format mp3\xe2\x80\x94 将音频流保存为 mp3 格式。
  • \n
  • --audio-quality 0\xe2\x80\x94 以尽可能最高的质量保存音频。这里可能的值是 0-9(您也可以传递显式比特率,例如 128K)。如果您不通过此选项,youtube-dl 将使用默认值 5,通常会导致音频质量低于使用值 0 时获得的音频质量。
  • \n
  • --embed-thumbnail\xe2\x80\x94 (可选)将视频缩略图作为专辑封面元数据嵌入到保存的音频文件中(将在媒体播放器应用程序中显示)。
  • \n
\n