쿠키맨 (112.♡.119.111)
2024년 11월 2일 PM 11:18 · 수정됨(11. 21. 16:24)
금요일에 퇴사하고...
잠시 정신줄 좀 잡으려고 github 정리하다보니,
예전에 만들다 만놈이 있었네요;;;;
그래서 어제 그제 좀 달려서 아래와 같은 놈을 만들었습니다.
아직은 허접하지만, (클라는 힘들어요 ㅎ)
그냥저냥 쓸만하게 만들었습니다. (음원을 다운받아서 구글드라이브에 올려서 들어도 좋을 것 같아요 ㅎ)
https://github.com/cookyman74/youtube_music_player
PyTube Player - YouTube MP3 Downloader Player
PyTube Player는 YouTube 플레이리스트를 다운로드하고 MP3 형식으로 재생할 수 있는 간단한 음악 플레이어입니다. 이 프로그램은 Tkinter와 Pygame을 기반으로 한 GUI를 통해 사용하기 쉽고 직관적인 경험을 제공합니다. 또한 로컬 오디오 파일도 추가하여 재생할 수 있습니다.
주요 기능
- YouTube 플레이리스트 다운로드 및 재생: YouTube URL을 입력하여 플레이리스트를 다운로드하고 MP3 파일로 변환하여 재생할 수 있습니다.
- 로컬 파일 추가: 로컬에 저장된 오디오 파일을 추가하여 재생할 수 있습니다.
- 재생 목록 관리: 플레이리스트를 생성하고 파일을 관리할 수 있습니다.
- 앨범 아트 및 오디오 웨이브폼 시각화: 현재 재생 중인 곡의 썸네일을 표시하며, 오디오 웨이브폼을 시각화합니다.
- 프로그레스 바 및 볼륨 조절: 재생 중인 트랙의 진행 상황과 볼륨을 조절할 수 있습니다.
- 메인플레이 및 설정화면
- 앨범 및 플레이리스트 관리화면
로컬 파일 추가 화면
설치 및 실행 방법
필수 라이브러리
프로젝트를 로컬에서 실행하기 위해서는 다음과 같은 Python 라이브러리가 필요합니다.
pip install -r requirements.txt
프로젝트 실행
프로젝트는main.py파일을 통해 실행할 수 있습니다.
python main.py
EXE 파일로 실행하기 (Windows 사용자)
향후pyinstaller를 이용해.exe파일로 변환하여 제공할 예정입니다..exe파일을 다운로드하면 Python 환경 없이도 쉽게 프로그램을 실행할 수 있습니다.
EXE 파일 다운로드 및 실행
- GitHub 릴리스 페이지에서 최신 버전의.exe파일(dist폴더 내 모든 파일)을 다운로드합니다.
다운로드한 main.exe파일을 더블 클릭하여 프로그램을 실행합니다.- 프로그램이 자동으로 실행되며, GUI를 통해 음악 파일을 추가하고 재생할 수 있습니다.
유튜브 재생목록 다운받는 법.
(1) 주소줄을 복사

(2) PyTube player의 메뉴에서 "Add Youtube Playlist"를 클릭

(3) 유튜브 playlist 주소를 붙여 넣기 해줍니다.

(4) 비동기적으로 실행되기 때문에 메뉴의 playlist를 클릭해서 보시면 메뉴를 보실 수 있습니다.
(실시간 업데이트는 나중에 개발해두겠습니다;;)

(5) 음원은 아마도 실행한 폴더 아래에 어딘가.. downloaded_audios 폴더에 저장될 것 입니다. ㅎㅎ (setting을 아직 안만들어 놨네요;;)

이상 끝 ;;; 입니다.
궁금하신 사항이 있으시면 제 블로그 또는 다모앙에 댓글 달아주세요. ㅎㅎ
댓글 (27)
-
레레고마스터
24.11.03 · 124.♡.194.41
감사합니다. 잘쓰게겠습니다. -
쿠쿠키맨
→ 레고마스터 작성자
24.11.03 · 112.♡.119.111
감사합니다. -
쿠쿠키맨
작성자
24.11.03 · 112.♡.119.111
윈도우에서 다운로드는 다음 링크에서 main.exe를 다운받아서 실행해보세요.
https://github.com/cookyman74/youtube_music_player/tree/Main/dist
그러면 music_player.db와 thumbnails가 생길 것입니다.
그리고 유튭 재생목록을 넣으면 downloaded_audios 가 생성될 것입니다. -
Ggoogle_xxxxxxxx
24.11.03 · 14.♡.120.40
감사 합니다.
꼭 좋은데 재 취업 하세요.
맥은.... 없네요? -
쿠쿠키맨
→ google_xxxxxxxx 작성자
24.11.03 · 112.♡.119.111
맥은 아직 못 만들었어요..ㅠㅠ
제 맥북이 문제인지 뭔지 모르겠지만,, pyinstaller가 계속 오류나서 빌드를 못하고 있네요;;
암튼 원인 찾으면 올려두겠습니다.
그동안 어쩔 수 없이 파이썬을 설치하여 사용하시면 일단은 됩니다. ^^; -
생생각과마음
24.11.03 · 211.♡.139.82
우와~ 꼭 필요한 프로그램이었는데 올려주셨네요. 잘 쓰겠습니다. -
애애쉬s
24.11.03 · 124.♡.92.113
오..좋네요. 윈도우에서 다운받기는 잘 되는데.. 플레이리스트 별로 폴더생성해서 다운받으면 더 좋겠습니다.
확장자는 webm으로 다운로드 되네요. mp3 다운은 어떻게 해야 하는건지요?
리스트 삭제기능도 있어야 할 것 같습니다. -
쿠쿠키맨
→ 애쉬s 작성자
24.11.03 · 112.♡.119.111
일단 설정 및 리스트 관리 페이지는 만들고 있습니다 ^^;;
그리고 다운로드 방식은 yt_dlp에서 webm으로 다운 받아 mp3으로 변환하고 있는데.. 굳이 그럴 필요가 없어서 다음과 같이 변경될 예정입니다. (youtubePlayer.py 소스코드 중에)
[code=python]
def download_and_convert_audio(self, url, title):
"""YouTube 비디오 URL에서 오디오 스트림을 다운로드하고 MP3로 변환 후 경로 반환"""
ydl_opts = {
'format': 'bestaudio/best',
'outtmpl': f'downloaded_audios/{title}.mp3', # 최종적으로 mp3 파일로 저장
'quiet': True,
'postprocessors': [{ # postprocessors를 사용해 MP3로 변환
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192', # 필요에 따라 품질을 조정 가능
}],
}
# YouTube에서 오디오 다운로드 및 MP3로 변환
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
output_path = f'downloaded_audios/{title}.mp3'
return output_path⠀[/code] -
쿠쿠키맨
→ 애쉬s 작성자
24.11.07 · 112.♡.119.111
아.. 이게 보니깐 ffmpeg가 없어서 그런거더라구요;; (저는 예전에 설치되어 있어서 몰랐...;;)
윈도우 버전은 포함시켜서 배포하려 합니다. -
프프시케
24.11.03 · 59.♡.111.98
좋은 정보 감사합니다~
댓글을 작성하려면 이 필요합니다.


