Twitch의 대부분의 VOD는 조만간 사라집니다. 가용성이 만료되었거나 명시적으로 삭제되었기 때문입니다. 따라서 VOD 시청을 제 시간에 끝내지 않으면 콘텐츠가 사라집니다. 비디오를 다운로드할 수 있지만 채팅은 어떻습니까? "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 채널 ID 찾기를 사용하여 이 정보를 검색하는 방법은 여러 가지가 있습니다.
이 이모티콘은 채팅 서버가 시작될 때마다 자동으로 다운로드됩니다. 서버를 실행하기 전에 chat.mjs
소스 파일 상단의 CHANNEL_ID
변수를 조정했는지 확인하세요.
글로벌 Twitch 이모티콘은 기본적으로 제공됩니다. 그러나 Twitch API에 액세스하려면 OAuth가 필요하므로 독점 스트리머 이모티콘을 수동으로 제공해야 합니다. 인증되면 요청을 하고 엔드포인트의 응답을 /emotes/
에
으로 저장합니다. 서버를 실행하기 전에 chat.mjs
소스 파일 상단의 CHANNEL_ID
변수를 조정했는지 확인하세요.
Twitch 개발자 콘솔을 통해 앱을 만듭니다. 그러면 "클라이언트 ID"와 "클라이언트 비밀"이 생성됩니다.
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
변수를 조정하면 됩니다. 변경 사항을 적용하려면 웹페이지를 새로 고치세요.
uBlock Origin과 같은 브라우저에서 adblock 확장 프로그램을 사용하는 경우 채팅 서버 통신이 차단될 수 있습니다. 이는 localhost
의 연결이 차단되어 발생합니다. localhost:8787
허용 목록에 추가하거나 확장 프로그램을 일시적으로 비활성화하세요.