我可以吗直接地从 YouTube 视频下载音频,而不是先下载音频+视频,然后提取音频?
答案1
这是 webupd8.org 上的一篇最新文章,解释了如何使用youtube-dl
直接下载音频,而不是先下载视频+音频,然后使用提取音频-x
。不幸的是,梅图克斯要求这里不提供。但仍然值得一看:
视频下载器youtube-dl
获得对独立音频和视频 YouTube DASH 流的支持
基本上,下载最新版本的 youtube-dl来自源头或者从上面链接提供的 ppa 中获取,但是不是来自软件中心。
然后,如果您已经有视频链接...
运行,例如:
youtube-dl -F 'http://www.youtube.com/watch?v=HRIF4_WzU1w'
这将列出此 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)
现在,选择所需的音频格式。我选择了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
就是这样。
答案2
从@xiota 的评论,下载最佳的 m4a 格式音频:
$ youtube-dl -f 'bestaudio[ext=m4a]' 'http://youtu.be/hTvJoYnpeRQ'
第一次阅读时我错过了它,所以我决定发布该评论作为答案,以使其更引人注目。
答案3
这个别名让我可以轻松下载任何具有更好文件名的音频:
$ alias | grep audio
alias yt-dl-audio='yt-dlp --ignore-errors --output "%(title)s.%(ext)s" --extract-audio --audio-format mp3'
我从 youtube-dl 切换到yt-dlp。运行速度更快,并包括诸如 之类的内容--split-chapters
。大多数内容都是等效的。
关于音频质量: 来自文档:“默认情况下,yt-dlp/youtube-dl 会尝试下载最佳可用质量,即,如果您想要最佳质量,则无需传递任何特殊选项,yt-dlp 会默认为您猜测。”。因此无需--audio-quality 0
或-f bestaudio
。
关于更新:下载最新版本的 yt-dlp。避免使用 repo、PPA 版本或 pip/pipx因此您可以升级yt-dlp -U
(经常需要)。
要立即为所有 UNIX 用户(Linux、OS X 等)安装它,请输入:
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp # Make executable
专辑(或合辑、混搭等):你可以将文件分割成块/曲目和mp3split
。要生成播放列表时间戳(如 YouTube 评论中的时间戳)和曲目数:
ffmpeg -i input.mp3 -af silencedetect=n=-40dB:d=2.7 -f null - |& awk '/silence_end/ {print $4,$5}' | awk '{S=$2;printf "%d:%02d:%02d\n",S/(60*60),S%(60*60)/60,S%60}' | tee >(wc -l) # Play with tolerance (n/noise threshold level) and duration on silencedetect. More: `ffmpeg -h filter=silencedetect`.
如果您发现更好的方法,请发表评论,也许可以使用音乐大脑。
常见问题
- 错误 403? 添加
--rm-cache-dir
。 - 卡在“正在下载网页”? 添加
--force-ipv4
。