먼저 기업들은 사용자의 위치를 IP를 통해 지역을 파악할 수 있다.
IP로 ISP들을 분류 가능하므로 ISP별 연결 서버를 지정할수도 있다.
어느단계에서 사용자의 지역을 파악하는가 하면, 최초로 m3u8을 불러오는 시점에서 서버에서 설정된다.
사용자는영상 시청전 https://usher.ttvnw.net/api/channel/hls/<스트리머 아이디>.m3u8
를 접속하여 다운받을 m3u8과 화질정보등을 받는데
이때 사용된 IP를 이용해 지역을 특정하고 특정 서버를 배정한다.
해외서버(SEA,LAX 등)로 잡히는 사용자들을 위해 저희 서버에서 트위치에 영상 정보를 요청하고,
이를 사용자로 전송하는 기능을 고려했으나
IP밴, 트래픽 비용 등 문제가 좀 있을것 같아 개발을 중단하였습니다.
각 서버에는 m3u8에서 받은 추가정보중 인증 확인 hash를 가지고 정말 인증된 사용자인지 서버에서 확인합니다.
따라서 사용자가 인증정보와 다른 서버에 접속시 확인신호와, 403 forbidden 신호를 통해 접근을 제한합니다.
경우에 따라 m3u8은 한국(sel), 실제 영상데이터(ts)는 해외에서 스트리밍이 되기도 합니다.
이 경우 트위치 플레이어에서 설정을 하여 강제로 해외서버와 연결하게 됩니다.
새로고침시 연결과정이 재실행되므로 다른서버에 배정될 수 있습니다.
'dev' 카테고리의 다른 글
최근 다른 방식으로 버퍼걸리는 문제 (0) | 2020.01.02 |
---|---|
트위치 중계서버 도메인 변경 (0) | 2019.12.14 |
트위치 버퍼는 KT의 해외망 문제인가? NO (0) | 2019.10.14 |
아마존은 LG회선을 사용합니다. (0) | 2019.10.12 |
트위치의 현재 스트리밍 서버 위치를 파악하는 방법 (0) | 2019.10.11 |