용어집

스트리밍과 IPTV

인터넷을 통한 실시간 TV는 세 가지 서로 다른 곳에서 어휘를 빌려 왔습니다 — 방송 업계, 웹 업계, 그리고 우연히 사실상의 표준이 되어버린 특정 패널 소프트웨어. 여기서 자주 마주치는 말들을 정리했습니다.

HLS

HTTP Live Streaming

Apple의 스트리밍 프로토콜이며, 지금은 거의 모든 곳에서 쓰입니다. 영상은 짧은 세그먼트로 잘려 텍스트 재생목록에 나열되고, 플레이어는 이를 평범한 HTTP를 통해 순서대로 가져옵니다.

HLS가 널리 쓰이게 된 이유는 특별한 서버가 필요 없기 때문입니다 — 세그먼트도 파일이고 재생목록도 파일이라서, 어떤 웹 서버든 둘 다 문제없이 전달할 수 있습니다. Apple 플랫폼에서는 물론이고 그 밖의 거의 모든 곳에서도 기본적으로 지원됩니다.

이 설계에는 사람들이 끊임없이 마주치는 결과가 하나 딸려 옵니다 — 저장할 만한 단일 동영상 파일이라는 게 애초에 없다는 점입니다. 지금 보고 있는 그 영상은 수천 개의 조각과, 그걸 가져오는 방법을 적은 지침서로만 존재합니다.

함께 보기: 매니페스트세그먼트적응형 비트레이트

매니페스트

재생목록, .m3u8

스트림이 무엇으로 구성되어 있는지 나열하는 텍스트 파일입니다. 마스터 매니페스트는 이용 가능한 화질 단계를 나열하고, 그 각각은 실제 세그먼트를 나열하는 미디어 매니페스트를 가리킵니다.

하나를 열어보면 헤더 몇 줄, 매개변수 몇 개, 그리고 주소들뿐입니다. 실제로 보게 되는 내용은 전부 다른 곳에 있습니다. 생방송이라면 방송이 계속되는 동안 이 파일 자체도 계속 길어지기 때문에, 플레이어는 몇 초마다 이 파일을 다시 가져옵니다.

매니페스트 주소는 보통 서명이 걸려 있고 유효 시간이 정해져 있어서, 오늘 아침엔 됐던 링크가 오후엔 아무것도 가리키지 못하는 경우가 흔합니다.

함께 보기: HLS세그먼트

세그먼트

조각

스트림의 짧은 한 조각으로, 보통 2~10초 분량이 각자 별도의 파일로 전달됩니다. 한 시간짜리 영상이면 이런 조각이 수백에서 수천 개에 이릅니다.

세그먼트로 나누는 방식 덕분에 재생 도중 화질을 바꾸는 게 가능해집니다 — 플레이어는 그냥 다른 화질 단계에서 다음 조각을 요청하면 되고, 이 전환은 끊김이 아니라 조각과 조각 사이의 경계에서 자연스럽게 일어납니다.

스트림을 다운로드하는 게 단순 복사가 아니라 재조립이 되는 이유도 이것 때문입니다. 모든 세그먼트를 하나하나 가져온 다음, 제대로 된 인덱스를 갖춘 하나의 컨테이너에 다시 써 넣어야 합니다 — 이 단계를 거쳐야 결과물에 실제로 작동하는 탐색 바가 생깁니다.

함께 보기: HLS재다중화

적응형 비트레이트

ABR

같은 콘텐츠를 여러 화질 단계로 준비해 두고, 연결 상태가 바뀔 때마다 플레이어가 그 사이를 오가게 하는 방식입니다. 스트림이 멈추는 대신 화질이 낮아지는 이유가 바로 이것입니다.

플레이어는 세그먼트가 얼마나 빨리 도착하는지 측정해서, 감당할 수 있다고 판단되는 가장 높은 화질을 고릅니다. 연결이 나빠지면 버퍼가 완전히 바닥나기 전에 대개 한 단계 낮은 화질로 내려갑니다.

