youtube-dl / yt-dlp 视频质量的疑惑

2022-10-02 11:41:22 +08:00
 Kastner

各位好! 想请教一下,同样是调用 youtube-dl 这个 GUI http://mrs0m30n3.github.io/youtube-dl-gui/ 视频体积要比 这个 GUI https://oleksis.github.io/youtube-dl-gui/ 大一倍。

看了设置好像都一样嘛

3404 次点击
所在节点    问与答
12 条回复
ngv2
2022-10-02 11:46:11 +08:00
两倍的话,差不多刚好是 h264/vp8 和 av1/vp9 的区别,也可能是 720p vs 1080p
yt-dlp 有参数可以设置编码格式和分辨率优先级的,可能是两个 GUI 的默认调用参数不一样
你看下下载回来的视频是什么编码和分辨率
jim9606
2022-10-02 12:23:00 +08:00
不是手残的我建议直接用原始的命令行项目,有丰富的画质选择策略和输出选项可以用。
例如我用这个设置下最高质量 vp9+opus+mp4 的组合,并写入元数据和封面图。因为绝大多数视频都有 vp9 版本,av1 在老视频上没有,容器选 mp4 是因为 vp9 默认用的 webm 容器不支持插入封面,mp4 串流支持比较广泛,不在意的话 mkv 也行。

```
yt-dlp --embed-thumbnail --embed-chapters --add-metadata
--merge-output-format mp4
-f bv[vcodec^=vp9]+ba[acodec=opus]
-o youtube_%(title)s_%(channel)s(%(channel_id)s)_%(id)s.%(ext)s
--proxy <Proxy URL> <VideoURL>
```
查下载的媒体信息推荐 mediainfo 。
ref: https://github.com/yt-dlp/yt-dlp#format-selection-examples
wonderfulcxm
2022-10-02 12:34:51 +08:00
编码不一样,原始的命令那个编码偏好参数可以设置得非常复杂。为了在电视盒子上看,我还真研究测试过一阵,除了清晰度之外,我不用 vp9 ,因为某些电视播放器解码不了,比如当贝播放器,也不能播放 webm 。
kodi 是真的强,但不联网老弹 pvr
Kastner
2022-10-02 14:11:25 +08:00
多谢 ngv2, jim9606, wonderfulcxm
Kastner
2022-10-02 15:19:55 +08:00
我刚刚看了下两个 GUI 的使用命令,一模一样。

youtube-dl.exe --newline -i --write-auto-sub -o "C:\Downloads\%(title)s.%(ext)s" --ignore-config --hls-prefer-native "https://www.youtube.com/watch?v="

