Twitch 上的大多数视频点播迟早都会消失。要么是因为它们的可用性已过期,要么是因为它们被显式删除。所以如果你没有及时看完点播,内容就消失了。您可以下载视频,但是聊天呢? “Twitch VOD 离线查看器”解决了这个问题。只需下载视频 + 聊天,然后像常规 VOD 一样随时播放,甚至可以离线播放。
1 聊天中的表情仅在可以下载图像时才会出现。因此,要查看表情,您仍然需要有互联网连接。
Node.js 运行时
建议:使用 TwitchDownloader 下载所需的视频,请参阅“VOD 下载”选项卡。但任何其他下载 VOD 的工具也可以。
浏览器的标记支持的任何编解码器。
建议:使用TwitchDownloader下载相应的聊天记录,请参阅“聊天记录下载”选项卡。选择“文本”和“相对”。
如果您通过其他方式生成聊天文件,则预期格式为:
[0:00:01] Alice: hi everyone HeyGuys [0:00:01] John: PogChamp [0:00:03] Bob: hey @Alice [0:00:07] Alice: nice to see you, Bob
方括号中的时间戳(小时可以是一位或两位数字)
空间
用户名,后跟冒号
空间
信息
换行符
将下载的视频文件移动到/stream/video.mp4
。 (替换虚拟文件。)
将下载的聊天文件移动到/stream/chat.txt
。 (替换虚拟文件。)
运行node chat.mjs
以启动 Node.js HTTP 服务器,该服务器将在浏览器中提供聊天消息。
在您喜欢的浏览器中打开index.html
。
随时暂停。播放位置会被记住并自动恢复。
使用watch.bat
恢复(为您执行步骤 4 和 5)。
为了查看频道特定的表情,您需要指定频道 ID。有多种方法可以检索此信息,例如使用 Twitch Channel ID Finder。
每当聊天服务器启动时,这些表情都会自动下载。确保在运行服务器之前调整chat.mjs
源文件顶部的CHANNEL_ID
变量。
默认情况下提供全局 Twitch 表情。但是,由于需要 OAuth 才能访问 Twitch API,因此必须手动提供专属主播表情。经过身份验证后,发出请求并将端点的响应保存为/emotes/
中的
。确保在运行服务器之前调整chat.mjs
源文件顶部的CHANNEL_ID
变量。
通过 Twitch 开发者控制台创建应用程序。这将产生一个“Client-ID”和一个“Client-Secret”。
使用您的client_id
和client_secret
请求访问令牌:
curl -L 'https://id.twitch.tv/oauth2/token' -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=client_credentials' -d 'client_id={{client_id}}' -d 'client_secret={{client_secret}}'
存储响应中的access_token
值。
获取频道的ID:
curl -L 'https://api.twitch.tv/helix/users?login={{channel_name}}' -H 'Authorization: Bearer {{access_token}}' -H 'Client-Id: {{client_id}}'
存储响应中data[0].id
( channel_id
) 的值。
获取频道的表情:
curl -L 'https://api.twitch.tv/helix/chat/emotes?broadcaster_id={{channel_id}}' -H 'Authorization: Bearer {{access_token}}' -H 'Client-Id: {{client_id}}'
将响应保存到文件中。
如果您不关心聊天中的用户名,请将index.html
源文件中的CHAT_USERNAMES
变量更改为false
。
CHAT_USERNAMES = true | CHAT_USERNAMES = false |
---|---|
直播期间短暂断开连接会导致聊天日志不同步。要解决此类问题,您可以调整index.html
源文件中的CHAT_OFFSET
变量。刷新网页以应用更改。
如果您在浏览器中使用 adblock 扩展程序(例如 uBlock Origin),聊天服务器通信可能会被阻止。发生这种情况是由于阻止来自localhost
的连接。将localhost:8787
列入白名单或临时禁用该扩展。