구글 드라이브( 다운로드링크 )에서 다운 받은 후, 아래 내용에 따라 설치하여 사용하실 수 있습니다.
셔플기능과 루프기능 등 몇몇 기능은 구현되어 있지 않은 점 참고 부탁드립니다. (강좌가 마무리 되는대로 완료)
글의 목적
- 프로그램을 문법만 배우다가 지쳐서 포기하신 분들을 위한 활용 강좌 입니다.
- 최대한 개발실무에 도움이 될 수 있는 내용들을 포함하고자 하였습니다.
- 프로그래밍의 활용성을 높일 수 있는 사례 중심으로 지식을 전달하고자 하였습니다.
- 광고없이 음악을 즐길수 있는 유투브 뮤직 플레이어 프로그램을 만들어 공유하고자 합니다.
(사용해보시고 맘에 들면 본 강좌의 내용이 더 잼있을꺼 같습니다.)
강좌 대상
- 파이썬 기초문법만 숙지하신 분들.
- 개발자 새내기 분들.
- 개발 실무가 궁굼한 사회초년생분들.
강좌 결과물
- 윈도우 기반 파이썬 가상환경 및 개발환경 세팅방법을 배울수 있습니다.
- 파이썬 개발시 성능과 관련된 몇몇 응용 사례들을 배울 수 있습니다.
- google api 기본적인 연동 방법을 알게됩니다.
- pafy, vlc 등 유투브와 관련된 다양한 패키지 사용법을 익힐 수 있습니다.
- tkinter를 이용한 GUI 개발기초를 배울 수 있습니다.
- pyinstaller를 이용하여 exe 실행파일을 만들 수 있습니다
- 이 모든 강좌를 습득하시게 되면 "광고없이 음악을 들을 수 있는" 유투브 리스트 뮤직 플레이어를 직접 수정하고 만들수 있게 됩니다.
쿠키맨의 YouTube 뮤직 플레이어란 ?
1. 정의
- 자신만의 유튜브플레이리스트를 광고없이 스트리밍으로 음악을 함께 즐길수 있는 뮤직플레이어 입니다.
2. UI 설명
- 항목(1)은 플레이리스트 입니다. 해당 항목을 클릭하여 선택후 음악을 재생할 수 있습니다.
- 항목(2)는 음악 재생 시간정보 입니다.
- 항목(3) 재생 컨트롤 입니다. (뒤로가기, 재생/일시정지, 정지, 앞으로가기)
- 항목(4) 플레이리스트에서 선택/재생되고 있는 음악의 썸네일 이미지 입니다.
- 항목(5) 볼륨 컨트롤입니다.
3. 기능
- MP3 음악을 뮤직플레이어 리스트에 추가하여 음악을 들을수 있습니다.
- 자신의 유튜브플레이리스트(URL에 playlist가 포함된 URL)를 뮤직플레이어 리스트에 추가하여 스트리밍으로 음악을 들을 수 있습니다.
- 볼륨을 조절할 수 있습니다.
- 다음곡, 이전곡으로 이동할 수 있습니다.
- 뮤직플레이어의 재생리스트에서 선택하여 음악을 즐길수 있습니다.
- 음악 재생시 해당 음악의 기본 정보를 출력해줍니다. (플레이시간, 앨범썸네일, 제목)
3. YouTube 플레이어 설치/사용법
3.1 VLC media player 설치
- 파이썬 유투브 뮤직플레이어는 기본적으로 VLC 미디어 재생기의 API를 이용하여 개발되었습니다.
- 따라서 다음링크에 따라 VLC를 반드시 설치해주셔야 합니다.
www.videolan.org/vlc/index.ko.html
3.2 Youtube api key 발급받기
3.3. music_player 다운로드 및 압축해제
- 아래 링크를 다운받아 압축해제해주세요 (압축해제 비번은 cookyman 입니다.)
- 위의 3.2에서 발급받은 api key를 config.ini의 키값과 바꿔주세요.(안해도 되긴합니다만, 제가 발급받은 키라 언제 없어질지 모르니..)
- 실행은 music_player.exe를 실행해주면 됩니다.
https://drive.google.com/file/d/13TnEPoyfVLtv6q8t797__BZ5ilvfgyrp/view?usp=sharing
3.3 유투브 플레이리스트 가져오기
- 아래 그림과 같은 반드시 유투브 플레이 리스트를 복사해야 합니다. (플레이 리스트 이외는 작동하지 않습니다.)
- 유투브플레이어 메뉴중 "File-> Add youtube Url(s)" 메뉴를 클릭합니다.
- 복사한 유투브 플레이리스트를 입력해줍니다.
- 플레이리스트가 로딩될때까지 조금 기다리시면.. 아래와 같은 화면을 보실수 있습니다.
- 플레이리스트는 비동기적으로 램덤으로 가져오게 됩니다.
3.4 MP3 리스트 가져오기
- youtube 플레이리스트와 방식은 똑같고.. 다만 MP3파일만 추가해주시면 됩니다.
강좌 계획 및 주요 목차
위 강좌 이외에도 위 강좌를 위해 필요한 강좌와 소스코드를 정리가 되는대로 계속 업데이트할 계획 입니다.
1. 개발환경설정하기 (Python 3.8 & VirtualenvWrapper)
- [완료] [링크] Mac OS 기준 설치하기
- [완료] [링크] 윈도우 10 기준 설치하기
- 파이참 설치설정
2. 파이썬 주요 문법
- [완료] [링크] 자료구조 ( 리스트, 딕셔너리 )
- 함수
- 클래스
- 비동기 구현
3. 사용된 주요 패키지 사용법
- [완료] [링크] 파이썬 config 파일의 민감정보 분리방법
- [완료] [링크]파이썬으로 Youtube 요리하기 (pafy 패키지 사용법)
- [완료] python-vlc 패키지 사용법
- tkinter 패키지 기초사용법
- pyinstaller 를 이용하여 exe파일 만들기
4. Youtube 플레이어 설계/소스코드
- 화면설계서
- 프로그램 목록 (클래스 다이어그램, 컨포넌트명세서, 클래스정의서)
- 개발표준정의서 : 변수명, 클래스네임, 파일명규칙
- 소스코드
==============================================
게으름쟁이지만...
열씸히 업데이트 해보겠습니다;;;;
많이 써보시고 피드백 부탁드립니다. (버그도..)
그리고
반응이 괜찮다면 영상강좌도 만들어볼 생각입니다;;
허접할 수 있는 강좌지만.. 열씸히 채워가 보겠습니다.
감사합니다.
많은 관심 부탁드리겠습니다.
지루한 문법보다는 실제 응용에 초점을 맞춰서 진행하려고 합니다.
저의 게으름을 넘어 지속적으로 업데이트 될 수 있도록
종종 놀러와주세요. ㅎㅎ
업데이트 해주시는대로 잘 배워보고싶네요.
잘할지 모루겠지만..
최선을 다해보겠습니다. ㅎㅎ
응원 부탁드립니다. ㅎㅎ
감사합니다.
힘이 나네요 ㅎㅎ
감사합니다.
차근차근 업데이트 해보겠습니다.
댓글과 관심 감사합니다.
감사합니다.
아~.. 스크랩될 정도로 좋은 내용으로 채워져야 할텐데...ㅠㅠ
여튼 감사합니다.
프로그래밍은 실용/실전이 중요하죠..ㅎㅎ
클량엔 전체 강좌의 내용과 링크를 정리 공유하고 있고...
블로그에서 계속 업데이트 하고 있습니다.
그리고
소스코드는 모든 강좌가 다 정리되면 최종적으로 github을 통해 배포할 예정입니다.
감사합니다.
글재주가 좋지 않아;; 보기 어려울 수 있긴하지만..(최선을 다해 써보겠습니다만..)
잼있게 보셨으면 좋겠습니다.
잘보겠습니다 ㅎㅎ
사실 좀 힘들었습니다;;;;;
다시 한 번 도전해봐야겠네요
유투브 플레이어를 써보시고 대충 어떻게 동작하는지 감을 잡으신 다음..
본문에 링크된 강좌대로 하나씩 따라오시면
분명 자신감을 얻으실껍니다.
일단 써봐주시면 감이 오실껍니다. ㅎㅎ
화이팅입니다.
클래스에 구현만 해두었고 gui로 구현은 안해놨으니
강좌를 다보시고 맘껏 응용해서 구현하셔도 될꺼 같습니다
(vlc 패키지 관련 글 작성할때 포함될것입니다)
감사합니다.
무엇보다도..
이것저것 뜯어보고 만들어보는 재미가 있을껍니다. ㅎㅎ
파이썬에는 웬만한 패키지(모듈)들이 잘 되어 있다보니..
기본 프로그래밍 수준만 되어도 자신이 원하는 프로그래밍을 손쉽게 만들 수 있다는 강점이 있긴하죠.
많은 도움이 되었으면 좋겠습니다.
감사합니다.
실생활에 유용한 프로그래밍이 되길..ㅎㅎ
짝짝짝 ㅎ
감사합니다.
파이썬을 해야하는 이유가 또 느는군요~ ㅎ
아...그런게 있었군요..
지저분하게 여러개의 강좌를 놓기 어렵고 목록정리가 어려워..
강좌는 본글과 제 블로그에 계속 업데이트할 예정입니다. (목차의 링크된 항목만 찾아보셔도 될꺼 같습니다.)
감사합니다. ㅎㅎ
당분간은 본문에 대한 강좌를 계속 업데이트해야 할꺼 같습니다.
(생각보다 얘기해야할게 많네요. 거의 책한권 집필해야하는건 아닌지;;;;)
항상 감사합니다~
좋은 말씀 감사합니다.
셔플 기능과 반복 재생 기능, 특정 위치로 건너뛰기, 10초 전 후로 이동하는 기능 등을 제가 이어서 개발해보고, 같이 쓰고 싶습니다.
소스코드 지저분해도 분석할 수 있습니다..
제 이메일은 admin@projectdh.link 입니다!
아...ㅠㅠ 정리되면 공유할려고 했는데..
시간이 너무 많이 흘렀네요.ㅠ ㅠ
곧 github에 올려서 공유드리도록 할께요.
C:/Program Files/VideoLAN/VLC/plugins/* 이 디렉토리를 포함하면 exe 폴더 포함 디렉토리 용량이 커져서 그러는데
쿠키맨님이 만드신 것처럼 경로의 파일은 포함하지 않지만, 컴퓨터에 있는 폴더에 접근하려면 어떻게 옵션을 추가해야 하는지 알려주실 수 있을까요?
virtualenv를 이용하여 가상환경을 설정하시고 ..
해당 가상환경에서 필요한 필수라이브러리만 설치후 pyinstaller 이용하시면 용량이 작아집니다.
(exe 파일만 만들려면 -F 옵션을 주시면 될껍니다.)
virtualenvwrapper-win 설치방법은 제 블로그 참고하시면 될꺼 같습니다.
https://scv-life.tistory.com/104
vlc 바이너리 폴더를 추가하지 않고 윈도우 경로에서 참조하게 하고싶습니다..
아.. 무슨 말씀이신지 이해했습니다.
관련 소스가 회사 개발서버에 있어서 지금 정확한 확인이 안되긴 하는데...
(기억이 가믈가믈해서 내일 정확히 알려드릴께요..^^;;)
보통 pyinstaller에 라이브러리를 포함시킬려면
pyinstaller를 실행시키면 부산물로 나오는 파일명.spec의 binaries 항목에 해당 라이브러리를 추가해주면 될껍니다. ^^;;;
(이거 되게 중요한건데 까먹고 있었네요;;)
여튼 그렇습니다.^^;; 혹시 또 궁금한것 있으면 댓글 달아주세요.
바이너리 용량이 90MB 정도되는 것 같습니다.
그 바이너리를 포함하는 대신 사용자의 컴퓨터에 설치된 vlc 플레이어 바이너리를 이용하고, 프로그램 용량을 줄이고 싶다는 이야기였습니다.
https://github.com/cookyman74/youtube_music_player
깃헙에 올려놨어요..^^;;
좀 많이 늦었네요..ㅠㅠ