본문으로 건너뛰기
yt-dlp

Facebook용 yt-dlp 명령어 생성기

Facebook 영상용 yt-dlp 명령어를 만듭니다. 대부분의 영상에 필요한 cookies 옵션도 함께 넣습니다.

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

만들어진 명령어

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --no-playlist --cookies-from-browser chrome 'https://www.facebook.com/watch/?v=1234567890'
기본

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

영상과 화질

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

Facebook에서 주의할 점

Facebook의 상당 부분은 로그인 없이는 접근할 수 없고, 더 높은 화질은 로그인된 세션에만 제공되는 일이 흔합니다. cookies를 넘겨주면 이 두 가지가 한 번에 해결됩니다.

브라우저에서 본 것보다 화질이 낮아 보이면 먼저 형식 목록을 확인하세요. 여러분의 세션에 제공되는 화질 단계는 웹 플레이어가 쓰는 것보다 짧은 경우가 많습니다.

Facebook의 URL은 yt-dlp가 다루는 어느 플랫폼보다 모양이 많습니다. /watch/?v=…, /reel/…, 그룹 게시물, 페이지 영상, fb.watch 짧은 링크. 전부 같은 extractor에 착지하지만, 페이지에 싸인 것들은 먼저 영상을 풀어야 할 때가 있습니다. 믿을 만한 형태는 퍼머링크입니다 —— 게시물의 타임스탬프를 오른쪽 클릭해 그 주소를 복사하세요. 그것은 우연히 영상을 담은 피드가 아니라, 미디어 페이지를 곧바로 가리킵니다.

같은 영상이 페이지, 그룹, 프로필에 세 개의 별개 항목으로 존재할 수 있고, 화질 단계는 그 사이에서 다릅니다. 페이지 업로드는 보통 가장 높은 버전을 가지고, 재공유는 가장 낮습니다. 그룹 영상에는 그 그룹의 회원인 계정의 cookies가 필요합니다. 게시물이 보이지 않는 세션은 내려받기도 못하고, 그것을 바꾸는 옵션은 없습니다. Marketplace 목록은 전혀 다른 시스템으로, yt-dlp는 전혀 지원하지 않습니다.

라이브 리플레이는 방송이 끝나면 보통 영상처럼 행동하므로, 평범한 옵션으로 내려받습니다 —— 주의는 하나뿐입니다: 리플레이는 라이브 방송이 아니므로 처음부터 녹화는 적용되지 않고, 파일의 앞부분은 Facebook이 남겨 둔 것입니다. 리플레이가 행사 중간부터 시작한다면, 그 이전 부분은 영상으로 보관된 적이 없고, 플랫폼이 한번도 저장하지 않은 미디어에 닿는 설정은 존재하지 않습니다.

정말로 되지 않는 것이 두 가지 있고, 누군가에게 하룻밤을 낭비하게 두는 것보다 말해 두는 편이 쌉니다. Marketplace 목록과, 이미 만료된 스토리입니다. 그 밖의 실패는 대개 형식이 아니라 접근에서 일어납니다 —— 그래서 먼저 확인할 것이 cookies이고, 그다음이 -F 입니다. 형식은 나오는데 어느 단계도 낮다면, 그것이 당신 세션에 제공되는 단계입니다. 다른 계정에서 더 많이 보일 때도 있지만, 플랫폼이 내주지 않은 더 높은 버전을 플래그가 지어내지는 않습니다.

자주 묻는 질문

yt-dlp가 비공개 Facebook 영상을 받을 수 있나요?
여러분 계정이 이미 볼 수 있는 것만, --cookies-from-browser 로 가능합니다. 없는 권한을 우회할 방법은 없습니다.
cookies 없이 Facebook이 오류를 냅니다.
Facebook의 상당 부분은 로그인 없이는 이용할 수 없습니다. 브라우저를 닫은 상태로 --cookies-from-browser chrome 으로 세션을 넘기세요.
브라우저에서 본 것보다 화질이 낮은 이유는?
Facebook은 높은 화질을 일부 세션에만 제공합니다. 그 주소에서 무엇이 되는지 -F 로 보고, 목록이 짧으면 cookies를 넘기세요.