본문 바로가기

프로젝트7

개발시작과 url 단축 방법 찾기 많은 사이트에서는 bit.ly adf.ly url.kr 등의 Url단축 사이트의 도메인등이 금지어로 등록되어있습니다. 또 단축사이트는 링크의 방문수도 볼수있게 해주기 때문에 링크 방문수는 보고싶고 금지어로 막혀 단축링크를 올리지도 못해 난감할때가 있었어요 그래서 안막힌 단축 도메인을 찾다, 어차피 내가 필요한 기능은 링크 클릭수 조회 하나니까 내 링크만 올릴 서비스 하나는 바로 간단하게 만들수 있겠단 생각이 들었습니다 그래서 만들어보는 사이트에요! 바로 Url에서 id값을 뽑아내는 방법을 생각해봤습니다. 검색해보니 /와?가 포함된 링크를 일반 글자들로 바꾸는 base62 인코딩과 아예 링크를 해시해서 id를 뽑아 사용하는것같은 방법들이 있었어요 하지만 전 최대한 빨리 필요한 사이트를 만들고싶기 때문에 단.. 2020. 11. 21.
비트레이트 가져오는 코드 리팩토링 youtube-dl 바이너리를 사용하지 않고 비트레이트 정보를 얻어오기 위해서 youtube-dl -F 명령어를 사용할때 컴퓨터에서 어떤 패킷이 요청되는지 확인해야해요 전 요청 패킷만 분석하면 굳이 원래의 youtube-dl 파이썬 코드를 분석할 필요없이 같은 동작을 하도록 제가 만들수있을거라고 생각하기 때문입니다 먼저 가장 간단하게 패킷을 잡을수있는 프로그램인 fiddler을 이용하려고합니다 이게 안되면 프록시가 없는 패킷까지 잡을수있는 와이어샤크를 사용해야겠죠 먼저 피들러를 켜놓은 상태로 cmd창에 youtube-dl -F 명령어를 사용해 패킷을 잡아보겠습니다 이렇게 youtube-dl -F 7cdH2eOoJX8 명령어를 입력했더니 www.youtube.com/watch?v=7cdH2eOoJX8&gl.. 2020. 10. 19.
음질뷰어 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.