Youtube-dl 최고화질 - Youtube-dl choegohwajil

유튜브를 다운받기 위해서 그동안 크롬브라우저에서 saveform.net helper라는 것을 사용했었는데

이방법이 가장 편하고 여전히 잘 작동하긴 합니다.

하지만 단점은 화질의 제약이 있다는 것입니다.

1080p로 받고 싶어도 720p로 밖에는 받을 수가 없는거죠.

saveform.net에서 홍보하는 ummy 다운로더를 결제해볼 생각도 했지만,

굳이 저런 덜떳떳한 소프트웨어에 돈을 지불하는 것이 맞느냐. 라는 생각이 들었습니다.

그보다는 돈이 아까운게 더 컸다고도 할 수 있겠네요.

인터넷 서핑을 해보니, 굳이 돈을 들이지 않고도 

유튜브를 화질별로 다양하게 받는 방법을 알아냈습니다.

여기 방법을 소개합니다.

우선 youtube-dl.exe라는 프로그램을 받습니다.

http://rg3.github.io/youtube-dl/download.html

위의 링크에서 직접 받으세요.

(전에 이러한 소개글에서 직접 프로그램을 받아서 링크와 함께 exe파일을 여기에 그냥 올렸었는데,

댓글을 보니, 랜섬웨어일거다 같은 추측성 댓글이 많더군요. 그래서 직접 올리지는 않겠습니다.)

버전업도 활발하게 되니까요. 이왕이면 방문해서 최신버전으로 받는게 더 좋을거 같습니다.

사용법

그냥 받기만 하면 된다고 하시면,

youtube-dl,exe "유튜브 비디오 주소"

이렇게 커맨드 라인에서 작동시키면 됩니다. 

이제, 옵션을 정하는 법을 설명드리겠습니다.

youtube-dl.exe -F "유튜브 비디오 주소"

이런식으로 쳐넣으면 다운로드 가능한 화질 목록이 쭉 뜹니다.

아래와 같이 말이죠.

[info] Available formats for P9pzm5b6FFY:

format code extension resolution  note 

140         m4a       audio only  DASH audio , audio@128k (worst)

160         mp4       144p        DASH video , video only

133         mp4       240p        DASH video , video only

134         mp4       360p        DASH video , video only

135         mp4       480p        DASH video , video only

136         mp4       720p        DASH video , video only

17          3gp       176x144     

36          3gp       320x240     

5           flv       400x240     

43          webm      640x360     

18          mp4       640x360     

22          mp4       1280x720    (best)

해당하는 번호를 -f옵션과 함께 추가해주면 해당되는 화질로 받을 수 있습니다.

예를들어 위에서는 22번이 최고화질이라고 나오죠.

그렇다면, 최고화질로 받으려면 이렇게 쳐넣으면 되겠죠.

youtube-dl.exe -f 22 "유튜브 비디오 주소"

이런식으로요.

비디오를 최고화질로 받는 과정에서 사운드가 빠져버릴 수가 있습니다.

그럼 비디오 최고화질 오디오 최고화질을 받아서 합쳐줘야하는데

소프트웨어 하나가 더 필요합니다.  

https://ffmpeg.zeranoe.com/builds/ 여기서

ffmpeg.exe 을 받아서 동일 폴더에 넣어줍니다.

아래와 같이 쳐줍니다.

youtube-dl -f 22+140 "유튜브 비디오 주소"

그럼 22번의 비디오와 140번의 오디오를 합쳐서 다운이 됩니다.

정확하게는 따로 받아서 합쳐주고 따로받은 파일을 삭제하는 과정을 거쳐서 하나의 파일이 됩니다.

위에서처럼 각각 번호들을 열람하고 받으려면 두단계를 거쳐야겠죠?

더 좋은 방법도 있습니다.

늘 최고화질로 받겠다한다면. 그냥 다음과 같이 넣으면 됩니다.

youtube-dl -f bestvideo+bestaudio "유튜브 비디오 주소"

이런식으로요.

만일, 이 명령어가 에러가 나면 다음과 같이 다시 해보시면 잘 될겁니다.

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "유튜브 비디오 주소"

도움되셨길 바랍니다.

이 글을 퍼가실때는 글 그대로는 복사하시면 안됩니다.

링크를 따는것은 환영입니다.^^

크롬 확장 프로그램으로 유튜브 영상을 다운로드 받는 방법이 여전히 가장 쉽고 빠른 방법이지만, 대부분 확장 프로그램이 기능적으로 이런 저런 제한이 있습니다.

특히, 웹브라우저 확장 프로그램의 경우 HD(720p) 영상까지만 다운로드 받을 수 있는 경우가 많습니다.

기능적으로 쓸만한 프로그램이나 확장은 유료이기 때문에 불편함이 이래 저래 조금씩 있습니다.

