티스토리 뷰

트위치 로고

Internet - Twitch TV "시청하려면 정기구독하세요" 구독자 전용 다운로드 방법

 트위치 하이라이트 영상 다운로드를 위해 썸네일 이미지의 주소를 확인하는 과정에서 기존에 알려진 "//thumb/thumb···" 주소 형식이 아닌 "/thumb/custom···" 주소로 표시되어, 이를 다운로드할 수 있는 m3u8 주소 변환 방법에 대해 질문한 질문을 받았습니다.

 

 댓글로 남겨주신 스트리머의 다시 보기 영상을 확인한 결과 지난 방송, 하이라이트 등 모든 영상이 "시청하려면 정기구독하세요" 버튼이 표시되는 형식이었으며, 크롬 개발자 도구를 통해 확인한 주소 또한 모두 "/thumb/custom" 형식이었습니다.

 

 최근 트위치 서버에서 구독자 전용 버튼 관련 영상의 썸네일 주소 형식이 모두 변경된 탓인지, 오랜만에 테스트해본 영상 모두 동일한 주소 형식을 가지고 있습니다.

 

기존 썸네일 이미지 주소
기존 썸네일 주소 형식

 물론 기존 방식의 하이라이트 또한 구독자 전용 영상인 경우 단순히 비디오 주소를 통해 TwitchLink, Hitomi Downloader 프로그램으로 다운로드할 수 없었으며, 사용자가 직접 추출한 m3u8 주소를 사용하여 다운로드할 수 있었습니다.

 

 변경된 구독자 전용 '하이라이트' 영상에서 "/thumb/custom" 형식의 썸네일 이미지 주소 역시 다운로드 방법은 크게 달라진 점은 없습니다. 다만 테스트 결과 '지난 방송'은 구독자 전용 영상을 포함하여 기존 방법으로 이용이 가능하지만, "시청하려면 정기구독하세요" 버튼이 표시되는 구독자 전용 영상은 다운로드가 불가능하였습니다.

 

 따라서 오늘은 변경된 내용을 포함하여 트위치 구독자 전용 다시 보기 방송을 다운로드할 수 있는 전반적인 내용을 다시 살펴보는 시간을 가져보도록 하겠습니다.

트위치 구독자 전용 하이라이트 및 지난 방송 다운로드

 

 

 크롬 개발자 도구를 사용하여 구독자 전용, 특히 "시청하려면 정기구독하세요" 문구가 표시된 영상에 대한, 일부 변경된 썸네일 이미지 주소(/thumb/custom····320x180.jpeg)로 원본 영상의 주소 확인 및 m3u8 주소 변환에 대한 방법을 살펴보겠습니다. 하이라이트 영상 및 지난 방송 모두 사용할 수 있습니다.

 

 

1 구독자 전용 하이라이트 다운로드 방법

 먼저 트위치 구독자 전용 하이라이트 영상을 다운로드하는 방법입니다. 크롬 개발자 도구를 이용하여 썸네일 이미지 주소를 이용하여 다운로드 가능한 m3u8 주소를 생성해야 합니다. 해당 영상의 이미지 주소를 확인하고 하이라이트 비디오 주소를 조합하여 다운로드하는 기존 방식과 동일합니다.

 

시청하려면 정기구독하세요

 트위치 스트리머 중 일부는 다시 보기 동영상에 "시청하려면 정기구독하세요" 메시지가 표시되고, 정기구독자만 영상을 볼 수 있도록 설정되어 있습니다. 이 때문에 브라우저에서 '이미지 주소 복사'와 같이 단순히 마우스 오른쪽을 클릭하고 썸네일 이미지 주소를 확인할 수 없습니다.

 

 

