본문으로 건너뛰기
yt-dlp

4K 영상 내려받기 — yt-dlp 명령어 생성기

챕터와 메타데이터를 그대로 유지하면서 2160p 영상을 받기 위한 yt-dlp 명령어를 만듭니다.

선택 사항입니다. 비워 두면 명령어가 URL 로 끝나므로 나중에 직접 채우면 됩니다.

만들어진 명령어

yt-dlp -f 'bv*[height<=2160]+ba/b[height<=2160]' --merge-output-format mkv --no-playlist --embed-metadata --embed-chapters -N 4 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
기본

오디오만 고르면 소리 트랙만 뽑고 영상은 버립니다.

영상과 화질

높이 상한을 정합니다. yt-dlp는 그 상한 이하에서 가장 좋은 트랙을 고릅니다.

분리된 영상과 오디오 트랙을 병합해 담을 파일 형식입니다.

고급 옵션 (3)

화질 선택을 대체합니다. format 문법을 이미 아는 분을 위한 항목입니다.

재인코딩 없이 다시 포장만 합니다. 빠르고 손실이 없습니다.

영상을 다시 인코딩합니다. 느리고 손실이 있습니다 —— remux로 안 될 때만 쓰세요.

오디오

오디오를 변환할 대상 형식입니다.

VBR은 용량 대비 품질이 가장 좋고, 고정 bitrate는 용량을 예상하기 쉽습니다.

자막

삽입은 자막을 영상 안에 넣고, 저장은 옆에 별도의 .srt 파일을 만듭니다.

쉼표로 구분합니다. 사용 가능한 모든 언어를 원하면 all 이라고 쓰세요.

재생목록과 채널

URL이 영상과 재생목록에 동시에 속할 때 어떻게 할지 정합니다.

범위와 목록 모두 됩니다. 예를 들어 1-10,15, 또는 끝에서부터 하나씩 건너뛰는 -5::2.

고급 옵션 (1)

이미 내려받은 항목을 적어 두어 다시 실행할 때 건너뜁니다. 채널을 계속 동기화하는 방법이 바로 이것입니다.

구간과 챕터
고급 옵션 (2)

*00:01:30-00:03:00 같은 시간 범위, 또는 챕터 이름입니다. 앞의 별표는 시각이라는 뜻입니다.

메타데이터와 표지
고급 옵션 (3)
SponsorBlock

SponsorBlock 데이터를 바탕으로 커뮤니티가 표시한 구간을 파일에서 잘라냅니다.

고급 옵션 (1)

구간은 남기고 표시만 해서 직접 건너뛸 수 있게 합니다.

파일과 폴더

필드 이름은 %(...)s 안에 씁니다. 슬래시는 폴더를 만듭니다.

고급 옵션 (4)

파일을 저장할 위치입니다. 위 템플릿과 조합하면 하위 폴더도 만들 수 있습니다.

파일 이름의 최대 길이(문자 수)입니다.

필터
고급 옵션 (5)

YYYYMMDD, 또는 now-1month 같은 상대 날짜.

YYYYMMDD, 또는 상대 날짜.

이보다 작은 것은 건너뜁니다. 5M, 500K 같은 표기를 씁니다.

이보다 큰 것은 건너뜁니다.

멈추기 전까지 내려받을 파일 수입니다.

네트워크

예를 들어 2M 또는 500K. 남은 대역폭을 다른 일에 써야 할 때 유용합니다.

고급 옵션 (5)

조각으로 나뉜 트랙을 빠르게 합니다. 4 정도로 시작하면 무리가 없습니다.

실패한 조각을 몇 번 다시 시도할지. infinite 도 쓸 수 있습니다.

HTTP, HTTPS 또는 SOCKS proxy 주소입니다.

요청이 실제 브라우저에서 온 것처럼 보이게 합니다. 갑자기 403이 날 때 흔히 쓰는 해법입니다.

로그인과 cookies

로그인된 세션을 직접 읽습니다. 비공개, 연령 제한, 멤버 전용 콘텐츠에는 필요합니다.

고급 옵션 (1)

브라우저에서 내보낸 Netscape 형식 cookies.txt 파일입니다.

라이브 방송
고급 옵션 (2)

예정된 방송이 시작될 때까지 계속 확인합니다. MIN-MAX는 확인 간격(초)입니다.

우회 방법
고급 옵션 (3)

구식이며 --add-headers 로 대체되었습니다. 오래된 안내 글이 아직 많이 쓰기 때문에 남겨 두었습니다.

구식이며 --add-headers 로 대체되었습니다.

사이트별 전용 옵션입니다. 예를 들어 youtube:player_client=web.

