피드로 돌아가기
Desconstruindo o Streaming do X (Twitter): Construindo um Mecanismo de Extração de Vídeo de Alta Performance com HLS e FFmpeg
Dev.toDev.to
Backend

HLS 리버스 엔지니어링과 Async I/O 기반 고성능 비디오 추출 시스템 설계

Desconstruindo o Streaming do X (Twitter): Construindo um Mecanismo de Extração de Vídeo de Alta Performance com HLS e FFmpeg

yqqwe2026년 4월 23일5intermediate

Context

정적 MP4에서 HLS(HTTP Live Streaming)로 전환된 X의 미디어 전송 구조로 인한 단순 추출의 한계 발생. 분산된 .m3u8 인덱스와 수많은 .ts 세그먼트 구조 및 다층 인증 체계로 인한 데이터 획득 난이도 증가.

Technical Solution

  • Recursive Parsing 로직을 통한 m3u8 트리 분석 및 Highest Bitrate 트랙 자동 식별 구조 설계
  • Bearer Token과 Guest Token의 조합 및 auto-regenerative 세션 풀 구현을 통한 401/403 인증 오류 해결
  • Python Asyncio 및 Httpx 도입으로 I/O-bound 작업의 병목을 제거하여 단일 프로세스 내 수천 개의 동시 추출 태스크 처리
  • FFmpeg의 -c copy 플래그를 활용한 Stream Copying 방식으로 재인코딩 없는 Lossless Muxing 구현
  • Vanilla JS 기반의 Utility-First 프론트엔드 설계를 통한 FCP 1초 미만 달성 및 오버헤드 최소화

- HLS 스트림 처리 시 재인코딩 대신 Container Muxing(Stream Copy) 검토 - I/O-bound 작업이 많은 크롤러/추출기 설계 시 Async I/O 스택 채택 - 외부 API 연동 시 토큰 만료 및 Rate-limit 대응을 위한 자동 갱신 세션 풀 설계

원문 읽기