피드로 돌아가기
Dev.toInfrastructure
원문 읽기
RAM 25MB의 초경량 설계와 Auto-detected GPU Transcoding 구현
ShareBox v5 — GPU transcoding, Netflix-style grid, and why I don't need Plex anymore
AI 요약
Context
기존 미디어 서버의 과도한 Library Scan 프로세스와 데이터베이스 의존성으로 인한 높은 리소스 점유 문제 발생. 사용자 계정 생성 및 복잡한 메타데이터 설정 과정이 단순 파일 공유 목적의 사용자에게 불필요한 오버헤드로 작용함.
Technical Solution
- Filesystem을 직접 Library로 활용하여 별도의 Indexing 과정 및 DB 서버 의존성을 완전히 제거한 구조 설계
- Intel VAAPI, NVIDIA NVENC, RPi V4L2M2M을 자동 감지하여 최적의 Encoder를 할당하는 Zero-config GPU Transcoding 로직 구현
- Driver 부재나 포맷 미지원 시 Software Transcoding으로 즉시 전환하는 Transparent Fallback 메커니즘 적용
- 서버 측 상태 저장 대신 Client-side localStorage를 활용하여 계정 없이 구현한 Continue Watching 기능
- PHP 8과 SQLite 기반의 Zero-dependency 아키텍처를 통한 런타임 메모리 사용량 최소화
- Playwright 기반 E2E 테스트와 PHPUnit 유닛 테스트를 CI 파이프라인에 통합하여 배포 안정성 확보
실천 포인트
- 인덱싱 비용이 높은 대규모 데이터셋 처리 시 Filesystem 직접 참조 가능 여부 검토 - 하드웨어 가속 도입 시 가용 자원 자동 감지 로직 및 소프트웨어 폴백(Fallback) 전략 수립 - 단순 상태 유지 기능의 경우 서버 DB 대신 Client-side Storage 활용을 통한 서버 부하 경감 고려