1) 아이디와 패스워드로 지식기반 인증(ID,PW)
- 보안강화: 강력한 패스워드 정책을 적용하고, 정기적인 패스워드 변경을 권장.
- 다중 인증: 추가 보안을 위해 2단계 인증(2FA)을 도입할 수 있으며, 이는 SMS,이메일, 또는 인증 앱을 통해 실행될 수 있습니다.
2) 중복 접속 이슈
- 서비스 정책에 따라 한 아이디로 여러 기기 접속을 허용할지 결정 -> 사용자 경험과 서버 부하 관리에 영향
- 사용자가 등록한 기기를 제한하고, IP 주소 및 기기 정보를 통해 접속을 관리.-> 필요한 경우 기기 변경 빈도 제한도.
1) API설계
2) 캐싱 전략
1) DRM(디지털 저작권 보호체계)
플랫폼 선택
Widevine (Google), FairPlay (Apple), PlayReady (Microsoft) 등 다양한 DRM 시스템 중에서 선택
플레이어 통합
Video.js와 같은 플레이어를 사용하여 DRM 보호된 콘텐츠 재생을 지원합니다. 이는 별도의 프로그램 설치 없이 웹 브라우저에서 직접 실행됩니다.
스트리밍 프로토콜
HLS (HTTP Live Streaming)은 가장 널리 사용되는 스트리밍 프로토콜 중 하나로, 다양한 네트워크 조건에서 효율적인 콘텐츠 전송을 지원합니다.
HLS(HTTP Live Streaming)
애플에 의해 개발된 비디오 스트리밍 프로토콜. 실시간 및 온디맨드 콘텐츠를 전송하기 위해 설계. 이 프로토콜은 동영상을 여러 개의 작은 파일(세그먼트)로 분할하고, 세그먼트로 분할된 파일들을 순차적으로 전송합니다.
높은 호환성과 적응형 스트리밍 기능을 제공하여, 다양한 네트워크 환경과 장치에서 최적의 사용자 경험을 제공하는 것을 목표.
1️⃣ 비디오 인코딩
﹕원본 비디오는 서버에서 여러가지 해상도와 비트레이트로 인코딩되어, 다양한 네트워크 조건과 장치에 대응할 수 있는 여러 버전의 세그먼트로 준비.
2️⃣ M3U8 플레이리스트 파일
﹕각 비디오 버전에 대한 정보(해상도,비트레이트)와 세그먼트 파일의 위치가 담긴 플레이리스트 파일을 생성합니다. 클라이언트는 이 파일을 해석하여 현재 네트워크 상태에 가장 적합한 비디오 스트림을 선택.
3️⃣ 동적 전송
﹕클라이언트는 재생 중 네트워크 상태의 변화를 감지하고, 상태에 맞는 다른 해상도의 세그먼트를 요청하여 재생함으로써, 버퍼링을 최소화하고 영상 품질을 최적화.
서버 측
﹕원본 비디오를 여러 해상도와 비트레이트로 인코딩하고, 이를 세그먼트로 분할합니다. 각 비디오 스트림에 대한 정보를 담은 M3U8 플레이리스트 파일을 생성하고, 이 파일과 세그먼트를 웹 서버를 통해 제공합니다.
클라이언트 측
﹕M3U8 플레이리스트 파일을 해석하고, 사용자의 네트워크 조건에 가장 적합한 비디오 스트림을 선택하여 세그먼트를 순차적으로 다운로드 및 재생합니다.
부하 분산
로드 밸런서를 사용하여 요청을 여러 서버에 분산시킵니다. 이는 서버의 과부하를 방지하고 서비스의 가용성을 높입니다.
캐싱과 CDN
정적 파일과 자주 요청되는 콘텐츠는 CDN을 통해 전 세계에 분산된 서버에서 캐싱되어 제공됩니다. 이는 지연 시간을 줄이고 스트리밍 경험을 개선합니다.