/thumb/custom 형식 썸네일 이미지 주소

 해당 영상의 썸네일 이미지 주소를 확인하기 위해서는 크롬, 엣지 등 브라우저에서 지원하는 '개발자 도구'와 같은 툴을 사용해야 합니다. 여기서는 크롬 브라우저를 사용하여 진행하겠습니다.

 

 다운로드하려는 영상(하이라이트) 제목을 클릭하고, 해당 페이지로 접속한 다음 F12 키를 눌러 개발자 도구를 실행합니다. 위 화면과 같이 개발자 도구가 열리면 상단의 [Network] 탭을 선택하고, 검색창에 "thum"을 입력한 다음 F5 키를 눌러 페이지를 새로고침합니다.

 

 현재 페이지에 로드되고 있는 썸네일 이미지 주소가 목록에 표시됩니다. 이곳에서 해당 영상의 썸네일 이미지를 찾습니다. 보통 페이지에 표시된 영상 순서대로 이미지가 표시되므로 찾는 것은 그리 어렵지 않습니다.

 

 해당 이미지 주소를 살펴보면 다음과 같이 기존의 이미지 주소와는 다른 형식의 주소가 사용되고 있습니다. 참고로 이전에도 일부 이미지 주소에 "/thumb/custom"이 포함되기는 했습니다.

 

  • Before : https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/....//thumb/thumb12345-320x180.jpg
  • After : https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/..../thumb/custom-12-ab-320x180.jpeg

 기존 방식은 "thumb/thumb12345"와 같이 이미지 주소에 12345 처럼 하이라이트 영상의 비디오 주소를 한 번에 확인할 수 있었으며, 따라서 다음과 같이 한번에 m3u8 주소로 변환하여 다운로드할 수 있었습니다.

 

  • Before : https://d1m7jfoe9zdc1j.cloudfront.net/..../chunked/highlight-12345.m3u8

 

/thumb/custom 썸네일 이미지

 그러나 "custom" 형식으로 변경된 이미지 주소에서는 해당 비디오 주소를 확인할 수 없습니다.

 

 눈치가 빠르신 분은 이미 아시겠지만, "../chunked/highlight-12345.m3u8"에서 숫자 즉, 비디오 주소만 대입하면 됩니다. 비디오 주소는 하이라이트 영상 페이지로 접속한 다음 브라우저 주소 표시줄에 표시되는 비디오 번호를 의미합니다.

 

  • Twitch Video URL : https://www.twitch.tv/videos/12345

 또는 크롬 개발자 도구 검색창에 "thumb" 대신 "m3u8" 키워드로 검색해도 다음과 같이 해당 주소를 확인할 수 있습니다.

 

  • 개발자 도구 m3u8 키워드 검색 : https://usher.ttvnw.net/vod/12345.m3u8

 

하이라이트 영상 m3u8 변환 방법

 정리해보면 크롬 개발자 도구에서 thumb 검색 후 ① 하이라이트 영상 썸네일 이미지 주소 확인, m3u8 검색 후 ② 비디오 번호 확인 or 단순히 트위치 하이라이트 영상 페이지의 URL 확인, 이렇게 확인한 두 개의 주소를 조합하여 다음과 같이 ③ 다운로드 주소를 생성하면 됩니다.

 

  1. https://static-cdn.jtvnw.net/cf-vods/d2nvs31859zcd8/......../thumb/custom-12-ac-320x180.jpeg
  2. https://usher.ttvnw.net/vod/12345.m3u8
  3. https://d1m7jfoe9zdc1j.cloudfront.net/......./chunked/highlight-12345.m3u8

 

m3u8 주소 변환 후 ffmpeg 다운로드

 썸네일 이미지 주소 + 비디오 번호(m3u8) 조합으로 생성된 m3u8 다운로드 주소를 이용하여 다음과 같이 FFmpeg 도구를 통해 다운로드할 수 있습니다.

FFmpeg Windows PowerShell.txt
0.00MB

ffmpeg -headers "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36" -i "m3u8 링크 주소" -c copy -bsf:a aac_adtstoasc "다운로드 파일 이름.mp4"

 