이게 스트림 시청과 파일 다운로드 사이의 가장 큰 차이입니다. 다운로드는 최고 화질 버전을 원하고 그걸 위해 기다립니다. 반면 스트림은 멈추느니 차라리 화질이 흐려지는 쪽을 택합니다.

함께 보기: HLS버퍼링비트레이트

버퍼링

지금 보고 있는 지점보다 몇 초 앞선 영상을 미리 확보해 두어서, 짧은 네트워크 순간 장애가 일시 정지로 이어지지 않게 하는 것입니다. 화면에 이 단어가 뜬다는 건 그 여유분이 바닥났다는 뜻입니다.

버퍼가 클수록 더 많은 끊김을 견뎌내지만, 그만큼 시작하는 데 시간이 더 걸리고 채널을 바꿀 때 반응도 느려집니다. 생방송 스트림은 일부러 버퍼를 작게 유지하는데, 그래서 다시보기 영상보다 훨씬 더 쉽게 끊깁니다.

IPTV 채널이 자꾸 끊긴다면 원인은 거의 항상 제공업체와 사용자 사이 어딘가에 있습니다 — 그쪽 서버, 경로, 혹은 사용자의 회선이죠. 같은 기기의 같은 앱이 같은 비트레이트의 로컬 파일은 끊김 없이 재생한다면, 이게 바로 둘을 구분하는 가장 빠른 방법입니다.

함께 보기: 적응형 비트레이트IPTV

IPTV

공중파, 케이블, 위성이 아니라 인터넷을 통해 전달되는 텔레비전입니다. 이 단어 자체는 전달 방식만을 설명할 뿐, 누가 무엇을 전달할 권리가 있는지에 대해서는 아무것도 말해주지 않습니다.

구독이라는 게 실제로 무엇으로 이루어져 있는가 하면, 채널 이름을 나열하고 각 채널의 주소를 알려주는 목록입니다 — M3U 재생목록일 수도 있고, 패널의 계정일 수도 있습니다. 플레이어는 이걸 채널 가이드로 바꿔줄 뿐, 무언가를 직접 호스팅하거나 제공하지 않습니다.

이 점은 기술적으로도, 법적으로도 중요합니다. IPTV를 재생하는 앱은 그 어떤 채널도 직접 공급하지 않으며, 어떤 제공업체가 자신이 송출하는 콘텐츠에 대한 권리를 실제로 갖고 있는지는 그 제공업체에 관한 질문이지 앱에 관한 질문이 아닙니다.

함께 보기: M3U 재생목록Xtream CodesEPG

M3U 재생목록

채널 이름과 스트림 주소를 나열한 순수 텍스트 목록으로, IPTV 구독이 전달되는 가장 흔한 방식입니다. 동영상은 단 하나도 담겨 있지 않습니다.

각 항목은 채널 이름을 적은 한 줄(관례적으로 로고, 그룹, 식별자가 함께 붙습니다)과 주소를 적은 한 줄로 이뤄집니다. 이런 관례 중 어느 것도 공식 표준으로 정해진 적이 없어서, 제공업체마다 조금씩 다르게 작성합니다.

제공업체의 목록은 이 형식이 원래 예상했던 규모를 훌쩍 넘어섰습니다 — 채널 수십만 개, 텍스트 수백 메가바이트가 이제는 평범한 수준이고, 이걸 파싱하기 전에 통째로 메모리에 올리는 앱이라면 작업을 끝내기 한참 전에 iOS에 의해 강제 종료됩니다.

함께 보기: IPTVXtream Codes

Xtream Codes

API가 사실상의 표준이 되어버린 패널 소프트웨어입니다. 재생목록 파일 대신 서버 주소, 사용자 이름, 비밀번호를 받고, 앱이 그 패널에 채널·영화·시리즈·가이드 정보를 직접 요청합니다.