但一个下载体积就是比另一个大一倍。试过好几个视频了…… 额
DTCPSS
2022-10-02 17:58:21 +08:00
这类下载器如果发现你电脑上有 FFMPEG 就会去分别下载更高质量的视频和音频,然后合并;如果没有 FFMPEG 就直接下载较低质量的带音频的视频。所以可能是一个自带 FFMPEG 一个没有。
Kastner
2022-10-02 18:25:06 +08:00
@DTCPSS 看了下,好像还真的是如你所说。一个自带了 FFMPEG (下载视频质量更高)
p1956
2022-10-02 21:08:52 +08:00
1 楼和 3 楼说中了原因。我来详细解释下,youtube-dl 优先 H264 编码,yt-dlp 优先 vp9 编码。youtube 的 H264 编码码率一般比 vp9 大一倍。当然,2K 、4K 、8K 是没有 H264 编码。想让 yt-dlp 优先 H264 编码,得这样写:--format "(bestvideo[vcodec^=avc1][height<=1440]/bestvideo[height<=1440]/bestvideo[vcodec^=av01][height<=1080][fps>30]/bestvideo[vcodec^=avc1][height<=1080][fps<=10]/bestvideo[height<=1080][fps>30]/bestvideo[vcodec^=vp9.2][height<=1080][fps>30]/bestvideo[vcodec^=vp9][height<=1080][fps>30]/bestvideo[vcodec^=av01][height<=1080]/bestvideo[vcodec^=vp9.2][height<=1080]/bestvideo[vcodec^=vp9][height<=1080]/bestvideo[vcodec^=avc1][height<=1080]/bestvideo[height<=1080]/bestvideo[vcodec^=avc1][height<=120][fps>10]/bestvideo[vcodec^=av01][height<=720][fps>30]/bestvideo[vcodec^=vp9.2][height<=720][fps>30]/bestvideo[vcodec^=vp9][height<=720][fps>30]/bestvideo[height<=720][fps>30]/bestvideo[vcodec^=av01][height<=720]/bestvideo[vcodec^=vp9.2][height<=720]/bestvideo[vcodec^=vp9][height<=720]/bestvideo[vcodec^=avc1][height<=720]/bestvideo[height<=720]/bestvideo[vcodec^=av01][height<=480][fps>30]/bestvideo[vcodec^=vp9.2][height<=480][fps>30]/bestvideo[vcodec^=vp9][height<=480][fps>30]/bestvideo[vcodec^=avc1][height<=480][fps>30]/bestvideo[height<=480][fps>30]/bestvideo[vcodec^=av01][height<=480]/bestvideo[vcodec^=vp9.2][height<=480]/bestvideo[vcodec^=vp9][height<=480]/bestvideo[vcodec^=avc1][height<=480]/bestvideo[height<=480]/bestvideo[vcodec^=av01][height<=360][fps>30]/bestvideo[vcodec^=vp9.2][height<=360][fps>30]/bestvideo[vcodec^=vp9][height<=360][fps>30]/bestvideo[vcodec^=avc1][height<=360][fps>30]/bestvideo[height<=360][fps>30]/bestvideo[vcodec^=av01][height<=360]/bestvideo[vcodec^=vp9.2][height<=360]/bestvideo[vcodec^=vp9][height<=360]/bestvideo[vcodec^=avc1][height<=360]/bestvideo[height<=360]/bestvideo[vcodec^=avc1][height<=240][fps>30]/bestvideo[vcodec^=av01][height<=240][fps>30]/bestvideo[vcodec^=vp9.2][height<=240][fps>30]/bestvideo[vcodec^=vp9][height<=240][fps>30]/bestvideo[height<=240][fps>30]/bestvideo[vcodec^=avc1][height<=240]/bestvideo[vcodec^=av01][height<=240]/bestvideo[vcodec^=vp9.2][height<=240]/bestvideo[vcodec^=vp9][height<=240]/bestvideo[height<=240]/bestvideo[vcodec^=avc1][height<=144][fps>30]/bestvideo[vcodec^=av01][height<=144][fps>30]/bestvideo[vcodec^=vp9.2][height<=144][fps>30]/bestvideo[vcodec^=vp9][height<=144][fps>30]/bestvideo[height<=144][fps>30]/bestvideo[vcodec^=avc1][height<=144]/bestvideo[vcodec^=av01][height<=144]/bestvideo[vcodec^=vp9.2][height<=144]/bestvideo[vcodec^=vp9][height<=144]/bestvideo[height<=144]/bestvideo[vcodec^=vp9.2][height<=4320][fps>10]/bestvideo[vcodec^=vp9][height<=4320][fps>10]/bestvideo[vcodec^=av01][height<=4320][fps>10]/bestvideo[vcodec^=avc1][height<=4320][fps>10]/bestvideo[height<=4320][fps>10]/bestvideo[vcodec^=av01][height<=4320]/bestvideo[vcodec^=vp9.2][height<=4320]/bestvideo[vcodec^=vp9][height<=4320]/bestvideo[vcodec^=avc1][height<=4320]/bestvideo[height<=4320]/bestvideo[vcodec^=av01][height<=2880][fps>10]/bestvideo[vcodec^=vp9.2][height<=2880][fps>10]/bestvideo[vcodec^=vp9][height<=2880][fps>10]/bestvideo[vcodec^=avc1][height<=2880][fps>10]/bestvideo[height<=2880][fps>10]/bestvideo[vcodec^=av01][height<=2880]/bestvideo[vcodec^=vp9.2][height<=2880]/bestvideo[vcodec^=vp9][height<=2880]/bestvideo[vcodec^=avc1][height<=2880]/bestvideo[height<=2880]/bestvideo[vcodec^=av01][height<=2160][fps>30]/bestvideo[vcodec^=vp9.2][height<=2160][fps>10]/bestvideo[vcodec^=vp9][height<=2160][fps>30]/bestvideo[vcodec^=avc1][height<=2160][fps>10]/bestvideo[height<=2160][fps>10]/bestvideo[vcodec^=av01][height<=2160]/bestvideo[vcodec^=vp9.2][height<=2160]/bestvideo[vcodec^=vp9][height<=2160]/bestvideo[vcodec^=avc1][height<=2160]/bestvideo[height<=2160]/bestvideo[vcodec^=vp9.2][height<=1440][fps>5]/bestvideo[vcodec^=vp9][height<=1440][fps>5]/bestvideo[vcodec^=av01][height<=1440][fps>30]/bestvideo[vcodec^=avc1][height<=1440][fps>30]/bestvideo[height<=1440][fps>30]/bestvideo[vcodec^=av01][height<=1440]/bestvideo[vcodec^=vp9.2][height<=1440]/bestvideo[vcodec^=vp9][height<=1440]/bestvideo[vcodec^=avc1][height<=1440]/bestvideo[height<=1440]/bestvideo)+bestaudio[ext=m4a]/best[ext=mp4]/best"
p1956
2022-10-02 21:10:12 +08:00
优先最高画质及 1080p H264