커맨드라인 프로그램이지만, 다운로드 가능한 모든 유튜브 영상이나 MP3 파일을 다운로드 받을 수 있는 프로그램으로 "youtube-dl" 이 있습니다.

선택의 여지가 별로 없는 다른 유튜브 다운로드 프로그램들과 달리 거의 무제한의 옵션 설정이 가능하기 때문에 기존 유튜브 다운로드 프로그램들의 기능 제약이 불만이라면 "youtube-dl"로 원하는 영상을 다운로드 할 수 있습니다.

"youtube-dl"로 다운로드 할 수 없는 유튜브 영상은 동영상 캡쳐 프로그램이나 캡쳐 보드 같은 다른 종류의 영상 저장 방법을 사용해야 합니다.

맥OS와 리눅스도 지원하며 사용 방법은 동일하고, 패키지 관리자를 사용해 셸에서 설치 과정을 진행하면 됩니다.

여기서는 윈도우10을 기준으로 설명합니다.

1. youtube-dl 과 ffmpeg 다운로드 및 설치

현재 이 프로그램이 법정 분쟁에 휘말려서 깃헙을 통한 다운로드 경로가 막혀 있습니다.

다음 경로에서 직접 다운로드 할 수 있습니다.

yt-dl.org/download.html

두 번째 줄의 "Windows exe" 링크를 클릭하면 윈도우 용 실행 파일을 다운로드 받을 수 있습니다.

설치 파일이 아니라 실행 가능한 프로그램입니다.

그 옆의 재 배포 패키지인 "Microsoft Visual C++ 2010 Redistributable Package (x86)" 가 설치되어 있어야 "youtube-dl"을 실행할 수 있으므로, 설치되어 있지 않으면 다운로드 해서 설치해야 합니다.

Youtube-dl 최고화질 - Youtube-dl choegohwajil
yotube-dl 다운로드

그리고 영상(오디오 없는)과 오디오를 하나의 영상 파일로 합치거나 영상 인코딩 코덱을 변경하는 프로그램인 "ffmpeg" 프로그램을 다운로드 받아 설치해야 합니다.

유튜브는 영상과 오디오가 하나로 된 영상은 720p 만 다운로드가 가능하기 때문에 리소스별로 다운로드 받아 하나로 합치기 위해서 ffmpeg 프로그램이 필요합니다.

ffmpeg.org/

사이트에서 "Download" 버튼을 클릭해 운영체제에 맞는 파일을 다운로드 합니다.

또는 깃헙에서 최신 빌드 압축 파일을 다운로드 받는 것을 추천합니다.

github.com/BtbN/FFmpeg-Builds/releases

다운로드 받은 파일을 압축을 푼 후 압축 푼 폴더 안의 "bin" 폴더 경로를 다음 방법을 따라 윈도우10 경로에 추가해야 합니다.

2. 윈도우10 경로 설정하기

"youtube-dl" 은 별도 설치 프로그램이 없기 때문에 실행 파일이 있는 경로에서 실행하거나, 윈도우10 경로를 추가해야 다른 폴더에 있는 "youtube-dl" 을 실행해 유튜브 영상 다운로드를 할 수 있습니다.

탐색기 화면에서 "내 컴퓨터" 의 컨텍스트 메뉴를 연 후 "속성" 을 선택합니다.

Youtube-dl 최고화질 - Youtube-dl choegohwajil

왼쪽 메뉴에서 "고급 시스템 설정" 선택 > 시스템 속성 대화상자의 "고급" 탭 선택 > 하단 "환경 변수" 버튼 클릭 > "시스템 변수" 섹션 목록에서 "Path" 선택 > 하단 "편집" 버튼 클릭 > "환경 변수 편집" 대화상자 오른쪽의 "새로 만들기" 버튼 클릭

을 해서 경로를 추가하는 대화상자를 엽니다.

Youtube-dl 최고화질 - Youtube-dl choegohwajil

"환경 변수 편집" 목록 맨 끝에 새 입력 행이 활성화 되고 입력 커서가 표시되면 "youtube-dl" 실행 파일이 위치한 경로를 입력한 후 "확인"을 눌러 저장합니다.

Youtube-dl 최고화질 - Youtube-dl choegohwajil
환경 변수 편집 화면에서 경로 추가

새 도스 커맨드 창, 또는 파워셸 창을 연 후 "path" 명령어를 입력하면 현재 경로 정보를 볼 수 있습니다. 앞서 추가한 경로가 보이지 않을 경우 

커맨드 라인에 

taskkill /f /im explorer.exe

을 입력해 탐색기를 강제 종료한 후

explorer.exe

를 입력해 재 실행합니다.

이후 도스 커맨드 창/파워셸 창을 닫았다 다시 열면 경로가 추가됩니다. 반드시 커맨드 창/파워셸 창을 닫았다 열어야 갱신됩니다. 또는, 윈도우10을 재부팅하면 됩니다.

