본문 바로가기

전체 글40

음질뷰어 1차완성+문제점발견 먼저 부트스트랩만을 이용해서 임시로 사이트를 만들었습니다 메인페이지는 단순히 url을 입력할수있는 폼으로 되어있고, view페이지는 get방식으로 url을 받으면 api를 호출해 비트레이트를 알려주도록 되어있어요 사실 디자인은 나중에 생각하고 돌아가기만하는대로 그냥 써도 되지만 만들고보니까 가장 큰 문제점이 생겼습니다 그건 애초에 비트레이트 api자체가 exe파일을 직접 호출해서 얻어오는 방식이기 때문에 리눅스로 돌아가는 호스팅 환경에서는 아예 실행이 불가능하단거였어요 그래서 내일은 youtube-dl를 호출하지않고 직접 api를 불러 파싱하는 방향으로 바꾸려고합니다 2020. 10. 18.
노드에서 유튜브 영상 포맷 정보 가져오기 어제 포맷정보의 비트레이트만으로 음질을 구별할수있단걸 알았습니다. 오늘은 파이썬으로 제작된 youtube-dl -F 를 노드에서 구현해야합니다 1. youtube-dl의 바이너리 파일을 노드에서 실행하는방법 2. youtube-dl의 원본인 파이썬 코드를 보고 노드로 재해석해 같은 리퀘스트를 보내는방법 이렇게 대충 2가지방법이 생각나는데 바이너리를 실행해도 3초는 안넘을거같아서 바이너리를 실행할겁니다 그리고 바이너리를 실행할땐 execa 모듈을 사용해 async await문법을 사용하려고합니다 아래 코드가 바이너리를 실행해 포맷 리스트를 가져오는 코드입니다. const execa=require('execa') const getFormatList = (url) => new Promise(async (res.. 2020. 10. 5.
유튜브 음질 메타데이터 조사 사이트를 제작하기 이전에, 유튜브 메타데이터만으로 음질을 파악하는게 가장 가벼운 방법이라고 생각하기때문에 메타데이터만으로 파악할수있는지 확인하려고합니다 하지만 전 노래 파일에 대해선 하나도 모르기 때문에 음악 스펙트럼을 보여주는 Spek프로그램을 이용해서 음질을 비교할거에요 그리고 비교할영상은 노래 원곡과, 2차로 제작된 가사 커버곡입니다 메타데이터에있는 포맷정보들은 youtube-dl -F 명령어를 사용해 쉽게 볼수있었습니다. 그리고 audio only중에선 가장 아래있는게 가장 음질좋은 포맷이기 때문에 커버곡 - webm audio only DASH audio 140k , webm_dash container, opus @160k (48000Hz) 원곡 - webm audio only tiny 144k.. 2020. 10. 4.
module.exports JS 프로그램을 짜다보면 하나의 파일에 코드를 다 쓰는게 아니라 기능별로 구분을 하게되는경우가 필요해집니다. 몇천줄이 넘는 코드를 한 파일에 다 써버리면 생산성이 떨어지는건 당연한거겠죠? 이럴때 module.exports라는 문법을 사용해서 여러 파일(모듈)들을 만들고 최종적으로는 한 파일에서 모든 모듈을 불러와 실행하게됩니다. npm에 설치한 모듈들의 코드들또한 module.exports를 사용하는모습을 볼수있습니다. 또 module.exports에는 숫자,문자열,객체,배열,함수등등 사실상 변수에 들어가는거라면 뭐든지 넣어서 다른코드에서 쓸수가 있는데 예시를 보여드릴게요 // a.js const data = "Hello World"; module.exports = data; // b.js const rece.. 2020. 8. 27.