본문으로 건너뛰기

비디오 서버 개요

Connect Base 비디오 서버는 동영상 업로드, 트랜스코딩, HLS 스트리밍과 채널/플레이리스트/Shorts/멤버십/슈퍼챗까지 갖춘 동영상 플랫폼 백엔드입니다.

cb.video SDK 의 모든 메서드가 백엔드와 정렬되어 동작합니다. 업로드·트랜스코딩·스트리밍·썸네일·채널 CRUD·플레이리스트·댓글·좋아요/취소·시청 기록·멤버십·슈퍼챗·추천 피드·스토리지 컨테이너 CRUD 모두 SDK 메서드를 그대로 사용하면 됩니다.

참고:

  • 슈퍼챗 전송(sendSuperChat)은 결제가 필요한 2단계 흐름입니다 — 응답의 client_secret 으로 결제(Stripe)를 확정해야 노출됩니다.
  • 채널·스토리지 컨테이너는 SDK 로 생성/관리할 수 있고, 콘솔에서도 동일하게 관리됩니다.
  • 인증: 생성·수정·시청기록·좋아요·댓글·멤버십·슈퍼챗 등 쓰기 작업은 앱 멤버 JWT(cb.auth.signInMember)가 필요합니다.

주요 기능

  • 청크 업로드: cb.video.upload / cb.video.storage.upload 가 init → chunk → complete 를 자동 처리 (onProgress 콜백 지원)
  • 트랜스코딩: FFmpeg 기반 멀티 화질 (cb.video.waitForReady 로 대기, getTranscodeStatus 로 상태 직접 조회)
  • HLS 스트리밍: 적응형 비트레이트 (cb.video.getStreamUrl)
  • DRM: AES-128 암호화 (response의 encryption 필드)
  • Shorts 피드: cb.video.getShortsFeed, cb.video.getTrendingShorts
  • 커뮤니티: 댓글 작성(postComment)·조회(getComments)·삭제(deleteComment), 좋아요 토글(likeVideo), 구독(subscribeChannel)
  • 추천: 홈 피드(getHomeFeed)·추천(getRecommendations)·관련 영상(getRelatedVideos)·트렌딩(getTrendingVideos)
  • 채널: 생성·조회·수정(createChannel/getChannel/getChannelByHandle/updateChannel)·구독(subscribeChannel)
  • 수익화: 멤버십 가입(joinMembership)·등급 조회(getMembershipTiers)·슈퍼챗(sendSuperChat/getSuperChats)
  • 시청 기록: 진행 보고(reportWatchProgress)·기록 조회/삭제(getWatchHistory/clearWatchHistory)

아키텍처

클라이언트 ──▶ cb.video.upload (청크 업로드) ──▶ 원본 저장 ──▶ 트랜스코딩
                                                              │
                                                              ▼
       HLS 플레이어 ◀── CDN ◀── HLS 세그먼트 저장

빠른 시작

typescript
import ConnectBase from 'connectbase-client'

const cb = new ConnectBase({ publicKey: 'cb_pk_...' })

// 비디오 목록 조회 (기본 스토리지)
const list = await cb.video.list({
    status: 'ready',
    visibility: 'public',
    limit: 20
})
console.log(list.videos)

// 스트림 URL 가져오기
const streamInfo = await cb.video.getStreamUrl('video-id')
console.log(streamInfo.stream_url)

SDK 설치

bash
npm install connectbase-client