我正在尝试从 YouTube 网站下载youtube-dl
质量尽可能高的音乐。因此,我尝试使用以下命令将其下载为 WAV 文件:
youtube-dl -ci -f 'bestvideo[ext=mp4]+bestaudio' -x --audio-format wav https://www.youtube.com/watch?v=tDOffPd81YI
生成了一个大的 WAV 文件(包含此视频,42.3 Mo 48kHz 立体声 16bit 1536kbit/s)
但当我将其与使用以下方式下载的 M4A 文件进行比较时:
youtube-dl -ci -f 'bestvideo[ext=mp4]+bestaudio' -x --audio-format m4a https://www.youtube.com/watch?v=tDOffPd81YI
M4A 文件较小且质量较低(此视频为 12.3 Mo 48kHz 立体声 441kbit/s)。
为什么 WAV 文件的质量更好?是什么导致了文件大小的差异?更奇怪的是,我要求两者的质量相同(-f 'bestvideo[ext=mp4]+bestaudio'
)
我尝试下载bestaudio
高质量文件并转换为 M4A 文件:
youtube-dl -ci -f "bestaudio" -x --audio-format m4a https://www.youtube.com/watch?v=tDOffPd81YI
在这个文件上,我发现第一个文件比第二个文件更大,比特率也更大,但这可能取决于您选择的视频。
该标志是否以 M4A 格式bestaudio[ext=m4a]
下载bestaudio
流,或者是否选取最佳音频并将其转换为 M4A?
我在 Manjaro Linux 上运行。
答案1
据我所知,YouTube 内部以 MP4 格式存储视频,音频为 AAC(后缀为 .m4a)。如果您请求 .wav 文件,youtube-dl 将直接调用 ffmpeg 将音轨从 m4a 转换为 wav。由于 wav 是无损格式,因此两种文件的质量完全相同,但 wav 比 m4a 大得多。
我建议使用如下命令:
youtube-dl -ci -f "bestaudio[ext=m4a]" https://www.youtube.com/watch?v=tDOffPd81YI
-F
我还建议使用选项(大写 F)检查可用格式的列表:
youtube-dl -F https://www.youtube.com/watch?v=tDOffPd81YI
答案2
您混淆了文件大小(或比特率)和音频质量。MP4 音频经过压缩;将其解压为 WAV 格式不会添加任何信息(因此无法提高质量),但会增加文件大小。
一般来说,采用另一种方式(压缩音频)会丢失信息,并且可能会降低可感知的质量。