LIVE STREAMING SAAS — v1.0

복잡한 라이브 인프라
없이, 채널 한 번으로
바로 송출.

관리자가 채널을 발급하면 RTMPS · SRT · WebRTC 송출 키와 HLS · DASH 시청 URL이 한 번에 나옵니다. 방송자는 OBS·iOS 앱으로 즉시 송출, 시청자는 표준 플레이어로 봅니다.

어드민 시작하기 → iOS 앱 다운로드
5
온보딩
5
프로토콜
250+
Cloudflare PoP
0
콘솔 노출
admin@rtmp.kr — channel issue live
# 채널 발급 직후 어드민 응답
channel_id  "ch_8af9c0e2"
status      live
protocol    "RTMPS"

rtmps_url   "rtmps://live.rtmp.kr:443/live/"
stream_key  "sk_live_5f3a…b21e"

playback    "watch.rtmp.kr/v/ch_8af9.m3u8"
# 저지연 / 패킷 손실 보정 SRT 송출
channel_id     "ch_8af9c0e2"
status         idle
protocol       "SRT"

srt_url        "srt://live.rtmp.kr:9999"
srt_stream_id  "#!::r=ch_8af9,m=publish"
srt_passphrase "pp_a91c…7e02"
# 1초 미만 지연 — WHIP 송출
channel_id  "ch_8af9c0e2"
status      live
protocol    "WebRTC / WHIP"

whip_url    "https://whip.rtmp.kr/ch_8af9"
whep_url    "https://whep.rtmp.kr/ch_8af9"
ice_servers [ stun:stun.rtmp.kr ]
● POWERED BY CLOUDFLARE STREAMRTMPSSRTWEBRTCWHIPHLSDASHWHEP250+ POP● POWERED BY CLOUDFLARE STREAMRTMPSSRTWEBRTCWHIPHLSDASHWHEP250+ POP
// HOW IT WORKS

관리자가 발급, 방송자가 송출,
시청자가 본다.

세 역할이 명확하게 분리됩니다. 누구도 Cloudflare 콘솔을 직접 만질 필요가 없습니다.

01 — ADMIN

채널을 발급한다

웹 어드민에서 유저별로 채널을 1클릭 발급. Cloudflare Live Input이 백그라운드에서 자동 프로비저닝됩니다.

LIVE seller_42 · 메인 1080p
sk_live_5f3a…b21e
02 — BROADCASTER

키를 받아 송출한다

OBS · vMix · iOS 앱 · WHIP 클라이언트 — 무엇이든 좋습니다. ServerStream Key 두 줄로 끝.

Serverrtmps://live.rtmp.kr…
Keysk_live_5f3a…
03 — VIEWER

HLS · DASH로 본다

표준 매니페스트 URL 하나면 끝. Cloudflare 글로벌 엣지에서 직접 서빙되어 별도 CDN이 필요 없습니다.

LIVE
watch.rtmp.kr/v/ch_8af9.m3u8
// MULTI-PROTOCOL INGEST

하나의 채널, 모든 프로토콜.

채널을 한 번 발급하면 RTMPS · SRT · WebRTC 송출 엔드포인트와 HLS · DASH · WHEP 시청 URL이 동시에 발급됩니다. 방송자는 상황에 맞는 프로토콜을 골라 쓰면 됩니다.

RTMPS ~3–5s

OBS · vMix · FFmpeg 등 표준 인코더를 위한 가장 보편적인 송출 경로.

rtmps_urlrtmps://live.rtmp.kr:443/live/
stream_keysk_live_5f3a…b21e
OBS Studio vMix FFmpeg
SRT ~1–2s

불안정한 네트워크에서도 패킷 손실을 보정하는 저지연 전송 — 모바일·필드 송출에 최적.

srt_urlsrt://live.rtmp.kr:9999
stream_id#!::r=ch_8af9,m=publish
Larix FFmpeg Field cam
WebRTC · WHIP <1s

