요새 뭘 할까 고민하다 내 음악재생앱에 사용할 유튜브노래 다운받는 기능을 만들어볼까해서 짜보는중이다.

유튜브는 보안이 까다로워 그냥 크롤링해서는 다운받지도 못하는데 이런걸 다 작성해도 오픈해주는 고마운게 있는데 yt-dlp다 

https://github.com/yt-dlp/yt-dlp

 

GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader

A feature-rich command-line audio/video downloader - yt-dlp/yt-dlp

github.com

검색해보면 사운드 다운로드용으로 이미 많이들 사용하고 글도 쓰셨더라

어처피 별 내용도 없으니 그냥 내가 짜기로 하고 막히는 부분 지피티쨩에게 물어보면 ok 

 

오래되고 많은 기여자들이 있는 프로젝트인만큼 진짜 기능이 다양하다

리드미페이지 스크롤 길이가....

 

다 읽는건 포기하고 지피티쨩에게 옵션을 물어서 맞는지 확인하는식으로 진행

그렇게 진행하다보니 url이 제대로 넣은건지 내가 원하는 영상이 맞는지 확인하는 용으로 제목만 가져오려는데

시간이 엄청 오래걸린다.

9초가 넘게 걸려서 도대체 뭔가해서 지피티쨩이랑 열심히 채팅한 끝에

--verbose 옵션을 넣어서 나온 내용에서 짚히는 점은 여러개 있지만 가장 신경쓰이는 부분은 node (unavailable)라고 표시된 부분이였다.

난 분명 node 서버를 통해 작업하는중이라 당연히 node가 인식되어야하는데 애가 인식을 못한다 

그럴때 있는 옵션이 바로 --js-runtimes 노드주소

which node해서 나온 주소를

--js-runtimes node:나온주소 해주니 3초가량으로 줄어들었다.

 

지피티쨩 말로는 파일로 받은yt-dlp가 내부에서 노드를 찾고있는데 nvm으로 설치한 노드라 찾지못하고있는게 아닐까 하더라

뭐 여기에대해 참고자료가 없기에 그냥 그렇다보다 하고 넘겼다

 

 

 

 

-- 다음날 추가

속도가 다시 느리다 이전에는 왜 빨라졌는지 모르겠다 캐시데이터였던건지 아니면 내쪽 네트워크문제인건지 

yt-dlp로 정보파싱해서 가져오는건 포기하고 oembd로 가져오는걸로 변경

 

 

반응형

+ Recent posts