youtube-dl / yt-dlp 视频质量的疑惑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Kastner
V2EX    问与答

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

  •  
  •   Kastner 2022-10-02 11:41:22 +08:00 4745 次点击
    这是一个创建于 1172 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    看了设置好像都一样嘛

    12 条回复    2022-10-03 19:25:36 +08:00
    ngv2
        1
    ngv2  
       2022-10-02 11:46:11 +08:00
    两倍的话,差不多刚好是 h264/vp8 和 av1/vp9 的区别,也可能是 720p vs 1080p
    yt-dlp 有参数可以设置编码格式和分辨率优先级的,可能是两个 GUI 的默认调用参数不一样
    你看下下载回来的视频是什么编码和分辨率
    jim9606
        2
    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
        3
    wonderfulcxm  
       2022-10-02 12:34:51 +08:00 via iPhone
    编码不一样,原始的命令那个编码偏好参数可以设置得非常复杂。为了在电视盒子上看,我还真研究测试过一阵,除了清晰度之外,我不用 vp9 ,因为某些电视播放器解码不了,比如当贝播放器,也不能播放 webm 。
    kodi 是真的强,但不联网老弹 pvr
    Kastner
        4
    Kastner  
    OP
       2022-10-02 14:11:25 +08:00
    多谢 ngv2, jim9606, wonderfulcxm
    Kastner
        5
    Kastner  
    OP
       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
        6
    DTCPSS  
       2022-10-02 17:58:21 +08:00 via iPhone   1
    这类下载器如果发现你电脑上有 FFMPEG 就会去分别下载更高质量的视频和音频,然后合并;如果没有 FFMPEG 就直接下载较低质量的带音频的视频。所以可能是一个自带 FFMPEG 一个没有。
    Kastner
        7
    Kastner  
    OP
       2022-10-02 18:25:06 +08:00
    @DTCPSS 看了下,好像还真的是如你所说。一个自带了 FFMPEG (下载视频质量更高)
    p1956
        8
    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
        9
    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
        10
    p1956  
       2022-10-02 21:19:29 +08:00
    然后建议用 yt-dlp ,因为社区很活跃。youtube-dl 出事后,尽管后来恢复了,但人都走光了,很少更新了
    KIRAYOMATO
        11
    KIRAYOMATO  
       2022-10-02 22:17:36 +08:00
    用命令行版本,可以自己选下载格式
    Kastner
        12
    Kastner  
    OP
       2022-10-03 19:25:36 +08:00
    厉害!感谢 p1956
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     892 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:01 PVG 06:01 LAX 14:01 JFK 17:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86