如何使用youtube-dl下载1080p +最佳音频?

20

我想下载一份视频,分辨率为1920x1080,音频码率为192kb/s,但是我无法同时提取两者。

        format code  extension  resolution note
    249          webm       audio only DASH audio   51k , opus @ 50k, 600.56KiB
    250          webm       audio only DASH audio   67k , opus @ 70k, 788.31KiB
    251          webm       audio only DASH audio  132k , opus @160k, 1.53MiB
    140          m4a        audio only DASH audio  134k , m4a_dash container, mp4a.40.2@128k, 1.52MiB
    171          webm       audio only DASH audio  135k , vorbis@128k, 1.53MiB
    160          mp4        256x144    144p  110k , avc1.42c00c, 12fps, video only, 1.30MiB
    278          webm       256x144    144p  134k , webm container, vp9, 12fps, video only, 1.18MiB
    133          mp4        426x240    240p  248k , avc1.4d4015, 24fps, video only, 2.91MiB
    242          webm       426x240    240p  254k , vp9, 24fps, video only, 2.30MiB
    243          webm       640x360    360p  475k , vp9, 24fps, video only, 4.17MiB
    134          mp4        640x360    360p  617k , avc1.4d401e, 24fps, video only, 5.00MiB
    244          webm       854x480    480p  861k , vp9, 24fps, video only, 7.31MiB
    135          mp4        854x480    480p 1110k , avc1.4d401e, 24fps, video only, 9.33MiB
    247          webm       1280x720   720p 1691k , vp9, 24fps, video only, 13.90MiB
    136          mp4        1280x720   720p 2220k , avc1.4d401f, 24fps, video only, 17.41MiB
    248          webm       1920x1080  1080p 3044k , vp9, 24fps, video only, 24.43MiB
    137          mp4        1920x1080  1080p 4160k , avc1.640028, 24fps, video only, 31.42MiB
    17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
    36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
    43           webm       640x360    medium , vp8.0, vorbis@128k
    18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
    22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)

我正在尝试将来自137的1920x1080视频和来自22的192kb/s音频合并(因为这是最好的可用选项)。

-f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]' --merge-output-format mp4

但输出文件的音频比特率只有125kb / s。我该如何下载所需规格?

编辑1: 示例视频链接:https://www.youtube.com/watch?v=i-c-K3pNtj4

注意:我对音频编解码器不是很了解,但我想选择最好的一个,所以如果可能的话,请提供用于识别最佳音频的事实,即使它优于比特率。


能否提供视频链接以便我们重现您的问题?从输出来看,我猜测这是YouTube上的视频,但并没有更多的信息。而且,您为什么认为22中的音频是最好的?仅仅因为比特率更高,并不意味着它是最好的。opus@160k应该轻松击败m4a@192,尽管我怀疑甚至在最好的设备上,即使是音频爱好者也听不出区别。 - anon
@phihag 我已经编辑了问题。我对音频没有太多的了解,但我可以清楚地区分128kb/s和192kb/s的音频。 - dragos
@phihag 我正在使用youtube-dl -f 22 --extract-audio命令,但它并没有生成预期的音频(mp4a.40.2@192k),这是为什么?我该如何让它按照预期工作? 编辑:下面的答案说它是硬编码的。 - Aristos Georgiou
1个回答

16
首先,提一下音频质量:如我们的姊妹网站所述, 在恒定比特率下,MP3在大约192kb/s时变得无损CD质量(透明)。然而,任何现代编码器都使用可变比特率(VBR),在某些部分放置更多的质量,削减在其他部分的质量。使用VBR,截止点可能会低一些。通过专业听力和设备,可能会高一些。
AAC和Vorbis比MP3更进一步. 这似乎是最全面的质量测试 - 至少是我能找到的。声称128kb/s的AACVorbis可以达到透明度,尽管我猜测160kb/s才是一个更现实的阈值。 Opus 是另一个重大的提升,对于64kb/s的音乐来说相当不错,可能在128kb/s时透明
当youtube-dl列出YouTube的格式质量时,它列出的质量是硬编码的。其他支持的网站有时会提前传递质量信息,但对于YouTube,我们至少需要下载每个文件的头文件。
我有一个坏消息要告诉你,就是你声称能够听出这个视频中192kb/s和128kb/s之间的差异:这个视频提供的所有音频格式(即251、140、171和22)都是用128KB/s VBR编码的。你可以通过下载它们(对于22,你需要分离音频),并比较文件大小来检查它们:它们都是1.6MB = 12.8 Mb(方便地,视频长度为100秒)。
特别是,编解码器是opus(251)、Vorbis(171)、AAC(140和22)。其中,Opus绝对提供了最高的质量。那么为什么youtube-dl选择使用Vorbis作为bestaudio?在我最初设计的youtube-dl格式选择方式中,它确实会选择Opus。但是有很多用户反馈说,某些格式可能质量较差,但支持更广泛。
今天,许多应用程序仍无法处理Opus,甚至是Vorbis或AAC及其容器格式。像VLC这样的高质量音乐播放器将支持所有格式,但在默认情况下,很多笔记本电脑会受到限制;智能手机受限更多,而智能手表或智能耳机则更加受限。这就是为什么大多数播客仍然使用mp3文件 - 完全无法播放比轻微降低音频质量和/或文件大小更糟糕。此外,其中一些格式也是免费的,而另一些则不是,在只配置使用免费软件的系统上会带来进一步的问题。
如果您最关注音频质量,请在此选择格式251。将 您的首选项存储在配置文件中 以使它们永久保存。
请注意,所有这些讨论都假设原始音频源具有高保真度,如果可能是无损的。由于上传该视频的用户名为MikeTheAnimeRunnerX2,我不会认为他拥有专业音频录制技能 - 尽管原唱有信用记录,因此他可能在私下获得了高质量的文件。如果上传到YouTube的音频以有损格式(尤其是边缘透明度或更低的格式)存在,则Youtube的进一步重新编码只能最小化进一步的伪像。
请注意,对于非专家而言,较差的压缩有时听起来可能会更好,尤其是原始资源不太好、嘈杂或已被有损重新编码降低质量。这是因为较差的压缩将消除一些不准确之处,并可能使声音更加“平滑”。

幸运的是,youtube-dl 提供了测试多种格式的选项。只需下载所有候选项(例如使用 youtube-dl -f 251 i-c-K3pNtj4-f bestvideo+251 来获取视频文件),然后选择你最喜欢的那个。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接