피드로 돌아가기
Why Your Reddit Video Downloads Have No Sound (And How to Fix It)
Dev.toDev.to
Backend

MPEG-DASH 분리 스트림 병합을 통한 Reddit 영상 오디오 복원 설계

Why Your Reddit Video Downloads Have No Sound (And How to Fix It)

Hitesh Meghwal2026년 5월 3일3intermediate

Context

Reddit은 대역폭 기반 적응형 스트리밍을 위해 MPEG-DASH 방식을 채택하여 비디오와 오디오 파일을 분리 저장하는 구조를 운용함. 일반적인 다운로더는 단일 Muxed 파일 구조를 가정하여 비디오 스트림만 수집함에 따라 오디오가 누락된 MP4 파일이 생성되는 한계가 발생함.

Technical Solution

  • MPEG-DASH 표준에 따른 Video-only 및 Audio-only 개별 스트림 URL 식별 및 추출
  • FFmpeg의 Stream Copy 기능을 통한 비디오 재인코딩 생략으로 원본 화질 유지 및 처리 속도 최적화
  • AAC 코덱 적용을 통한 오디오 스트림의 범용 호환성 확보 및 표준 MP4 컨테이너 래핑
  • yt-dlp의 bestvideo+bestaudio 선택자를 활용한 다중 스트림 병렬 다운로드 및 자동 머징 로직 구현
  • 오디오 파일 부재 시 best 포맷으로의 Fallback 처리를 통한 예외 상황 대응 설계
  • Post Metadata 기반의 v.redd.it URL 추출을 통한 Cross-post 경로 문제 해결

- 적응형 스트리밍(DASH, HLS) 환경의 콘텐츠 수집 시 스트림 분리 여부 우선 확인 - 미디어 처리 시 재인코딩(Re-encoding) 대신 스트림 복사(Stream Copy)를 우선 검토하여 CPU 부하 및 시간 절감 - 외부 API 기반 리소스 추출 시 URL 직접 생성보다 메타데이터 기반의 실제 리소스 경로 추적 방식 채택

원문 읽기