커맨드 라인에 "youtube-dl" 을 입력해 "youtube-dl"이 다음과 같이 실행되는지 확인합니다.

Youtube-dl 최고화질 - Youtube-dl choegohwajil

이제 "youtube-dl" 로 유튜브 동영상을 다운로드 할 준비가 되었습니다.

ffmpeg도 같은 방법으로 경로를 반드시 추가해야 합니다.

3. 다운로드 가능한 리소스 정보 얻기

"youtube-dl"은 옵션 항목이 엄청나게 많습니다.

그만큼 세세한 설정이 가능하지만, 실제 사용하는 기능만들만 알아봅니다.

먼저 다운로드 받고 싶은 유튜브 동영상의 경로를 얻습니다.

커맨드 라인에 다음과 같이 입력하면, 다운로드 가능한 해당 동영상의 모든 정보가 표시됩니다.

유튜브 동영상의 리소스 정보를 보여주는 옵션은 "-F" 입니다.

> youtube-dl -F 복사한유튜브공유링크

Youtube-dl 최고화질 - Youtube-dl choegohwajil
유튜브 리소스 정보

"youtube-dl" 이 보여주는 이 리소스 목록에 대한 기초 이해를 먼저 해야 합니다.

"youtube-dl" 은 유튜브로 다운로드 할 수 있는 모든 리소스에 대한 정보를 표시합니다.

오른쪽에 다운로드 가능한 리소스에 대한 설명이 다 붙어 있습니다.

오디오와 영상이 하나로 되어있는 영상도 있지만, 대부분은 오디오와 영상이 따로 구분되어 있습니다. "video only" 라고 된 것은 영상만이며, "audio only" 라고 표시된 것은 오디오만 품질 별로 표시한 것입니다.

"video only", "audio only" 표시가 없는 맨밑의 2개는 영상과 오디오가 함께 있는 것입니다.

그리고 목록 왼쪽에는 숫자 번호가 있습니다. 이 번호가 해당 리소스의 키값이고, 다운로드 받을 영상과 오디오를 선택하는 고유한 이름이 됩니다. "youtube-dl" 에서는 이 숫자를 포맷 코드(format code) 라고 합니다.

"youtube-dl"로 영상을 다운로드 할 때 이 포맷 코드를 파라메터로 추가로 표시해서 원하는 리소스를 다운로드 받는다고 이해하면 됩니다.

유튜브 동영상 다운로드 기능을 제공하는 대부분의 확장 프로그램들은 단순히 영상 스트림을 읽어서 파일로 저장하는 기능만 구현 가능하기 때문에 영상과 오디오가 하나로 되어있는 맨 밑의 2개 영상만 다운로드 가능한 영상으로 표시되고, 360p, 720p 영상만 다운로드가 가능한 것으로 표시되게 됩니다.

우리가 유튜브 동영상을 다운로드 받는 경우는 대부분은 영상과 오디오가 하나로 합쳐진 영상일 것이고, 포맷 코드 18, 22번 중의 하나를 다운로드 받거나, 목록에 있는 비디오와 오디오 1개씩을 선택해 하나로 합쳐서 다운로드를 받아야 합니다.

비디오와 오디오 리소스를 하나로 합쳐서 다운로드 하는 방법은 밑에서 자세히 설명합니다.

좀더 자세히 살펴 보면 앞의 영상 예를 보면 해당 영상(만)은 FHD(1080p ) 30fps가 최고 해상도이고 mp4(포맷 코드137)와 webm(포맷 코드 248) 포맷으로 다운로드를 받을 수 있습니다. 코덱 정보도 "vp9", "avc1"으로 표시를 해줍니다.

오디오(만)은 128k m4a(포맷 코드 140) 포맷이나 159k opus 코덱인 webm(포맷 코드 251) 포맷이 최고 품질입니다.

항목 용도
format code 리소스의 키 값. 다운로드 할 때 키 값으로 다운로드 할 리소스를 지정.
extension 해당 리소스의 다운로드시 적용 확장자.
resolution 해상도 및 비트레이트 정보 표시.
"audio only" 는 오디오 리소스 임을 표시, 나머지는 영상만, 또는 영상+오디오 입니다.
영상이 있는 리소스는 "가로x세로" 정보와 초당 비트레이트 율 정보를 표시합니다.
note 리소스에 대한 상세 정보 표시.
코덱, 초당프레임율(fps), 비디오만(video only), 파일 용량 정보 표시

3. 동영상 다운로드

A. 720p 영상 다운로드

먼저 영상과 오디오가 하나로 되어있는 영상을 다운로드 받아보겠습니다.

> youtube-dl -f 22 https://youtu.be/vKdAusMqYs8

다운로드가 다음과 같이 진행됩니다.

