피드로 돌아가기
Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg
Dev.toDev.to
Backend

Async I/O 및 FFmpeg Stream Copy를 통한 HLS 기반 고성능 비디오 추출 엔진 설계

Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg

yqqwe2026년 4월 16일5intermediate

Context

정적 MP4 방식에서 HLS(HTTP Live Streaming) 구조로 진화한 LinkedIn의 미디어 전달 체계 분석. 다수의 세그먼트 파일(.ts)과 복잡한 Guest Token 인증 체계로 인한 추출 효율성 및 품질 저하 문제 해결 필요.

Technical Solution

  • m3u8 마스터 플레이리스트의 재귀적 파싱을 통한 Highest Bitrate 트랙 자동 식별 및 원본 품질 확보
  • Bearer Token과 Guest Token(activate.json)을 조합한 세션 풀 관리 및 브라우저 핑거프린팅 에뮬레이션을 통한 401 Unauthorized 회피
  • Python Asyncio 및 Httpx 기반의 Non-blocking I/O 스택 채택으로 수천 개의 동시 추출 태스크 처리 최적화
  • FFmpeg의 -c copy 플래그를 활용한 Stream Copying 방식으로 재인코딩 없는 무손실 Muxing 및 CPU 부하 최소화
  • Vanilla JS 기반의 Zero-Bloat 프론트엔드 설계로 First Contentful Paint(FCP) 1초 미만 달성

1. 미디어 처리 시 CPU 부하를 줄이기 위해 Transcoding 대신 Stream Copying 적용 검토

2. 대규모 네트워크 요청 발생 시 Blocking I/O 대신 Asyncio 기반 스택 도입 고려

3. 인증 토큰 만료 대응을 위한 자동 재생성(Self-regenerating) 세션 풀 설계 적용

원문 읽기