여기서 YouTube 다운로드가 360p 근처에서 멈추는 이유
YouTube는 화질과 소리가 한 파일에 담긴 완전한 MP4를 낮은 해상도에서만 제공합니다. 그 위는 모두 병합해야 하는 별도 스트림으로 저장되며, 이 도구는 병합하지 않습니다.
YouTube 페이지에서 가장 흔한 놀라움이므로 먼저 말할 가치가 있습니다. 상한은 보통 360p, 때로는 240p이며, 올릴 수 있는 설정이 아닙니다. 다운로더는 YouTube가 파일 하나로 공개하는 프로그레시브 MP4를 제공합니다. YouTube 쪽에는 1080p 화질이 존재하지만, 단일 파일로는 아닙니다.
먹스와 어댑티브는 다른 것입니다
YouTube는 각 동영상을 두 가지 형태로 보관합니다. 먹스 형식은 화질과 소리를 하나의 MP4에 함께 담습니다. 어디서든 저장하고 재생할 수 있는 파일입니다. 어댑티브 형식은 이를 나눕니다. 영상 전용 스트림과 별도의 오디오 전용 스트림으로, 각각 YouTube가 그 해상도에 대해 고른 비트레이트로 인코딩됩니다.
브라우저에서 1080p를 재생하는 것은 쉽습니다. 플레이어가 두 스트림을 받아 실시간으로 합치기 때문입니다. 1080p를 파일 하나로 저장하는 것은 다른 작업입니다. 무언가가 트랙을 병합해야 합니다. 이 다운로더는 먹서를 갖고 있지 않아 먹스 형식만 나열하며, 점점 더 YouTube는 그런 형식을 360p 이하로만 제공합니다. 예전에 있던 720p 먹스 형식은 이제 익명 클라이언트에게 주어지지 않습니다.
리졸버가 하는 일
- Android 클라이언트부터 임베드 웹 플레이어까지, 공식 클라이언트 신원의 사다리로 YouTube 플레이어 엔드포인트를 호출합니다.
- 먹스된 MP4 항목만 남기고 형식 ID 기준으로 중복을 제거합니다.
- 각 행에 YouTube 자체 화질 레이블을 붙이고, 없으면 프레임 높이로 대체합니다.
- 플레이어가 거부해도 oEmbed 확인을 통해 동영상이 존재하는지는 알 수 있어, 삭제된 동영상을 차단된 것으로 오해하지 않습니다.
클라이언트 사다리 덕분에 한 번 실패한 동영상이 다음에는 성공할 수 있습니다. 클라이언트마다 제공받는 형식이 다르고, YouTube는 시간이 지나며 어떤 형식이 제공되는지 바꾸기 때문입니다.
링크가 새 탭에서 열리는 이유
동영상 바이트는 googlevideo.com에서 오며, 이곳은 CORS 헤더를 보내지 않습니다. 페이지가 이를 읽을 수 없어 다운로드 버튼이 대신 링크로 이동하고, 브라우저가 Google CDN에서 파일을 직접 저장합니다. 이 이동이 제대로 작동하게 만드는 세부 사항이 하나 있습니다. 리졸버가 URL에 제목 매개변수를 덧붙여, Google 서버가 content-disposition: attachment로 응답하게 함으로써 파일이 탭에서 재생되지 않고 저장되게 합니다.
아무것도 캐시되지 않는 이유
다른 플랫폼의 결과는 몇 분 이상 캐시됩니다. YouTube의 것은 의도적으로 절대 캐시되지 않습니다. googlevideo.com 링크는 이를 요청한 주소에 묶여 있고 빠르게 만료되기 때문입니다. 캐시된 링크는 다운로드 버튼처럼 보이다가 죽은 링크처럼 실패할 테니, 리졸버는 매번 YouTube에 새로 요청합니다.
지원하지 않는 것
| 경우 | 결과 |
|---|---|
| 공개 동영상 | 확인됨. YouTube가 제공하는 먹스된 MP4 형식. |
| 비공개, 멤버십 전용, 연령 제한 | private — 리졸버는 로그인하지 않습니다. |
| 삭제되거나 제거된 동영상 | not_found. |
| 진행 중인 라이브 방송 | 방송이 진행되는 동안에는 먹스된 파일이 없습니다. |
| Shorts | 다른 동영상과 똑같이 작동하며, 해상도 상한도 같습니다. |
요약
- 먹스된 MP4만 제공되며, 보통 360p입니다.
- 더 높은 해상도는 별도의 영상·오디오 스트림을 병합해야 하며, 이 도구는 병합하지 않습니다.
- 재인코딩도, 워터마크도, 보관도 없습니다.
- 링크는 여러분의 주소에 묶여 만료되므로 절대 캐시되지 않습니다.
- 공개 동영상만 — 비공개 및 연령 제한 동영상은 차단된 채로 남습니다.
질문
이 도구로 YouTube에서 1080p를 다운로드할 수 있나요?
아니요. YouTube는 1080p를 영상 전용과 오디오 전용 스트림으로 나눠 보관하며, 이 도구는 이를 병합하지 않습니다. YouTube가 단일 파일로 공개하는 먹스된 MP4를 제공하며, 그것은 보통 360p입니다.
동영상이 왜 페이지 안에서 다운로드되지 않고 새 탭에서 열리나요?
`googlevideo.com`이 CORS 헤더를 보내지 않아 페이지가 바이트를 읽을 수 없기 때문입니다. 링크에 제목 매개변수가 있어 Google이 `content-disposition: attachment`로 응답하므로, 브라우저가 재생하지 않고 파일을 저장합니다.
같은 링크가 왜 때때로 다른 화질을 나열하나요?
리졸버가 여러 공식 클라이언트 신원을 통해 YouTube에 요청하며, 이들은 같은 형식을 제공받지 않습니다. 잠시 후 링크를 다시 가져오면 목록이 달라질 수 있습니다.