본문으로 건너뛰기
yt-dlp

Reddit용 yt-dlp 명령어 생성기

Reddit 영상용 yt-dlp 명령어를 만듭니다 —— 소리가 나게 하는 병합 단계까지 포함해서요.

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

만들어진 명령어

yt-dlp --merge-output-format mp4 --no-playlist --embed-metadata https://www.reddit.com/r/videos/comments/xxxxxx/
기본

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

영상과 화질

높이 상한을 정합니다. 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)
초기화

Reddit 영상에 소리가 없는 이유

Reddit은 영상과 오디오를 별도 파일로 저장합니다. ffmpeg가 없으면 yt-dlp는 영상 트랙만 내려받고 오디오를 합쳐 줄 것이 없습니다 —— 파일은 재생되지만 무음이고, 이유를 설명하는 오류도 나오지 않습니다.

ffmpeg를 설치하면 나머지는 여기 프리셋이 처리합니다. 갤러리 게시물은 재생목록으로 취급되므로 재생목록 전체 모드로 모든 항목을 받을 수 있습니다.

v.redd.it 호스트에서 문제의 대부분이 시작됩니다. v.redd.it 주소를 곧바로 넣으면 깔끔히 내려받히지만, 서브레딧 피드나 old.reddit.com 페이지에서 찾은 같은 영상은 Reddit 페이지 URL에 감싸진 채 도착하고, 낡은 yt-dlp는 그 포장을 벗기지 못할 때가 있습니다. 다른 설정에 손대기 전에 먼저 갱신부터 —— yt-dlp -U —— Reddit의 extractor는 특히 여러 번 다시 만들어졌고, 석 달 전 바이너리는 지금 사이트의 모습보다 오래되었습니다.

갤러리가 나머지 절반입니다. Reddit은 영상을 안에 품은 이미지 갤러리를 묶어 주고, yt-dlp는 그것을 별개 항목의 재생목록으로 보여 줍니다 —— 이미지는 하나씩, 영상은 자기 항목으로. 영상만 원했다면 재생목록을 끄세요. yt-dlp가 영상만 가져갑니다. 전부 원한다면 재생목록 전체 모드를 유지하고 기록 파일을 더하세요. 그러면 다시 실행할 때 첫 실행에서 실패한 항목만 주워 갑니다.

격리된 서브레딧과 NSFW 서브레딧에는 cookies가 필요합니다 —— 어디서나 그렇듯 브라우저 cookies 옵션이요 —— 로그인하지 않은 요청에는 Reddit이 미디어 URL을 주지 않기 때문입니다. 삭제된 게시물은 어떤 옵션도 닿을 수 없는 유일한 것입니다. 게시물이 지워지면 미디어 CDN 항목도 함께 사라지고, 한때 있던 미러는 오래전에 없어졌습니다. 아직 동작하는 것은 페이지 자체의 Wayback Machine이지만, 그것은 yt-dlp가 가져오는 범위 밖입니다.

Reddit은 자기가 올려 둔 모든 것을 다시 인코딩하고, 천장도 낮습니다. v.redd.it은 720p에서 끝나므로 1080p 높이 제한은 720p보다 위를 찾지 못하고 720p 파일을 그대로 돌려줍니다 —— 플랫폼의 한계이지 내려받기 실패가 아닙니다. 소리만 따로 저장하는 방법도 알아 둘 만합니다. Reddit 영상에 -x 를 붙이면 어디서나 그렇듯 사운드트랙을 뽑아 내는데, 영상이 필요 없는 게시물에서 소리만 남기는 가장 빠른 길입니다.

자주 묻는 질문

Reddit 영상에 소리가 없는 이유는?
Reddit은 영상과 오디오를 따로 저장하므로 병합해야 하고, 그러려면 ffmpeg가 필요합니다. 무음 파일은 거의 언제나 ffmpeg가 없다는 뜻입니다.
NSFW 게시물도 되나요?
18세 이상 설정을 켠 로그인 세션이 필요합니다. --cookies-from-browser 로 넘기세요.
갤러리 게시물 전체를 받을 수 있나요?
재생목록 처리를 재생목록 전체로 두세요. yt-dlp는 갤러리를 재생목록으로 취급합니다.