yt-dlp로 유튜브 영상 다운로드하는 방법

    기존에는 youtube-dl을 사용해 유튜브 영상을 다운로드 하였습니다. youtube-dl이 디지털 밀레니엄 저작권법(DMCA)으로 인해 github에서 내려간 이후, 업데이트가 이루어지지 않고 있어 제대로 작동하지 않는 경우가 많았습니다. 그래서 youtube-dl의 수많은 포크버전(다른 사람이 원본 youtube-dl을 수정한 버전)이 공개되었는데요, 저는 제 경험상 yt-dlp가 가장 잘 작동하고 업데이트가 자주 있는것 같아 yt-dlp를 활용하여 유튜브 영상을 다운로드 하는 방법에 대해 소개해 드리겠습니다.

    Linux에서 사용하는 경우 yt-dlp설치(Linux) 로 이동하세요.

    yt-dlp설치(Windows)

    github에서 yt-dlp/yt-dlp releases로 이동합니다.

    yt-dlp releases versions

    운영체제에 맞는 버전의 yt-dlp 바이너리 파일을 받아줍니다. Downloads 폴더에서 사용할 수도 있지만, 관리하기 편하게 하도록 하기 위해 별도 폴더를 만들어 이동하겠습니다.

    c:\yt-dlp\yt-dlp.exe 파일

    필자의 경우 다운로드 폴더에 위치한 yt-dlp.exe파일을 C드라이브에 yt-dlp 폴더를 만들어 이동시켜 주었습니다.

    계정의 환경 변수 편집 검색결과
    환경변수 편집 화면, Path 항목이 선택됨.

    윈도우 검색 창에서 path를 검색해 ‘계정의 환경 변수 편집’을 열어준 후 사용자 변수 목록에서 ‘Path’를 편집합니다.

    Path에 C:\yt-dlp를 추가하는 장면

    ‘새로 만들기’를 클릭하고 아까 생성한 C:\yt-dlp 경로를 입력하고 확인을 클릭해 모든 창을 닫아주세요.

    ffmpeg 설치(선택)

    대부분의 고품질의 비디오와 오디오는 합쳐진 상태로 받을 수 없으므로, 비디오와 오디오 따로 받아 합치는 과정이 필요합니다. 비디오 또는 오디오로 단일 파일만 다운로드 받을 것이라면 ffmpeg를 사용하지 않으셔도 되지만, 오디오 파일과 비디오 파일을 따로 받아서 합치기 위해서는 ffmpeg가 필요합니다.

    winget install ffmpeg

    해당 winget 명령을 Powershell에 입력하여 다운로드 받거나, ffmpeg 공식 홈페이지에서 다운로드 받을 수 있습니다. winget 명령어가 제대로 작동하지 않을 경우 Microsoft Store에서 앱 설치 관리자를 설치해주세요.

    새 Windows사용자 계정을 생성하고 첫 로그온한지 얼마 되지 않았다면 아직 Microsoft Store가 Windows 패키지 관리자를 비동기 프로세스로 등록하지 않아 작동하지 않을 수도 있습니다. 최근에 계정의 처음 로그온이 최근일 경우 Powershell에 이 명령을 사용해 Windows 패키지 관리자를 등록 요청할 수 있습니다.

    Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
    ffmpeg.org에서 받은 Windows용 바이너리

    ffmpeg 공식 홈페이지에서 ffmpeg를 받았다면, 압축 파일/bin/ 폴더 내부에 있는 ffmpeg.exe, ffplay.exe, ffprobe.exeyt-dlp.exe를 설치한 폴더와 같은 폴더에 위치하게끔 이동하거나 환경변수가 설정되어 있는 폴더로 이동시켜주어야 합니다.

    유튜브 영상 다운받기

    yt-dlp는 터미널의 위치에 영상을 다운로드하므로, 파일 탐색기에서 영상을 다운로드 받을 경로로 이동한 후 쉬프트를 누른 채로 우클릭하여 Open in Terminal이나 여기에 Powershell 창 열기를 클릭합니다.

    파일 탐색기에서 Shift+우클릭하면 나오는 매뉴
    yt-dlp

    터미널 또는 Powershell이 열리면 위 명령을 입력해 명령이 작동하는지 확인합니다. 제대로 잘 작동한다면 다운로드할 유튜브 영상 링크를 준비해줍니다. 기본적인 사용 방법은 youtube-dl과 동일하므로 기존 youtube-dl을 사용하셨던 분들은 youtube-dl만 yt-dlp로 바꿔 사용하시면 됩니다.

    아래는 yt-dlp사용 예시입니다.

    yt-dlp -f "bestvideo+bestaudio" https://www.youtube.com/watch?v=h3g2QLSr13g

    bestvideo와 bestaudio를 받아 ffmpeg로 합쳐 출력하는 명령입니다. 유튜브 링크만 다운받으실 영상 링크로 교체하시면 됩니다. 기본적으로 가장 많이 사용하는 명령이 되겠습니다. 비디오만, 또는 오디오만 받으려면 다음과 같이 따로 사용할 수 있습니다.

    비디오만 받기

    yt-dlp -f "bestvideo" https://www.youtube.com/watch?v=h3g2QLSr13g

    오디오만 받기

    yt-dlp -f "bestaudio" https://www.youtube.com/watch?v=h3g2QLSr13g

    mp4형식으로 영상이 필요하다면 다음과 같이 입력할 수 있습니다.

    yt-dlp -f "bsetvideo*[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4] / bestvideo*+bestaudio/best" https://www.youtube.com/watch?v=h3g2QLSr13g

    다음 명령을 사용하여 다운로드 받을 수 있는 모든 형식을 확인할 수 있습니다.

    yt-dlp -F https://www.youtube.com/watch?v=h3g2QLSr13g
    yt-dlp -F 실행결과

    다음과 같이 다운로드 할 수 있는 모든 형식이 표시되며, 코덱, 비트레이트, 예상크기, 해상도 등등을 확인할 수 있습니다. 마음에 드는 형식을 찾았다면 가장 왼쪽 숫자를 이용해 다운로드 하면 됩니다. 다음 명령은 308번 형식(webm 1440p60)으로 다운로드 할 때에 예시입니다.

    yt-dlp -f 308 https://www.youtube.com/watch?v=h3g2QLSr13g

    308형식은 video only이므로 영상만 다운로드되게 됩니다. 만약 오디오도 하나의 파일로 같이 받고 싶다면 22번과 같이 비디오와 오디오가 이미 합쳐진 버전으로 받거나 audio only로 된 형식을 하나 고른 후 같이 사용해야 합니다. 비디오와 오디오가 이미 합쳐진 버전은 대부분 낮은 품질로만 존재하므로 audio only 형식을 같이 다운해 합쳐보도록 하겠습니다.

    yt-dlp -f 308+251 https://www.youtube.com/watch?v=h3g2QLSr13g

    이 예시 명령을 사용하면 308번 webm 영상에 251번 webm 오디오가 합쳐져 저장되게 됩니다.

    yt-dlp설치(Linux)

    데비안 기반을 사용하신다면 아래 명령을 그대로 사용하시면 되고, 페도라나, 아치등 다른 리눅스 배포판을 사용하신다면 apt대신 리눅스 배포판에 탑재된 패키지 관리자를 사용하시면 되며, 사용법은 대부분 동일합니다.

    sudo apt update && sudo apt upgrade

    터미널을 열어 위 명령을 실행해 저장소에서 새 정보들을 불러와줍니다.

    sudo apt-get install yt-dlp

    명령을 사용해 yt-dlp를 설치합니다.

    yt-dlp 종속성 설치 확인

    사진과 같이 종속성 설치 확인이 뜨면 Y를 입력하고 엔터를 눌러줍니다. 설치가 완료되자마자 yt-dlp 명령을 사용해보면 잘 작동하는 것을 확인할 수 있습니다.

    자세한 사용법은 Windows에서와 동일하니 글 상단의 유튜브 영상 다운받기 부분을 확인해주세요.

    ffmpeg 설치(선택)

    대부분의 경우 ffmpeg가 종속성으로 같이 설치되지만, ffmpeg가 없다는 경고가 표시된다면 터미널에 다음 명령을 입력해 ffmpeg를 수동으로 설치할 수 있습니다.

    sudo apt install ffmpeg

    게시됨

    카테고리

    작성자

    태그:

    Obtuse의 테크 블로그 더 알아보기

    이 블로그에 새 글이 나올 때 마다 이메일로 알림을 받아보는 건 어때요?


    ※구독 버튼을 클릭하면 obtuse.kr의 개인정보 처리방침의 광고성 정보 수신에 동의하는 것으로 간주합니다.

    댓글

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

    이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.