브라우저에서 1초 미만 지연으로 송출. 인터랙티브 라이브, 스트리머 인터뷰 등에 사용.

whip_urlwhip.rtmp.kr/ch_8af9
whep_urlwhep.rtmp.kr/ch_8af9
Browser WHIP client Sub-second
// 한 채널은 동시에 모든 프로토콜로 송출·시청 가능 — HLS · DASH · WHEP playback URL 자동 발급
// ADMIN CONSOLE

Cloudflare는 보이지 않게, 운영은 또렷하게.

셀러·강사·방송자별 채널을 한 화면에서 관리합니다. 조회는 자체 DB로 — Cloudflare API rate limit(5분당 1,200 req)을 걱정할 필요가 없습니다.

유저-채널 1:N
유저 단위로 N개 채널을 발급. 채널마다 RTMPS/SRT/WebRTC 키와 HLS/DASH URL이 자동 부여됩니다.
5단계 상태 모니터링
created · live · idle · disabled · errored — Cloudflare 상태와 자체 DB가 양방향 동기화됩니다.
Soft delete + 보상 트랜잭션
삭제는 deleted_at 컬럼으로 흔적을 남깁니다. Cloudflare 생성 후 DB 저장 실패 시 자동 롤백.
admin.rtmp.kr/channels/ch_8af9c0e2
UCLWKS
channels / ch_8af9c0e2
+ 새 채널
LIVE seller_42 · 메인 라이브
created 2026-04-21 · 1080p · ABR · h.264
REC · 2,841 preview · 1920×1080 · 30fps
Viewers
2,841
+12% / 1m
Bitrate
4,800
kbps
Latency
2.1s
RTMPS
Uptime
00:41
:08
RTMPS rtmps://live.rtmp.kr:443/live/copy
HLS watch.rtmp.kr/v/ch_8af9.m3u8copy
9:415G · 100%
LIVE · 2,841 1080p · 30
세로 9:16 라이브 프리뷰
minji_★ 색상 다른 거 있어요?
jay_kim 지금 라이브 깨끗하네요
seoul.kr 장바구니 담았어요!
SS26 봄 자켓 · 카키
₩ 89,000
담기
댓글 남기기…
// NATIVE iOS APP

OBS 없이도, 주머니에서 바로 송출.

HaishinKit 기반 RTMPS 송출 모듈을 내장한 전용 iOS 앱. 세로 9:16 라이브 커머스·숏폼에 최적화되어 있고, 전·후면 카메라를 동시에 쓰는 멀티캠 PIP가 기본 탑재됩니다.

세로 9:16 프리셋
480p / 720p / 1080p · 30fps. 라이브 커머스·숏폼에 맞춘 비율.
멀티캠 PIP
전·후면 동시 캡처. 드래그로 위치 조정, 탭으로 메인-PIP 스왑.
bps
ABR · CBR · VBR 비트레이트 모드
어드민에서 발급한 rtmps_url + stream_key 입력만으로 즉시 송출.
// SECURITY & RELIABILITY

키는 안에 두고, 운영은 밖에서.

Cloudflare 자격증명은 서버에만 머무릅니다. 운영자가 조작하는 모든 자원은 권한·롤·토큰 회전으로 보호됩니다.

JWT

이중 토큰 + 회전

메모리 보관 Access JWT + httpOnly 쿠키 Refresh Token. 재사용 탐지 시 해당 subject 토큰 일괄 폐기.

Access JWTrotation
RBAC

3단계 권한 분리

superadmin · admin · user. 채널 발급, 사용자 정지, API 키 생성 등 민감 액션은 역할 단위로 차등.

superadminbcrypt
DB

DB-우선 조회

채널 목록·상세는 자체 DB로 응답. Cloudflare API는 변경 시점에만 호출 — rate limit 걱정 없는 어드민.

read-from-DB1,200 req
TX

보상 트랜잭션

Cloudflare 생성 성공 후 DB 저장 실패 시 자동 롤백. 모든 삭제는 deleted_at으로 이력 보존.