--format "(bestvideo[vcodec^=vp9.2][height>=4320][fps>10]/bestvideo[vcodec^=vp9][height>=4320][fps>10]/bestvideo[vcodec^=av01][height>=4320][fps>10]/bestvideo[vcodec^=avc1][height>=4320][fps>10]/bestvideo[height>=4320][fps>10]/bestvideo[vcodec^=av01][height>=4320]/bestvideo[vcodec^=vp9.2][height>=4320]/bestvideo[vcodec^=vp9][height>=4320]/bestvideo[vcodec^=avc1][height>=4320]/bestvideo[height>=4320]/bestvideo[vcodec^=av01][height>=2880][fps>10]/bestvideo[vcodec^=vp9.2][height>=2880][fps>10]/bestvideo[vcodec^=vp9][height>=2880][fps>10]/bestvideo[vcodec^=avc1][height>=2880][fps>10]/bestvideo[height>=2880][fps>10]/bestvideo[vcodec^=av01][height>=2880]/bestvideo[vcodec^=vp9.2][height>=2880]/bestvideo[vcodec^=vp9][height>=2880]/bestvideo[vcodec^=avc1][height>=2880]/bestvideo[height>=2880]/bestvideo[vcodec^=av01][height>=2160][fps>30]/bestvideo[vcodec^=vp9.2][height>=2160][fps>10]/bestvideo[vcodec^=vp9][height>=2160][fps>30]/bestvideo[vcodec^=avc1][height>=2160][fps>10]/bestvideo[height>=2160][fps>10]/bestvideo[vcodec^=av01][height>=2160]/bestvideo[vcodec^=vp9.2][height>=2160]/bestvideo[vcodec^=vp9][height>=2160]/bestvideo[vcodec^=avc1][height>=2160]/bestvideo[height>=2160]/bestvideo[vcodec^=vp9.2][height>=1440][fps>5]/bestvideo[vcodec^=vp9][height>=1440][fps>5]/bestvideo[vcodec^=av01][height>=1440][fps>30]/bestvideo[vcodec^=avc1][height>=1440][fps>30]/bestvideo[height>=1440][fps>30]/bestvideo[vcodec^=av01][height>=1440]/bestvideo[vcodec^=vp9.2][height>=1440]/bestvideo[vcodec^=vp9][height>=1440]/bestvideo[vcodec^=avc1][height>=1440]/bestvideo[height>=1440]/bestvideo[vcodec^=av01][height>=1080][fps>30]/bestvideo[vcodec^=avc1][height>=1080][fps>=10]/bestvideo[height>=1080][fps>30]/bestvideo[vcodec^=vp9.2][height>=1080][fps>30]/bestvideo[vcodec^=vp9][height>=1080][fps>30]/bestvideo[vcodec^=av01][height>=1080]/bestvideo[vcodec^=vp9.2][height>=1080]/bestvideo[vcodec^=vp9][height>=1080]/bestvideo[vcodec^=avc1][height>=1080]/bestvideo[height>=1080]/bestvideo[vcodec^=avc1][height>=120][fps>10]/bestvideo[vcodec^=av01][height>=720][fps>30]/bestvideo[vcodec^=vp9.2][height>=720][fps>30]/bestvideo[vcodec^=vp9][height>=720][fps>30]/bestvideo[height>=720][fps>30]/bestvideo[vcodec^=av01][height>=720]/bestvideo[vcodec^=vp9.2][height>=720]/bestvideo[vcodec^=vp9][height>=720]/bestvideo[vcodec^=avc1][height>=720]/bestvideo[height>=720]/bestvideo[vcodec^=av01][height>=480][fps>30]/bestvideo[vcodec^=vp9.2][height>=480][fps>30]/bestvideo[vcodec^=vp9][height>=480][fps>30]/bestvideo[vcodec^=avc1][height>=480][fps>30]/bestvideo[height>=480][fps>30]/bestvideo[vcodec^=av01][height>=480]/bestvideo[vcodec^=vp9.2][height>=480]/bestvideo[vcodec^=vp9][height>=480]/bestvideo[vcodec^=avc1][height>=480]/bestvideo[height>=480]/bestvideo[vcodec^=av01][height>=360][fps>30]/bestvideo[vcodec^=vp9.2][height>=360][fps>30]/bestvideo[vcodec^=vp9][height>=360][fps>30]/bestvideo[vcodec^=avc1][height>=360][fps>30]/bestvideo[height>=360][fps>30]/bestvideo[vcodec^=av01][height>=360]/bestvideo[vcodec^=vp9.2][height>=360]/bestvideo[vcodec^=vp9][height>=360]/bestvideo[vcodec^=avc1][height>=360]/bestvideo[height>=360]/bestvideo[vcodec^=avc1][height>=240][fps>30]/bestvideo[vcodec^=av01][height>=240][fps>30]/bestvideo[vcodec^=vp9.2][height>=240][fps>30]/bestvideo[vcodec^=vp9][height>=240][fps>30]/bestvideo[height>=240][fps>30]/bestvideo[vcodec^=avc1][height>=240]/bestvideo[vcodec^=av01][height>=240]/bestvideo[vcodec^=vp9.2][height>=240]/bestvideo[vcodec^=vp9][height>=240]/bestvideo[height>=240]/bestvideo[vcodec^=avc1][height>=144][fps>30]/bestvideo[vcodec^=av01][height>=144][fps>30]/bestvideo[vcodec^=vp9.2][height>=144][fps>30]/bestvideo[vcodec^=vp9][height>=144][fps>30]/bestvideo[height>=144][fps>30]/bestvideo[vcodec^=avc1][height>=144]/bestvideo[vcodec^=av01][height>=144]/bestvideo[vcodec^=vp9.2][height>=144]/bestvideo[vcodec^=vp9][height>=144]/bestvideo[height>=144]/bestvideo)+bestaudio[ext=m4a]/best[ext=mp4]/best"
p1956
2022-10-02 21:19:29 +08:00
然后建议用 yt-dlp ,因为社区很活跃。youtube-dl 出事后,尽管后来恢复了,但人都走光了,很少更新了
KIRAYOMATO
2022-10-02 22:17:36 +08:00
用命令行版本,可以自己选下载格式
Kastner
2022-10-03 19:25:36 +08:00
厉害!感谢 p1956

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/884336

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX