반응형

회사에 블루투스 스피커가 있어서 노래 재생용 컴퓨터 하나 두고 노래를 틀어두는데 노래 틀러 재생용 컴퓨터까지 왔다 갔다 하는 게 불편하던 중 우연히 인터넷에서 파이썬으로 유튜브 플레이어를 만드는 글을 보고 노래 재생 웹앱을 하나 만들어봤다. 할 일 없는 주말에 모처럼 재밌게 코딩했다?

파이썬 Flask로 만들었고 스트리밍 url 추출에 yt-dlp, 소리 재생에 python-vlc 라이브러리를 사용했다. 또, 차트랑 노래 검색 기능이 있는데 이건 ytmusicapi 라이브러리를 사용했다.

디자인은 내가 예술 감각이 제로라 그나마 부트스트랩을 사용해서 이게 최선이다.ㅠㅠ

소리 재생에 vlc를 사용하므로 vlc 플레이어를 설치해야 한다. 나는 굳이 설치하고 싶지 않아서 무설치 버전으로 적당한 곳에 풀고 VLC_PATH 환경변수 지정해서 사용하고 있다.

1월 말부터 개발 시작해서 회사에서 사용하면서 조금씩 업데이트하다가 이제 어느 정도 처음에 구상했던 기능들도 전부 구현 완료해서 블로그에도 글을 올린다. 이제 기능 쪽은 더 이상 업데이트할 건 없을 것 같고 웹 컴포넌트 도입, 폴링 대신 웹소켓(Socket.IO) 사용, 가상돔(snabbdom) 도입 등 기술적으로(?) 내실을 다져보려고 한다. 토이 프로젝트라는 게 이런 재미 아니겠는가ㅎㅎ

리포지토리 주소: https://github.com/joyfuI/dj_dj_pump_this_party

 

GitHub - joyfuI/dj_dj_pump_this_party: 회사에서 사용하려고 만든 간단한 음악 재생용 웹앱

회사에서 사용하려고 만든 간단한 음악 재생용 웹앱. Contribute to joyfuI/dj_dj_pump_this_party development by creating an account on GitHub.

github.com

ytmusicapi 라이브러리를 사용하는 기능(검색, 차트, 자동재생)을 사용하기 위해선 유튜브 뮤직 인증토큰이 필요하다. 인증토큰 구하는 방법은 이 링크를 참고하면 되고 자세한 세팅 방법은 리포지토리의 README.md를 참고하면 된다.

최근에 플레이리스트 추가 기능을 추가하면서 중요한 꿀팁 소개. https://www.youtube.com/watch?v=\${videoId}&list=RDAMVM\${videoId} 꼴의 URL은 유튜브에서 자동으로 생성해주는 해당 videoId의 믹스 재생 목록이다. 이걸로 비슷한 여러 곡을 한꺼번에 추가할 수 있다. 단, 재생 목록의 영상의 200여 개나 되므로 추가하는 데 오래 걸림

반응형

+ Recent posts