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
列入白名單或暫時停用該擴充。