auto-rollbacksoft delete
// TECH STACK

단일 코드베이스, 두 가지 배포 옵션.

분리형(FastAPI + Vite React) 또는 통합형(Next.js 15 + Cloudflare Workers + Prisma) 중에 골라 배포할 수 있습니다.

LIVE INFRA
Cloudflare Stream
Live Inputs
HLS / DASH egress
R2 cache
BACKEND (A)
FastAPI
SQLAlchemy 2.0 async
Alembic
MariaDB
BACKEND (B)
Next.js 15 App Router
Prisma 5
jose JWT
OpenNext on Workers
ADMIN UI
React + Vite + TS
MUI v6
TanStack Query v5
react-hook-form + zod
iOS APP
Swift + SwiftUI
@Observable
HaishinKit
AVFoundation
AUTH
Access JWT
httpOnly refresh
rotation
bcrypt
// ROADMAP

지금, 그리고 다음.

단기 · 0–3개월

온보딩과 신뢰성

가입 → 채널 발급 → 첫 송출 5분 이내
Cloudflare 콘솔 의존도 0
iOS v1.0 정식 출시 (세로 9:16, PIP)
중기 · 3–9개월

스테로이드를 친다

스트림 키 at-rest 암호화
채널 상태 전환 Webhook
동시 시청자/누적 시간 분석
임베드 플레이어 (rtmp.kr/embed/<ch>)
장기 · 9개월+

플랫폼이 된다

다계정·팀 워크스페이스 (MCN)
녹화본 라이브러리 + VOD 변환
간이 결제 / 시청 권한 (Signed URL)
리전별 read replica 어드민
// FAQ

자주 묻는 질문

라이브 채널 발급부터 송출·보안까지 가장 많이 받는 질문을 모았습니다.

Q.RTMP.kr이란 무엇인가요?

RTMP.kr은 Cloudflare Stream 글로벌 엣지 위에서 동작하는 관리형 라이브 채널 SaaS입니다. 채널을 한 번 발급하면 RTMPS·SRT·WebRTC·HLS·DASH 엔드포인트가 자동으로 함께 발급되어, 운영자는 어드민만, 방송자는 키만, 시청자는 URL만 다루면 됩니다.

Q.어떤 프로토콜을 지원하나요?

채널을 만들면 RTMPS(표준 송출), SRT(저지연·손실 보정), WebRTC WHIP(1초 미만 송출), HLS/DASH(글로벌 시청), WebRTC WHEP(초저지연 시청)까지 다섯 가지 엔드포인트가 동시에 발급됩니다.

Q.PC와 OBS 없이도 송출할 수 있나요?

네. 전용 iOS 앱으로 즉시 송출할 수 있습니다. 세로 9:16 최적화, 480p/720p/1080p 프리셋, 전·후면 멀티캠 PIP, ABR/CBR/VBR 비트레이트 모드를 지원하며 HaishinKit 기반의 안정적인 RTMPS 송출 엔진을 사용합니다.

Q.보안은 어떻게 보장되나요?

메모리 보관 Access JWT와 httpOnly 쿠키 Refresh Token의 이중 토큰을 사용하고, 재사용 탐지 시 계정의 모든 토큰을 일괄 폐기하는 Refresh Rotation을 적용합니다. 스트림 키·SRT 패스프레이즈는 바이너리 컬럼에 저장하며 채널별 Signed URL로 시청 보호를 토글할 수 있습니다.

Q.첫 송출까지 얼마나 걸리나요?

가입 후 약 5분 안에 첫 송출이 가능합니다. 어드민에서 채널을 생성하고, 발급된 Server와 Stream Key 두 줄을 OBS에 붙여넣으면 바로 송출됩니다.

// GET STARTED

채널을 발급하세요.
나머지는 우리가 합니다.

가입 후 5분이면 첫 송출까지 도달합니다. 30분 임시 채널은 곧 가입 없이도 발급될 예정입니다.

어드민 시작하기 → 데모 요청