※ FFmpeg 도구 다운로드 및 환경 설정, 사용 방법에 대해서는 다음 포스팅에 비교적 자세히 설명하고 있으니 필요하신 분은 참고하시기 바랍니다.

 

2021.03.22 - [IT/How to] - 윈도우10 명령 프롬프트에서 미디어 파일 변환 방법

 

윈도우10 명령 프롬프트에서 미디어 파일 변환 방법

HowTo - 윈도우 명령 프롬프트에서 동영상, 오디오 파일 변환 방법  윈도우에서 동영상, 오디오 등 미디어 파일을 다른 형식으로 변환하는 방법에는 여러가지가 있습니다. 인코딩 프로그램을 사

forbes.tistory.com

 

트위치 다시 보기 영상 다운로드 (ffmpeg)

 키보드 단축키 Win + R 키를 누르고 실행 대화 상자에서 "powershell" 입력 후 Enter 키를 눌러 Windows PowerShell을 실행합니다. 미리 만들어둔 ffmpeg 명령어를 이용하여 하이라이트 영상을 다운로드합니다.

 

 

트위치 하이라이트 영상 다운로드

 이제 하이라이트 영상을 정상적으로 다운로드할 수 있습니다. 참고로 모든 구독자 전용 영상(하이라이트)에 대한 테스트는 진행되지 않았으므로, 주소 형식이 모두 동일한 것은 아닙니다.

 

 예를 들어 본문에서 예시로 설명된 이미지에서는 썸네일 이미지가 "d2nvs31859zcd8" 주소로 시작되었지만, 실제 다운로드 가능한 m3u8 시작 주소는 "d1m7jfoe9zdc1j" 입니다.

 

 기존 하이라이트 다운로드 방법에 대한 소개 글에서는 "vod-secure.twitch.tv" 또는 "d2nvs31859zcd8" 주소로 사용하는 것으로 소개된 것과는 전혀 다른 내용이죠. 그렇다고 기존 방법이 틀렸다는 것은 아닙니다. 여전히 해당 방법으로 다운로드가 가능한 영상이 있고, 본문에 소개한 것처럼 변환하여 사용해야 하는 것이 존재합니다.

 

[Tips/Internet] - 트위치 하이라이트 영상 다운로드 방법 (m3u8 403 Forbidden 오류 해결)

 

트위치 하이라이트 영상 다운로드 방법 (m3u8 403 Forbidden 오류 해결)

Internet - Twitch 하이라이트 영상 m3u8 다운로드, 403 Forbidden 오류 해결 방법  트위치 구독자 전용 다시보기 실시간 시청 및 다운로드 방법을 소개한 글에서 지난 방송이 아닌 '하이라이트' 영상을 다

forbes.tistory.com

 트위치 서버의 원본 영상과 썸네일 이미지 주소가 모두 동일하게 즉, 정형화된 것이 아니기 때문에 403 Forbidden 등 오류가 발생한다면 다방면으로 시도해보셔야 할 것으로 보입니다.

 

 

2 구독자 전용 지난 방송 다운로드 방법

 하이라이트 영상뿐만 아니라 일부 지난 방송(모든 방송) 역시 구독자 전용 영상에서 썸네일 이미지 주소에 "Custom"이 포함된 것을 확인하였습니다. 테스트를 위해 기존 m3u8 제작 방법을 이용하여 다운로드해본 결과 오류가 발생했습니다.

 

 결론부터 먼저 말씀드리면 기존 방법 또한 "d2nvs31859zcd8", "d1m7jfoe9zdc1j" 등 주소를 사용하여, 이미지 주소와는 형식을 달리하여 다운로드했던 것처럼, Custom 형식의 썸네일 이미지를 사용하는 영상에서 정상적으로 다운로드가 가능한 "cloudfront.net"의 서브 도메인 주소가 존재하는 것을 확인할 수 있었습니다.

 