이걸 만든 회사는 2019년에 문을 닫았지만, API는 그 뒤로도 계속 살아남았습니다 — 이미 수천 개의 제공업체가 이걸 기반으로 서비스를 구축해 두었고, 그 고객들도 이 방식에 익숙해져 있었기 때문입니다. "Xtream 호환"이라고 소개되는 소프트웨어는 그 회사의 제품을 쓰는 게 아니라, 그 인터페이스를 구현하고 있는 것입니다.

평범한 재생목록과 실질적으로 다른 점이 두 가지 있습니다. 카탈로그가 단순한 목록이 아니라 구조화된 데이터 형태로 도착한다는 점, 그리고 패널이 동시 접속 수 제한을 건다는 점입니다 — 이 제한 때문에 다운로드와 실시간 채널 시청을 동시에 하면 서로를 밀어내는 일이 생깁니다.

함께 보기: IPTVM3U 재생목록EPG

EPG

전자 프로그램 가이드

편성표입니다 — 각 채널에서 지금 무엇이 나오고 있는지, 다음엔 무엇이 나올지, 조금 전엔 무엇이 나왔는지를 알려줍니다. 채널 자체와는 따로, 보통 XMLTV 파일 형태로 전달됩니다.

가이드는 제공업체가 각 채널에 붙여둔 식별자를 기준으로 채널과 매칭됩니다. 이 식별자가 빠져 있거나 일관성이 없으면(실제로 흔한 일입니다) 가이드 데이터 자체는 정확하게 존재하는데도 채널에는 편성 정보가 전혀 표시되지 않습니다.

대형 제공업체의 전체 가이드는 그 자체만으로도 상당한 용량의 다운로드입니다 — 수천 개 채널의 며칠치 편성표를 담고 있으니까요.

함께 보기: IPTV다시보기Xtream Codes

다시보기

타임시프트, 아카이브

이미 방송이 끝난 프로그램을, 제공업체의 서버에 특정 채널의 과거 시간대를 요청해서 시청하는 기능입니다. 이는 오직 제공업체가 실제로 녹화해 둔 경우에만 가능하며, 사용자의 기기에는 아무것도 저장되지 않습니다.

이 기능이 제공되는 경우, 앱은 가이드에 표시된 지난 프로그램을 눌러서 해당 채널의 그 시간대를 요청하는 것으로 바꿔줄 수 있습니다. 보통은 며칠 치 정도까지 다시보기가 가능합니다.

이건 전적으로 제공업체가 갖춘 능력에 달린 일입니다. 애초에 녹화되지 않은 채널에 앱이 다시보기 기능을 만들어 붙일 수는 없고, 지난주 가이드에 항목이 있다고 해서 그게 곧 녹화본이 실제로 존재한다는 증거도 아닙니다.

함께 보기: EPGIPTV

DRM

디지털 저작권 관리

라이선스 서버에서 발급받은 키를 가진, 허가된 재생 소프트웨어만 풀 수 있는 암호화입니다. Apple 플랫폼의 FairPlay, Android의 Widevine, 그리고 대부분의 웹 브라우저가 이 방식을 씁니다.

DRM으로 보호된 스트림은 처음부터 끝까지 암호화되어 있고, 그 키는 관련 규칙을 지키겠다고 증명한 소프트웨어에만 전달됩니다 — 저장 불가, 화면 캡처 불가, 때로는 외부 디스플레이 출력조차 불가능합니다.

이건 우회할 수 있는 불편함이 아니라, 설계대로 작동하고 있는 보안 장치입니다. DRM으로 보호된 스트림을 다운로드해 준다고 주장하는 도구가 있다면, 그건 자기가 실제로 하는 일에 대해서든 그 스트림이 무엇인지에 대해서든 거짓말을 하고 있는 것입니다.

함께 보기: HLSIPTV

다른 주제