La plupart des VOD sur Twitch disparaissent tôt ou tard. Soit parce que leur disponibilité expire, soit parce qu'ils sont explicitement supprimés. Donc si vous n’avez pas fini de regarder la VOD à temps, le contenu a disparu. Vous pouvez télécharger la vidéo, mais qu’en est-il du chat ? "Twitch VOD Offline Viewer" résout ce problème. Téléchargez simplement la vidéo + le chat et jouez-y comme une VOD classique à tout moment, même hors ligne¹.
¹ Les émoticônes dans le chat n'apparaîtront que lorsque les images pourront être téléchargées. Donc pour voir les emotes, il faut quand même avoir une connexion internet.
Exécution Node.js
Recommandation : Utilisez TwitchDownloader pour télécharger la vidéo souhaitée, voir l'onglet "Téléchargement VOD". Mais n’importe quel autre outil pour télécharger la VOD fera également l’affaire.
Tout codec pris en charge par la balise de votre navigateur.
Recommandation : Utilisez TwitchDownloader pour télécharger le chat correspondant, voir l'onglet "Téléchargement du chat". Sélectionnez "Texte" et "Relatif".
Si vous générez le fichier de discussion par d'autres moyens, le format attendu est :
[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
Horodatage entre crochets (l'heure peut comporter un ou deux chiffres)
Espace
Nom d'utilisateur, suivi de deux points
Espace
Message
Nouvelle ligne
Déplacez le fichier vidéo téléchargé vers /stream/video.mp4
. (Remplacez le fichier factice.)
Déplacez le fichier de discussion téléchargé vers /stream/chat.txt
. (Remplacez le fichier factice.)
Exécutez node chat.mjs
pour démarrer un serveur HTTP Node.js qui diffusera les messages de discussion dans votre navigateur.
Ouvrez index.html
dans votre navigateur préféré.
Faites une pause à tout moment. La position de lecture est mémorisée et restaurée automatiquement.
Utilisez watch.bat
pour reprendre (fait les étapes 4 et 5 pour vous).
Afin de voir les émoticônes spécifiques à la chaîne, vous devrez spécifier l'ID de la chaîne. Il existe de nombreuses façons de récupérer ces informations, par exemple en utilisant le Twitch Channel ID Finder.
Ces émoticônes seront téléchargées automatiquement à chaque démarrage du serveur de discussion. Assurez-vous d'ajuster la variable CHANNEL_ID
en haut du fichier source chat.mjs
avant d'exécuter le serveur.
Les émoticônes mondiales Twitch sont fournies par défaut. Cependant, les émoticônes exclusives des streamers doivent être fournies manuellement car OAuth doit accéder à l'API Twitch. Une fois authentifié, effectuez la demande et enregistrez la réponse du point de terminaison sous
dans /emotes/
. Assurez-vous d'ajuster la variable CHANNEL_ID
en haut du fichier source chat.mjs
avant d'exécuter le serveur.
Créez une application via la console développeur Twitch. Cela donnera un "Client-ID" et un "Client-Secret".
Demandez un jeton d'accès en utilisant votre client_id
et 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}}'
Stockez la valeur de access_token
à partir de la réponse.
Récupérez l'ID de la chaîne :
curl -L 'https://api.twitch.tv/helix/users?login={{channel_name}}' -H 'Authorization: Bearer {{access_token}}' -H 'Client-Id: {{client_id}}'
Stockez la valeur de data[0].id
( channel_id
) à partir de la réponse.
Récupérez les emotes de la chaîne :
curl -L 'https://api.twitch.tv/helix/chat/emotes?broadcaster_id={{channel_id}}' -H 'Authorization: Bearer {{access_token}}' -H 'Client-Id: {{client_id}}'
Enregistrez la réponse dans le fichier.
Si vous ne vous souciez pas des noms d'utilisateur dans le chat, remplacez la variable CHAT_USERNAMES
dans le fichier source index.html
par false
.
CHAT_USERNAMES = true | CHAT_USERNAMES = false |
---|---|
De brèves déconnexions pendant la diffusion en direct entraînent une désynchronisation du journal de discussion. Pour résoudre un tel problème, vous pouvez ajuster la variable CHAT_OFFSET
dans le fichier source index.html
. Actualisez la page Web pour appliquer les modifications.
Si vous utilisez une extension Adblock dans votre navigateur, telle que uBlock Origin, la communication du serveur de chat peut être bloquée. Cela se produit en raison du blocage des connexions depuis localhost
. Soit localhost:8787
à la liste blanche, soit vous désactivez temporairement l'extension.