맥 터미널을 통해 유튜브의 원본 영상을 다운 받을 수 있다.
사실 많은 웹사이트에서도 이 기능을 지원하긴 하지만 원본의 초고화질을 얻을 수는 없다.
하지만 이 방법을 통한다면 가능하다.
이 포스트에는 유튜브의 업데이트로 고장난(uploader id를 찾을 수 없는) youtube-dl을 맥Mac 환경에서 고치는 법도 서술한다.
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Homebrew의 youtube-dl을 사용하는 방법이다.
참조 유튜브 서울리안: https://youtu.be/JnoMuZslFcw
1. Homebrew를 설치한다. 이는 맥 터미널의 앱스토어라고 생각하면 된다.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. Yotube Download를 설치한다.
brew install youtube-dl
3. YouTube 영상 컨버터 설치
brew install youtube-dl ffmpeg
다 설치되면
youtube-dl -F (영상URL)
()부분에는 원하는 영상의 링크를 넣는다. (반드시 대문자 F)
위의 코드를 사용해 "영상 소스 비디오와 오디오 버전 확인"을 하는데 그 이유는 원하는 화질의 영상 버전과 오디오 버전을 확인 하기 위함이다. 1920x1080 화질이든 3840x2160의 4k영상이든 선택해서 받을 수 있다는 이야기이다.(4k 영상이 있다는 가정하)
가장 왼쪽이 버전 번호, 다음이 포멧, 다음이 영상 화질, 등의 순서다.
youtube-dl -f 비디오버전번호+오디오버전번호 --recode-video mp4 (영상URL)
(소문자 f)원하는 버전을 확인 했다면 위의 코드를 사용해 영상과 오디오를 mp4 형식으로 다운받을 수 있다.
youtube-dl -f 315+140 --recode-video mp4 https://youtu.be/############ 와 같은 방식이다.
그런데!
오랜만에 하려다가 보니 (유튜브의 업데이트에 따라) 유저의 아이디를 찾을 수 없다는 오류문자만 뜰 뿐이다!!
해서 인터넷을 찾아보니 이를 겪는 사람들이 이미 해결책을 찾아두었다..! 그런데 왜 이 포스트를 쓰는가.
해당 블로그는 윈도우 버전이기 때문에 어려움을 겪었다.
이 블로그를 참고 했는데
youtube.py
을 손보는 방법이다.
해당 블로그를 참고하기 바라고 간단히 서술하자면
기존 코드를
'uploader_id': self._search_regex(r'/(?:channel/|user/|@)([^/?&#]+)', owner_profile_url, 'uploader id', default=None),
로 조금 바꾸어 주는 것이다. 빨간 부분이 변경된 부분.
아는 사람은 알겠지만 유튜브에서 사용자 검색을 위해 아이디 앞에 @를 붙여서 고유아이디로 검색할 수 있게 바뀌었다. 이 탓인 것이다.
좋다 방법을 찾았다 실행만 하면 된다. 그러나 큰 벽이 나를 가로막았다.
무슨 수를 써도 해당 파일을 수정할 수가 없었던 것이다. vi, nano 코드를 사용해서 강제 수정&저장을 하려해도 읽기모드만 가능하며 저장을 할 수 없다는둥 파일에 쓰기 권한이 없어서 인가하여 권한, 소유자 등을 모두 손보아도 해결을 할 수 없다가 한 줄기 빛같은 블로그를 찾았다.
https://iamrealizer.tistory.com/47
이 블로그인데 별 수를 다 써봐도 수정한 파일을 저장할 수 없었다가
:w !sudo tee % > /dev/null
이 코드 덕에 원하는 대로 강제 저장할 수 있었다.
맥 터미널 사용이 서툰 사용자들을 위해 결론을 간단히 요약하자면
(상단의 3번까지 설치가 모두 끝난상태)
결론
1. 맥 파인더에서 ctrl + f 로 youtube.py 파일을 찾는다.
2. 해당 파일 선택하면 하단에 ...>youtube.py 를 오른쪽 클릭해서 경로 이름을 복사해둔다.
3. 터미널을 열고
vi /Users/######/opt/anaconda3/lib/python3.9/site-packages/youtube_dl/extractor/youtube.py
를 입력해 vi편집기를 연다.
4. 편집기를 열고 i를 누르면 입력이 가능해진다.
'uploader_id': self._search_regex(r'/(?:channel/|user/|@)([^/?&#]+)', owner_profile_url, 'uploader id', default=None),
코그 수정이 되었다면 Esc키를 누르고 :를 누른다. 그 상태로
:w !sudo tee % > /dev/null 를 입력한다.
그 상태로 저장하고 나오면 정상적으로 사용이 가능해진다.
(편집기 vi를 사용하는데 어려움이 있다고 느껴지면 vi 명령어라고 검색해보길 추천한다.)
이로써 고장난 youtube-dl을 정상적으로 사용할 수 있게 되었다.