← 프로젝트 목록

Backend Project · 06

OTT_QUIC

QUIC 라이브러리 없이 C로 전송 계층 핵심(연결 관리·스트림 다중화·1-RTT 패킷 보호)을 직접 구현한 학습용 OTT 스트리밍 서버. 암호 프리미티브·TLS는 OpenSSL에 위임하고 키 도출·상태 관리를 직접 작성. 1MB 청크 전송·seek, connection_id 락 기반으로 멀티스레드 동시성을 보호한다.

C11OpenSSLQUIC / HTTP3WebSocketSQLiteMultithreadingnginxDocker
Overview

QUIC 라이브러리 없이 C로 전송 계층 핵심(연결 관리·스트림 다중화·1-RTT 패킷 보호)을 직접 구현한 학습용 OTT 스트리밍 서버. 암호 프리미티브·TLS는 OpenSSL에 위임하고 키 도출·상태 관리를 직접 작성. 1MB 청크 전송·seek, connection_id 락 기반으로 멀티스레드 동시성을 보호한다.

Problem

전송 계층의 상태 관리, 스트림 다중화, 패킷 보호가 실제로 어떻게 맞물리는지 라이브러리 추상화 뒤에서만 이해하는 한계가 있었다. 암호 프리미티브는 검증된 OpenSSL에 맡기면서도 연결·키 도출·동시성 경계는 직접 구현해 검증할 필요가 있었다.

Architecture
OTT QUIC Streaming 아키텍처제어 경로와 미디어 전송 경로를 분리해 QUIC 기반 스트리밍 동작을 보여줍니다.

01 · 세션 제어

클라이언트가 콘텐츠 목록을 조회하고 재생 세션을 협상

  1. 01Desktop Client탐색 · 재생 제어
  2. HTTP
  3. 02Control API카탈로그 · 세션
  4. query
  5. 03Media Catalog메타데이터 · 경로

02 · 미디어 전송

세션 정보를 기준으로 영상을 조각내 QUIC 스트림으로 전송

  1. 01Media Storage영상 원본
  2. read
  3. 02Segmenterchunk · buffer
  4. stream
  5. 03QUIC Transport다중 스트림 전송
  6. decode
  7. 04Qt Player순서 복원 · 재생
  • 사용자·클라이언트
  • 애플리케이션
  • 데이터
  • 비동기 처리
  • 배포
  • 관측
  • 보안·검증
  • 외부 시스템

Next Step

프로젝트에 대해 더 이야기해 보세요.

연락하기