영상 파일 다운로드 위치는 현재 커맨드 라인 창 경로가 됩니다.

Youtube-dl 최고화질 - Youtube-dl choegohwajil
유튜브 영상 다운로드 화면

현재 유튜브는 영상과 오디오가 하나로 된 영상은 720p(1280x768 30fps) 까지만 다운로드 가능합니다. 실제 유튜브에서 재생되는 영상의 해상도와는 무관하며, 영상을 올린 본인이어도 선택의 여지같은건 없습니다.

720p 보다 높은 해상도 영상을 오디오와 함께 다운로드 받으려면 "youtube-dl" 과 같은 프로그램을 사용해 영상과 오디오 리소스를 선택해 합쳐서 다운로드 받아야 합니다.

B. 최고 해상도 영상 다운로드

앞의 영상은 1080p가 최대 해상도 영상입니다. 영상과 오디오 리소스를 각각 선택해서 하나의 영상으로 다운로드 받아보겠습니다.

리소스 목록에 4K 이상의 리소스가 표시될 경우 4K 동영상도 다운로드 할 수 있습니다.

먼저 mp4 영상을 다운로드 받아보겠습니다. mp4 포맷의 1080p 영상만은 포맷 코드가 137이고, mp4 오디오 포맷인 m4a 포맷은 128k가 최고 품질이고 포맷 코드는 140 입니다.

다음과 같이 "-f" 옵션 파라메터 뒤에 "영상포맷코드+오디오포맷코드" 를 추가해 영상의 리소스를 명시합니다.

> youtube-dl -f 137+140 https://youtu.be/vKdAusMqYs8 

ffmpeg 를 다운로드 받아 경로 설정을 하지 않은 경우 다음과 같은 에러가 표시되고 다운로드가 취소됩니다.

Youtube-dl 최고화질 - Youtube-dl choegohwajil
ffmpeg 경로를 찾을 수 없어 다운로드가 취소됨

현재 경로에 중복 파일명이 없으면 다운로드와 파일 합치기가 진행되고 mp4 파일이 생성됩니다,

Youtube-dl 최고화질 - Youtube-dl choegohwajil

C. 고품질 webm 영상 다운로드

영상과 오디오 퀄리티가 더 좋은 webm 포맷 영상은 지원하지 않는 동영상 플레이어나 편집 프로그램이 있기 때문에 mp4 포맷으로 변환해서 다운로드를 받아야 하고, 추가로 파라메터를 적용해야 합니다.

앞의 영상 리소스 목록에서 최고 해상도인 1080p webm 영상(만) 은 포맷 코드가 248이고, webm 오디오 파일은 품질이 159k인 파일의 포맷 코드가 251 입니다. 

앞서와 같은 방법으로 포맷 코드를 명시해서 다운로드를 하려면

> youtube-dl -f 248+251 https://youtu.be/vKdAusMqYs8 

Youtube-dl 최고화질 - Youtube-dl choegohwajil

하면 됩니다.

확장자는 webm 으로 생성됩니다.

"ffmpeg"은 영상 포맷을 변경할 수 있는 기능이 있기 때문에 "youtube-dl" 을 실행할 때 파라메터를 추가로 지정하면 "ffmpeg" 을 통해 포맷 변환까지 한꺼번에 해주게 됩니다.

webm으로 다운로드 받은 고품질 영상을 mp4로 변환까지 한꺼번에 하려면 

> youtube-dl -f 248+251 --recode-video mp4 https://youtu.be/vKdAusMqYs8 

이렇게 "--recode-video" 옵션으로 변환할 포맷을 뒤에 공백을 띄워서 지정해주면 됩니다.

4. MP3만 다운로드

포맷 코드를 mp4 오디오, 또는 webm 오디오 리소스만 지정하면 오디오만 다운로드 받아집니다.

앞의 동영상 리소스 목록에서 다음과 같이 오디오 리소스만 지정하면 됩니다.

> youtube-dl -f 140 https://youtu.be/vKdAusMqYs8 

관련글

  • 커맨드라인 유튜브 다운로더 youtube-dl - 4K 영상, MP3까지 다운로드 가능

  • 간편한 무료 유튜브 동영상 다운로드 앱 XDM2020

  • 유튜브 히스토리를 삭제해 관련 추천 영상이 나오지 않게 하기

  • OBS 스튜디오(Studio)로 유튜브 실시간 방송 갭쳐, 녹화 하기

  • 유튜브 자막 추출 및 다운로드 하기

  • 동영상 다운로드 프로그램 TOP 2. 유튜브 포함 모든 동영상 다운로드 가능

  • OBS 스튜디오(Studio)로 아프리카TV 실시간 방송 갭쳐, 녹화 하기

  • OBS 스튜디오(Studio)로 트위치 실시간 방송 갭쳐, 녹화 하기