| 계층 | 성격 | 생성 방법 | 예 |
|---|---|---|---|
| 채널 | 지속 — 서비스 자원 | 사용자가 생성 | "라이브 강의 채널" |
| 방송 | 지속 — 방송 프로파일 | 채널 생성 시 자동 1개, 이후 추가 가능 | "2026 상반기 세미나" |
| 방송 세션 | 1회성 — 실제 송출 | 송출 시작 시 자동 | 8/10 · 8/17 · 8/24 각 방송 |
채널 — 계속 존재하는 라이브 서비스 단위. 채널명 / 채널 타입 / 송출 URL / 스트림 키 / 재생 URL / 재생 보안 설정을 가진다. 송출 자격(URL·Stream Key)은 채널에 붙는다. 방송을 바꿔도 송출 정보는 그대로다.
방송 — 채널 안에서 계속 존재하는 방송 프로파일이다. 매 송출마다 적용될 설정과 정보를 담는다.
방송이 갖는 것은 셋뿐이다.
- 방송 제목 / 방송 설명
- 프리뷰 이미지 — 방송 전·대기 중 시청자에게 보여줄 정지 이미지. 업로드·변경할 수 있고, 방송을 만들면 기본 이미지가 자동으로 들어간다. 지우면 그 기본 이미지로 되돌아간다 — 아무것도 올리지 않은 방송이라도 시청자가 검은 화면을 보면 안 된다 (V3 라이브팩도 방송 insert 시 기본 썸네일을 넣는다). 기본 이미지는 V3 가 쓰던 라이브팩 로고 원본이다. JPG·PNG·WEBP, 5MB 이하이고 방송 저장에 함께 실린다(V3 방송 폼과 같은 구조).
채팅·녹화·라이브 썸네일(사용 여부와 갱신 간격)은 방송이 아니라 채널 소관이다 — 이 값들이 채널을 어느 인프라에 만들지 가르기 때문이다(§2.2). 이유와 소관 표는 §7.3 에 있다. 대체 이미지(입력 끊김 시 정지 이미지)는 여기에 없다 — 표준 운영방식에서 제공하지 않는다(§2.1).
- 한 채널에 여러 방송을 둘 수 있고, 그중 하나가 "적용 중" 이다. 송출하면 적용 중인 방송의 설정으로 시작된다.
- 방송 목록에는 최근 방송일과 총 방송 횟수를 함께 표시한다 — "적용 중" 배지만으로는 어느 방송을 실제로 써 왔는지 알 수 없다. 두 값은 저장 값이 아니라 방송 세션 이력에서 집계한다. 최근 방송일은 "39분 전" 같은 상대 표기가 아니라 날짜·시각 그대로 적는다 — 언제 썼는지를 확인하는 값이다.
화면 구성 — 방송 목록은 프리뷰 이미지를 앞세운 카드 그리드이고, 카드 자체가 선택지다.
- "적용 중은 채널당 하나"라는 규칙이 곧 라디오 그룹이다. 작은
적용하기버튼을 찾아 누르게 하지 않고 카드를 고르면 그것이 적용된다(확인 다이얼로그를 거친다). 카드에는 라디오 표식과 "적용 중" 표시를 얹는다. - 적용해도 목록 순서는 바뀌지 않는다. 적용 중인 방송을 맨 앞으로 끌어올리면 카드가 자리를 옮겨 방금 무엇을 눌렀는지 눈으로 따라갈 수 없다. 적용 여부는 라디오 표식과 상태 표시가 말한다.
- 그리드형 / 목록형을 고를 수 있다(채널 목록과 같은 전환). 방송이 몇 개일 때는 이미지가 빠르고, 많아지면 값을 나란히 비교하는 목록형이 빠르다. 선택한 방식은 기억한다.
- 정렬은
등록 최신순(기본) · 최근 방송순 · 제목순이고, 검색과 페이징을 제공한다(§23.4). 한 번도 방송하지 않은 방송은 "최근 방송순"에서 뒤로 보낸다. - 상태(적용 중 / 대기)는 제 자리에서만 말한다 — 그리드는 라디오와 같은 줄(썸네일 위), 목록은
상태열. 제목 옆 배지 줄은 속성(기본 방송) 자리라 거기에 상태를 섞으면 상태가 아니라 이름표처럼 읽힌다. - 카드·행에는 최근 방송일 · 총 방송 횟수 · 생성일을 적는다. 채팅·녹화·썸네일은 적지 않는다 — 채널 소관이라(§7.3) 방송마다 다른 값처럼 읽히면 안 된다. 대신 방송 편집 폼에 그 값들이 어디 있는지(채널 설정) 한 줄로 안내한다.
- 추가·수정은 다이얼로그로 연다(V3 라이브팩도 레이어로 편집한다). 카드 안에 폼을 펼치면 그리드가 무너진다.
- 방송 중에는 적용 방송을 바꿀 수 없다. 목록 위에 사유 배너를 두고 카드 선택을 잠근다.
방송 세션 — 실제 송출이 이루어진 개별 1회. 적용 중인 방송 아래에 생성된다.
- 방송 이력·사용량·통계·녹화 결과는 방송 세션 단위로 쌓인다.
- 동일 날짜 안에도 여러 세션이 존재할 수 있다.
- 시청자 지표(§19-14)의 집계 단위도 방송 세션이다.
7.1 기본 방송 — 방송은 필수가 아니라 기본값이다#
§6·§18 의 "송출하면 바로 시작"을 깨지 않기 위해, 방송을 미리 만들어야 송출할 수 있는 구조로 만들지 않는다.
- 채널을 생성하면 기본 방송 1개가 자동으로 생성되고 즉시 "적용 중" 이 된다.
- 사용자가 방송을 만들지 않아도 송출하면 그 기본 방송 아래 세션이 생긴다.
- 방송을 나눠 쓰고 싶은 사용자만 추가·전환한다.
- 적용 중인 방송은 항상 정확히 1개다. 다른 방송을 적용하면 이전 방송은 대기 상태가 된다.
- 방송 중에는 적용 중인 방송을 바꿀 수 없다. 진행 중인 세션의 설정이 도중에 바뀌면 안 된다.
- 적용 중인 방송은 삭제할 수 없다. 세션 이력이 있는 방송을 삭제할 때의 이력 처리 방침은 별도로 정한다.
7.2 용어 — "방송 세션"을 쓴다#
V3 는 같은 개념을 "방송 이벤트" 라고 불렀다. V4 는 "방송 세션" 으로 쓴다.
- "이벤트"는 한국어에서 행사로 먼저 읽혀 오독 위험이 있다.
event는 MediaLive 의 구조 용어다. V4 는 IVS 기반이므로 그 구조를 물려받을 이유가 없고, §3 "AWS 내부 명칭을 사용자 화면에 노출하지 않는다"는 원칙과도 결이 맞지 않는다.
화면 문구는 다음을 따른다.
- 방송 프로파일을 다루는 화면 = "방송 설정" (V3 의
방송 설정 > 방송 목록과 같은 자리) - 세션 목록 화면 = "방송 이력" (현행 유지)
- 문맥상 방송 하위임이 분명하면 화면에서는 "세션" 으로 줄여 쓴다.
7.3 자원 설정은 채널, 콘텐츠는 방송, 기록은 세션#
설정은 채널과 방송에서 한다. 세션마다 따로 설정하지 않는다. 세션은 송출이 시작되면 자동으로 생기므로(§6) 설정을 받을 시점이 없다.
가르는 기준은 "채널 자원의 모양을 정하는 값인가"다.
| 항목 | 설정 위치 | 근거 |
|---|---|---|
| 채널 타입 (일반 / FHD) | 채널 | §4, §19-6 |
| 지연 모드 | 채널 | §8 |
| 라이브 채팅 사용 여부 | 채널 | §14 |
| 녹화 사용 여부 | 채널 | §13 |
| 라이브 썸네일 사용 여부 · 갱신 간격 | 채널 | §9 |
| 방송 제목 · 설명 · 프리뷰 이미지 | 방송 | §7 |
채팅·녹화·썸네일이 채널인 이유 — 이 세 값이 채널을 어느 인프라에 만들지 가른다(§2.2). 인프라는 채널 자원이고, 바뀌면 송출 URL·스트림 키·재생 URL 이 새로 발급된다. 방송마다 다르게 둘 수 있으면 적용 방송을 갈아 끼우는 것만으로 송출 정보가 재발급된다 — 사용자 입장에서는 "방송 프로파일을 바꿨을 뿐"인데 인코더 설정을 다시 해야 하는 일이 되어 설명이 되지 않는다.
썸네일 간격이 사용 여부와 같은 계층인 이유 — IVS 에서 thumbnailConfiguration 은
RecordingConfiguration 의 하위 필드라 녹화 설정과 한 리소스에 들어간다.
둘의 계층이 갈리면 하나의 리소스를 두 계층이 나눠 소유하게 되고,
RecordingConfiguration 은 수정할 수 없어서 한쪽을 바꿀 때마다 리소스를 다시 만들어야 한다.
채널 ↔ RecordingConfiguration 이 1:1 이면 이 문제가 생기지 않는다.
방송에 남는 것 — 제목·설명·프리뷰 이미지, 즉 시청자에게 보이는 콘텐츠뿐이다. 방송을 바꾸는 일은 콘텐츠를 바꾸는 일이지 자원을 바꾸는 일이 아니다.
표의 채널 항목은 방송 중에 바꿀 수 없다(§2.2 · §19-6). 채널 타입·지연 모드와 같은 이유다 —
바꾸면 IVS 리소스를 다시 만들어야 하고, 그 자리에서 진행 중인 송출이 끊긴다.
썸네일 갱신 간격도 같다(RecordingConfiguration 을 다시 만드는 일이라 사용 여부와 구분되지 않는다).
화면은 방송 중에 이 입력들을 잠그고 사유를 적는다. 어느 탭에서 바꾸든 규칙은 같다 —
채널 설정 탭과 채팅 탭이 같은 값을 두고 다르게 동작하면 안 된다.
화면에서 어디로 가는가 (§5 생성 화면은 사용 여부만 묻는다 — 세부는 여기다)
| 고른 것 | 세부 설정 자리 |
|---|---|
| 라이브 채팅 | 채널 > 채팅 탭 — 삽입 코드 · 금칙어 · 참여 인원 · 모니터링 (§14) |
| 녹화 | 결과물은 녹화 메뉴에서 내려받는다. 켜고 끄기는 채널 설정 (§13) |
| 라이브 썸네일 | 채널 > 채널 설정 — 갱신 간격 (§9) |
생성 화면은 켠 항목의 세부 설정 위치를 적어 준다. 사용 여부만 묻고 나머지는 다른 화면에 있어서, 적어 두지 않으면 만든 뒤에 찾아다니게 된다. 끈 항목은 적지 않는다 — 지금 필요한 말이 아니다.
다만 기록은 세션 단위로 남긴다. 세션이 시작될 때 적용됐던 값을 세션에 그대로 박아 둔다. 채널 설정을 나중에 고치면 과거 이력의 비용 근거까지 함께 바뀌어버리기 때문이다 (방송 제목을 시작 시점 값으로 보존하는 것과 같은 이유).
이 스냅샷에는 비용이 갈리는 값만 담는다 — 채널 타입 · 채팅 · 녹화 · 썸네일 갱신 간격. 사용량 분석의 방송 내역(§19-18)은 이 값을 그대로 보여준다.
IVS 확인 필요 — 위 구조는 다음 동작을 전제한다. 확정 전에 AWS 문서로 대조한다.
- 녹화는 채널의
recordingConfigurationArn이며, 교체해도 진행 중인 세션에는 반영되지 않고 다음 세션부터 적용된다.- 라이브 썸네일 설정(
thumbnailConfiguration)은RecordingConfiguration의 하위 필드다. 녹화 없이 썸네일만 쓰려면renditionSelection = NONE구성이 필요하다(§9 PoC 항목과 같은 건).RecordingConfiguration은 수정할 수 없다 — 값을 바꾸려면 새로 만들어 채널을 갈아끼운다.
7.4 삭제 — 무엇이 죽고 무엇이 남는가#
채널 삭제
- 방송 중인 채널은 삭제할 수 없다. 진행 중인 송출을 끊는 일이라 사용자가 종료한 뒤에 한다.
- 삭제하면 송출 URL · Stream Key · 재생 URL 을 즉시 쓸 수 없다. 이 채널을 붙여 둔 페이지의 재생도 함께 멈춘다 — 되돌릴 수 없으므로 확인창에서 이 사실을 먼저 말한다.
- 방송 세션 이력과 통계는 남긴다. 정산 근거이자 운영 이력이라, 채널이 사라졌다고 지난 사용량이 없던 일이 되면 안 된다. 이력의 채널명은 그때 값 그대로 둔다(§7.3 스냅샷과 같은 이유).
- 녹화본과 채팅 로그는 각자의 보관기간을 따른다(§13 · §14). 채널 삭제와 별개로 기간이 지나면 지워진다 — 채널을 지웠다고 아직 받지 못한 녹화가 함께 사라지면 안 된다.
- 방송 프로파일(§7)은 채널에 딸린 설정이라 함께 사라진다. 세션 이력과 달리 남길 값이 없다.
- 채널 수 한도(§16)는 삭제 즉시 회복된다.
7.5 세션 제목에는 시작 시각을 붙인다#
세션을 가리키는 모든 화면에서 제목은 방송 제목_yyyyMMdd_HHmmss 형태로 적는다.
V3 라이브팩이 방송 이벤트 제목을 만들던 규칙과 같되, 시·분·초 사이의 콜론은 뺀다 —
제목은 파일명·URL 로도 흘러가고, 콜론 없는 날짜(20260827)와 표기가 어긋나 보인다.
- 하나의 방송으로 여러 번 송출하면(§6 자동 ON/OFF) 세션 제목이 전부 같아진다. 목록에서 어느 회차인지 가릴 수 없고, 복사해서 공유하면 더 알 수 없다.
- 시각은 세션 시작 시각이고 초까지 적는다 — 같은 분에 두 세션이 생길 수 있다.
- 표시 규칙이지 저장 값이 아니다.
broadcastName은 시작 시점 값 그대로 두고(§7.3), 화면에서 합쳐 보여준다. 방송 제목을 바꿔도 과거 세션의 제목은 그때 값을 유지한다. - 세션이 아닌 것에는 붙이지 않는다 — 방송 프로파일 목록, 채널 필터의 방송 선택지처럼 회차가 아니라 방송 자체를 가리키는 자리다.
- 목록 검색은 붙은 제목 그대로 걸린다(
20260827로도 찾을 수 있다).
적용 화면: 방송 이력(전체·채널 상세 탭) · 녹화 · 사용량 분석의 방송 내역 · 시청 분석의 세션 상세.