크롬 개발자 도구 > 트위치 다시 보기 썸네일 이미지 주소 확인

 하이라이트 영상뿐만 아니라 모든 다시 보기 영상에는 위 화면과 같이 "시청하려면 정기구독하세요" 문구가 표시되고, 크롬 개발자 도구로 확인한 결과 흔히 사용되는 "//thumb/thumb" 형식이 아닌 "/thumb/custom"으로 이루어져있습니다.

 

 

기존 방법으로 m3u8 변환

 기존과 동일한 방법으로 m3u8 링크를 생성하여 다운로드를 시도해보겠습니다.

 

 

구독자 전용 다시 보기 영상 다운로드 실패

 예시 화면에서는 d1m7jfoe9zdc1j 주소만 있지만 기존에 알려진 서브 도메인 d2nvs31859zcd8 등 다른 주소 역시 모두 HTTP error 403 Forbidden 오류가 발생하며 다운로드할 수 없었습니다.

 

 이제 테스트 도중 발견한 새로운 주소로 다운로드를 시도하기 앞서, 잠시 m3u8 주소 구성 방식에 대해 살펴보겠습니다.

 

m3u8 - https://[0].cloudfront.net/[1]_[2]_[3]_[4]/chunked/index-dvr.m3u8

 예시 : https://d1m7jfoe9zd1j/10ae37555e5e6c11a30c_kimgapju_42839004989_1626345508/chunked/index-dvr.m3u8

 

  • [0] : 서브 도메인 주소 자리, 보통 d1m7jfoe9zdc1j, d2nvs31859zcd8, vod-secure.twitch.tv 등 사용됩니다.
  • [1] : 해시값 [2]_[3]_[4]를 SHA-1 해시함수에 대입하면 [1]과 동일한 20자리 값이 나옵니다.
  • [2] : 스트리머 아이디, 예시 주소를 보면 'kimgapju' 부분이 아이디입니다.
  • [3] : 11자리 방송 코드
  • [4] : 타임스탬프 (Unix Epoch Timestamp), 예시에서 '1626345508'은 2021-07-15 PM 7:38:28를 의미합니다.

 

 m3u8 구성 방식에 대해 대략적으로 이해가 되셨다면, 썸네일 이미지 주소를 m3u8 주소로 변환하는 방법을 살펴보겠습니다. 예를 들어 기존의 몇 가지 주소 형식으로 변환하는 방법을 살펴보면 다음과 같습니다.

 

 먼저 구독자 전용 다시 보기 영상에서 흔히 볼 수 있었던 썸네일 주소 예시입니다.

 

  • ① https://d1m7jfoe9zd1j.cloudfront.net/..../storyboards/1046690137-strip-0.jpg 
  • ② https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/....//thumb/thumb12345-320x180.jpg 
  • ③ https://static-cdn.jtvnw.net/cf_vods/d1m7jfoe9zdc1j/....//thumb/thumb12345-320x180.jpg

 형식은 다르지만 기본적으로 d1, d2, dg 등 시작 주소는 비슷한 패턴이며, 이를 다운로드하기 위한 m3u8 주소 변환 또한 동일합니다.

 

  • https://d1m7jfoe9zd1j.cloudfront.net/..../chunked/index-dvr.m3u8
  •  https://d2nvs31859zcd8.cloudfront.net/..../chunked/index-dvr.m3u8
  • https://vod-secure.twitch.tv/..../chunked/index-dvr.m3u8

 비교적 최근까지 보통 "cloudfront.net" 주소 시작 부분에 "d1m7jfoe9zd1j" 서브 도메인을 사용하면 다운로드가 가능했지만, 오류가 발생할 경우 "d2nvs31859zcd8", "vod-secure.twitch.tv"를 사용하여 해결할 수 있었습니다.

 

 그러나 앞서 살펴본 하이라이트 영상과 동일한 스트리머의 다시 보기 영상이었지만, "custom" 주소 형식에서 새롭게 추가된 주소가 적용된 탓인지 모든 방식에서 오류가 발생합니다.

 

 

