피드로 돌아가기
تشريح بنية بث الفيديو في نيويورك تايمز: بناء محرك استخراج عالي الأداء باستخدام HLS و FFmpeg
Dev.toDev.to
Backend

HLS 분석 및 Async I/O 기반의 무손실 고성능 비디오 추출 엔진 설계

تشريح بنية بث الفيديو في نيويورك تايمز: بناء محرك استخراج عالي الأداء باستخدام HLS و FFmpeg

yqqwe2026년 4월 21일4advanced

Context

기존의 정적 MP4 방식과 달리 NYTimes는 네트워크 환경에 따라 화질을 조정하는 HLS 기반 적응형 스트리밍 구조를 채택함. 복잡한 m3u8 인덱스 구조와 동적 인증 토큰 및 DRM 적용으로 인해 일반적인 방식의 리소스 추출에 한계가 발생함.

Technical Solution

  • Recursive Parsing 로직 구현을 통한 m3u8 계층 구조 분석 및 최상위 Bitrate 경로 자동 식별
  • Self-healing Session Pool 구축을 통한 인증 토큰 만료 및 Rate Limiting 상황의 자동 복구 체계 마련
  • Browser Fingerprinting 모사 기술 적용으로 봇 탐지 시스템 우회 및 세션 유지 가능성 확보
  • Python Asyncio 및 Httpx 조합의 비동기 I/O 모델 채택으로 대규모 동시 추출 요청 처리 효율 극대화
  • FFmpeg의 Stream Copying(-c copy) 옵션을 활용한 트랜스코딩 없는 컨테이너 변환으로 CPU 부하 최소화 및 원본 화질 유지
  • Vanilla JS 기반 프론트엔드 설계로 FCP 1초 미만 달성 및 PWA 적용을 통한 앱 수준의 사용자 경험 제공

- I/O Bound 작업 시 Blocking 모델 대신 Asyncio 기반 비동기 아키텍처 검토 - 미디어 처리 시 재인코딩 대신 Stream Copying을 통한 무손실 Muxing 우선 고려 - 외부 API 연동 시 세션 만료에 대응하는 Self-healing 메커니즘 설계 - 고해상도 스트리밍 리소스 추출 시 m3u8 Master Playlist의 Bitrate 계층 구조 분석 필수

원문 읽기