Twitch 的 yt-dlp 命令生成器
为 Twitch 的 VOD、clip 和直播生成 yt-dlp 命令,并带上让长时间录制能撑下来的选项。
VOD、clip 和直播
Twitch 的 VOD 很长,所以并发 fragment 的作用是实打实的;而且为了留下五分钟而下载八小时,通常不如直接给一个时间范围。
对直播来说,从头录制能在 Twitch 还保留着前面部分时把它取回来。请选 MKV:被中断的 MKV 通常还能播,而写到一半被截断的 MP4 往往不能。
Twitch 用 HLS 分段提供 VOD,而它的 CDN 相当大方——实际的上限是你的连接,这正是并发 fragment 在这里真正有用的原因,尽管它们在 Instagram 上只会帮倒忙。仅限订阅者的 VOD 需要订阅了该频道的账号的 cookies;看不到它的会话无法下载。Highlights 是独立的条目,不是 VOD 的子播放列表——用它们各自的网址去取。
Clips 是带自己天花板的自有 extractor——一条 clip 的上限就是它剪出来的源画质,常见 1080p60,而且 clip 网址给不了它出自的那份完整 VOD。想保留 VOD 的一段,就下载 VOD 本地剪辑,或者用时间范围:--download-sections 接受一个时间戳窗口,不必为留五分钟抓八小时,而且它与章节元数据天然搭配。
过去广告是被烤进 Twitch VOD 分段里的——yt-dlp 的 Twitch extractor 如今会把它剪掉,但只在较新的版本里,所以旧二进制得到的是带广告断点的录像。VOD 里有来路不明的断点就先更新。订阅墙是另一道边界:没有会话,任何选项都够不到仅限订阅者的 VOD,也没有办法伪造一个。
关于聊天:Twitch 把聊天存成独立的产物,yt-dlp 把 --write-subs 映射到它并存成 JSON——那个文件不是字幕格式,把聊天渲染进视频的工具是另外一步。其余都按你预期的形状走:长期同步频道用记录文件,直播用 MKV,VOD 用 MP4,播放列表序号只在多段条目让它有意义时才用。