d3vd9lfkzbru3h 형식 m3u8 주소 변환

 새로운 서브 도메인은 "d3vd9lfkzbru3h" 입니다. 많은 분들이 이미 알고 계시는 내용일지는 모르겠으나, 썸네일 주소에서 custom이 포함되었더라도 꼭 해당 주소가 적용되는 것은 아닙니다. (예 : 앞서 하이라이트 영상은 d1m7jfoe9zd1j)

 

 다음과 같이 크롬 개발자 도구를 통해 확보한 썸네일 이미지 주소를 사용하여 새롭게 변경된 m3u8 주소로 변환해봅니다.

 

 썸네일 : https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/[1]_[2]_[3]_[4]/thumb/custom-917e...669b...-320x180.jpeg 

 m3u8 : https://d3vd9lfkzbru3h.cloudfront.net/[1]_[2]_[3]_[4]/chunked/index-dvr.m3u8

m3u8 Address.txt
0.00MB

 

ffmpeg 다운로드

 해당 주소로 FFmpeg 도구를 통해 다운로드를 시작해보겠습니다.

 

 키보드 단축키 Win + R 키를 누르고 실행 대화 상자에서 "powershell" 입력 후 Enter 키를 눌러 Windows PowerShell을 실행합니다. 미리 만들어둔 ffmpeg 명령어를 이용하여 하이라이트 영상을 다운로드합니다.

 

ffmpeg -headers "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36" -i "https://d3vd9lfkzbru3h.cloudfront.net/701c1f3f12bd924d955c_ID_39307709415_1651832373/chunked/index-dvr.m3u8" -c copy -bsf:a aac_adtstoasc "twitch_custom.mp4"

 

썸네일 이미지 주소 d2nvs31859zcd8 > 다운로드 주소 d3vd9lfkzbru3h

 썸네일 이미지 주소는 "d2nvs31859zcd8"이지만, 다운로드되는 TS 파일의 주소를 살펴보면 "d3vd9lfkzbru3h"인 것을 알 수 있습니다. 물론 다운로드 역시 정상적으로 잘 진행되는 모습입니다.

 

 다만 모든 스트리머의 구독자 전용 영상, 즉 "/thumb/custom-ab-cd-ef-320x180.jpeg" 주소를 가진, "시청하려면 정기구독하세요"가 표시되는 지난 방송에 대해 테스트한 것은 아니므로, 앞서 하이라이트 영상에서도 확인했듯이 해당 주소로도 오류가 발생한다면 지금까지 설명드린 다양한 m3u8 주소 방식으로 변환하여 시도해보실 필요가 있습니다.

댓글
  • 프로필사진 ㅇㅇ ffmpeg 안쓰고 그냥 TwitchLink에 m3u8 붙여넣어도 되지않나요? 2022.05.11 18:01
  • 프로필사진 Forbes 구독자 전용 등 대부분의 트위치 영상은 TwitchLink로 다운로드가 가능합니다. 다만 TwitchLink 업데이트(버전 2.0.0) 이후 하이라이트 영상은 "URL이 유효하지 않습니다." 메시지와 함께 다운로드 되지 않는 현상이 있다고 합니다. 참고로 동일 주소로 ffmpeg는 정상적으로 다운로드 됩니다. 2022.05.11 19:28 신고
  • 프로필사진 애매모호 그럼 패치는 언제쯤 나올까요?
    아직까진 급한일이 없긴하지만 혹시 모르니ㅠ
    2022.05.13 19:17
  • 프로필사진 Forbes 2.0.1 버전에서 해당 문제점은 해결되었습니다. ^^ 2022.05.13 20:43 신고
댓글쓰기 폼
공지사항
Total
7,280,261
Today
742
Yesterday
9,147
링크
«   2022/08   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
글 보관함