diff --git a/package.json b/package.json index 1bda7ce..2127731 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "minecraft-music-quiz-installer", - "version": "0.4.11", + "version": "0.4.12", "description": "마인크래프트 음악퀴즈 간편설치기 + 관리 사이트", "main": "dist/installer/main.js", "scripts": { diff --git a/src/installer-rp/music.ts b/src/installer-rp/music.ts index 0912553..e52c8a6 100644 --- a/src/installer-rp/music.ts +++ b/src/installer-rp/music.ts @@ -38,6 +38,14 @@ export function downloadMusicTrack(opts: DownloadMusicOptions): Promise // 단일 파일이 아니라 HLS/DASH fragmented 스트림일 때 청크를 병렬로. // 일반 progressive 다운로드에는 영향 없음. '--concurrent-fragments', '5', + // 유튜브가 미디어 스트림에 간헐적으로 403(Forbidden) 을 준다(특히 두 번째 곡부터 + // throttle/클라이언트 이슈). yt-dlp 가 스스로 재시도·재추출하도록 해서 한 번의 + // 403 으로 곡 전체가 실패하지 않게 한다. + '--retries', '10', + '--fragment-retries', '10', + '--extractor-retries', '3', + '--retry-sleep', 'http:exp=1:30', + '--socket-timeout', '30', // 진행률 표시 안정화 (yt-dlp 가 \r 대신 새 줄로 출력). '--newline', '--extract-audio',