출력과 디버그
고급 옵션 (2)
초기화

4K가 실제로 요구하는 것

2160p에서는 영상과 오디오가 항상 별도 트랙이므로 병합을 위해 ffmpeg가 반드시 필요합니다. MKV가 더 안전한 container입니다: MP4는 4K로 제공되는 일부 코덱을 담지 못하고, 억지로 쓰면 yt-dlp가 재인코딩하게 됩니다 —— 느리고, 품질이 떨어지며, HDR 메타데이터는 대개 이렇게 사라집니다.

4K가 나오지 않으면 애초에 그 해상도로 업로드된 적이 없을 가능성이 큽니다. 명령어가 틀렸다고 단정하기 전에 형식 목록을 보세요. 시간당 수 GB를 예상하고, 그게 문제라면 용량 상한이나 시간 범위를 쓰세요.

container 선택이 곧 HDR 결정입니다. 4K HDR은 VP9.2나 AV1 —— MP4가 늘 담을 수 없는 코덱 —— 으로 도착하고, MP4를 억지로 쓰면 yt-dlp가 트랜스코딩합니다: 몇 시간의 작업, 눈에 보이는 품질 저하, 그리고 HDR 메타데이터는 사라집니다. MKV는 모든 것을 그대로 담습니다. 이 프리셋이 기본을 MKV로 두는 것은 정확히 그 이유입니다. SDR 플레이어는 HDR 파일을 색이 바랜 듯 재생합니다 —— 그것은 파일이 아니라 플레이어 탓이고, HDR을 SDR로 제대로 변환하는 것은 플래그가 아니라 필터의 일입니다.

대역폭이 4K가 이론이 아닌 곳입니다: 2160p는 그럭저럭 괜찮은 비트레이트로 시간당 40–90 GB를 달리고, 동시 fragment는 회선이 허용하는 한 빨리 내려받습니다 —— 그것이 바로 플랫폼 스로틀링을 불러오는 것입니다. 실행이 기어가듯 느려지면 fragment 수를 절반으로 줄이고 더 오래 돌리세요. 4K 파일은 충분히 커서 느리게 끝내는 편이 재시작보다 아직 낫습니다. 용량 제한 옵션은 디스크가 멈추기 전에 폭주하는 실행을 멈추기 위해 있습니다.

챕터와 메타데이터는 4K 보관이 값어치를 보이는 곳입니다: 챕터 없는 2시간 영화는 한 파일이지만, 있으면 넘나들 수 있습니다. SponsorBlock도 여기서 연결됩니다 —— 스폰서 구간은 4K 콘텐츠에도 다른 것과 똑같이 표시됩니다. 영화 한 편 길이의 파일에서 그것을 건너뛰는 것은, 그보다 짧은 어느 것보다 더 많은 시간을 아낍니다. 썸네일을 커버 아트로 붙이세요. 그렇지 않으면 미디어 라이브러리가 모든 4K 파일을 빈 타일로 보여 줍니다.

4K가 못 하는 것이 하나 있습니다. 업스케일입니다. 위로 제한이 걸린 1080p 소스는 1080p 그대로입니다 —— 제한은 최댓값이고, yt-dlp는 그 값 이하의 가장 좋은 스트림을 불평 없이 고릅니다. -F 가 1080p보다 위를 아무것도 보여 주지 않는다면, 그것이 업로더가 플랫폼에 준 것의 전부입니다. YouTube의 진짜 4K 소스는 대개 VP9나 AV1이고, 오래된 GPU는 소프트웨어로 디코딩합니다 —— 느린 플레이어는 흔히 파일이 아니라 코덱의 문제이고, MKV는 원본 코덱에 손대지 않습니다.

자주 묻는 질문

이 영상에 4K가 없는 이유는?
4K로 업로드되지 않았거나 플랫폼이 그 판본을 제한합니다. 명령어가 틀렸다고 단정하기 전에 -F 로 무엇이 있는지 확인하세요.
4K에는 어떤 container를 써야 하나요?
MKV는 어떤 코덱 조합도 담습니다. MP4는 호환성이 더 좋지만 일부 4K 코덱을 담지 못하고, 그 경우 yt-dlp가 재인코딩해야 합니다 —— 느리고 품질도 떨어집니다.
4K 내려받기는 용량이 얼마나 되나요?
시간당 수 GB인 경우가 많습니다. 그게 중요하면 용량 상한이나 시간 범위를 쓰세요.
HDR도 유지되나요?
원본에 있으면 유지됩니다. 원본 코덱을 그대로 두세요 —— 재인코딩이 HDR 메타데이터를 망치는 대표적인 원인입니다.