下载质量最好的mp4+m4a合并成mp4

yt-dlp -f 'bv[ext=mp4]+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 '链接'

Linux小鸡有时会有文件名过长的情况,需要截断文件名

yt-dlp -f 'bv[ext=mp4]+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 -o '%(title).200B%(title.201B&…|)s [%(id)s].%(ext)s' '链接'

这是只要标题的前200字节,201个字节后变成...,如果没超过200字节就不加东西(长度限制应该是256字节)
可以在https://github.com/yt-dlp/yt-dlp/issues/1136看一下

如果不需要最高画质(比如有些有2K 4K的),只需要下载720p 1080p之类的
可以用yt-dlp -F '链接'看可以下载的分辨率列表,不同视频的同分辨率+格式是一样的编号的,比如MP4720p都是1361080p137720p(60帧)298(但不是所有视频都有这个)。
那么要下载720p+最高音质,就是这样

yt-dlp -f '136+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 -o '%(title).200B%(title.201B&…|)s [%(id)s].%(ext)s' '链接'

要下载720p(60帧)+最高音质,就是这样

yt-dlp -f '298+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 -o '%(title).200B%(title.201B&…|)s [%(id)s].%(ext)s' '链接'

如果是播放列表,可以用-I(大写i)指定
-I, --playlist-items ITEM_SPEC 项目的逗号分隔播放列表索引去下载。 您可以使用指定范围
“[开始]:停止”。 对于落后兼容性,也支持 START-STOP
使用负索引从右开始计数和负 STEP 反向下载
命令。 例如。 "-I 1:3,7,-5::2" 用在大小为 15 的播放列表将下载项目
例如要1~5,和10~11
那么参数是-I '1:5,10,11'

会员限定视频需要cookie,如果本机有浏览器(已登录)可以直接从浏览器导入cookie
例如

--cookies-from-browser chrome
--cookies-from-browser firefox

支持的浏览器有brave, chrome, chromium, edge, firefox,opera, safari, vivaldi

也可以导出 Netscape格式的cookie(可用EditThisCookie或者Cookie-Editor插件导出,注意是Netscape格式),写入到文件内(例cookie.txt),用--cookie cookie.txt指定

Last modification:November 2, 2023
如果觉得我的文章对你有用,请随意赞赏