유튜브 재생목록의 음악을 쉽게 다운 받는 법.

알림
|
X

페이지 정보

작성자 쿠키맨 112.♡.119.111
작성일 2024.11.02 23:18
분류 컴퓨터
2,278 조회
33 추천

본문

금요일에 퇴사하고...

잠시 정신줄 좀 잡으려고 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 파일로 변환하여 재생할 수 있습니다.
  • 로컬 파일 추가: 로컬에 저장된 오디오 파일을 추가하여 재생할 수 있습니다.
  • 재생 목록 관리: 플레이리스트를 생성하고 파일을 관리할 수 있습니다.
  • 앨범 아트 및 오디오 웨이브폼 시각화: 현재 재생 중인 곡의 썸네일을 표시하며, 오디오 웨이브폼을 시각화합니다.
  • 프로그레스 바 및 볼륨 조절: 재생 중인 트랙의 진행 상황과 볼륨을 조절할 수 있습니다.



img_7.png

  • 메인플레이 및 설정화면
img_8.png
  • 앨범 및 플레이리스트 관리화면
img.png


로컬 파일 추가 화면

설치 및 실행 방법

필수 라이브러리

프로젝트를 로컬에서 실행하기 위해서는 다음과 같은 Python 라이브러리가 필요합니다.

pip install -r requirements.txt

프로젝트 실행

프로젝트는main.py파일을 통해 실행할 수 있습니다.

python main.py


EXE 파일로 실행하기 (Windows 사용자)

향후pyinstaller를 이용해.exe파일로 변환하여 제공할 예정입니다..exe파일을 다운로드하면 Python 환경 없이도 쉽게 프로그램을 실행할 수 있습니다.

EXE 파일 다운로드 및 실행

  1. GitHub 릴리스 페이지에서 최신 버전의.exe파일(dist폴더 내 모든 파일)을 다운로드합니다.  
  2. 다운로드한 main.exe파일을 더블 클릭하여 프로그램을 실행합니다.
  3. 프로그램이 자동으로 실행되며, GUI를 통해 음악 파일을 추가하고 재생할 수 있습니다.


유튜브 재생목록 다운받는 법.

(1) 주소줄을 복사


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


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


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


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


이상 끝 ;;; 입니다.


궁금하신 사항이 있으시면 제 블로그 또는 다모앙에 댓글 달아주세요. ㅎㅎ

댓글 27 / 1 페이지

레고마스터님의 댓글

작성자 no_profile 레고마스터 (124.♡.194.41)
작성일 11.03 11:00
감사합니다. 잘쓰게겠습니다.

쿠키맨님의 댓글의 댓글

대댓글 작성자 쿠키맨 (112.♡.119.111)
작성일 11.03 12:12
@레고마스터님에게 답글 감사합니다.

쿠키맨님의 댓글

작성자 쿠키맨 (112.♡.119.111)
작성일 11.03 12:14
윈도우에서 다운로드는 다음 링크에서 main.exe를 다운받아서 실행해보세요.
https://github.com/cookyman74/youtube_music_player/tree/Main/dist

그러면 music_player.db와 thumbnails가 생길 것입니다.
그리고 유튭 재생목록을 넣으면 downloaded_audios 가 생성될 것입니다.

cyberhoo님의 댓글

작성자 cyberhoo (14.♡.120.40)
작성일 11.03 15:09
감사 합니다.
꼭 좋은데 재 취업 하세요.
맥은.... 없네요?

쿠키맨님의 댓글의 댓글

대댓글 작성자 쿠키맨 (112.♡.119.111)
작성일 11.03 19:59
@cyberhoo님에게 답글 맥은 아직 못 만들었어요..ㅠㅠ
제 맥북이 문제인지 뭔지 모르겠지만,, pyinstaller가 계속 오류나서 빌드를 못하고 있네요;;
암튼 원인 찾으면 올려두겠습니다.

그동안 어쩔 수 없이 파이썬을 설치하여 사용하시면 일단은 됩니다. ^^;

생각과마음님의 댓글

작성자 생각과마음 (211.♡.139.82)
작성일 11.03 20:24
우와~ 꼭 필요한 프로그램이었는데 올려주셨네요. 잘 쓰겠습니다.

애쉬s님의 댓글

작성자 애쉬s (124.♡.92.113)
작성일 11.03 21:04
오..좋네요. 윈도우에서 다운받기는 잘 되는데.. 플레이리스트 별로 폴더생성해서 다운받으면 더 좋겠습니다.
확장자는 webm으로 다운로드 되네요. mp3 다운은 어떻게 해야 하는건지요?
리스트 삭제기능도 있어야 할 것 같습니다.

쿠키맨님의 댓글의 댓글

대댓글 작성자 쿠키맨 (112.♡.119.111)
작성일 11.03 22:36
@애쉬s님에게 답글 일단 설정 및 리스트 관리 페이지는 만들고 있습니다 ^^;;

그리고 다운로드 방식은 yt_dlp에서 webm으로 다운 받아 mp3으로 변환하고 있는데.. 굳이 그럴 필요가 없어서 다음과 같이 변경될 예정입니다. (youtubePlayer.py 소스코드 중에)

 

     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⠀

쿠키맨님의 댓글의 댓글

대댓글 작성자 쿠키맨 (112.♡.119.111)
작성일 11.07 16:29
@애쉬s님에게 답글 아.. 이게 보니깐 ffmpeg가 없어서 그런거더라구요;; (저는 예전에 설치되어 있어서 몰랐...;;)
윈도우 버전은 포함시켜서 배포하려 합니다.

프시케님의 댓글

작성자 프시케 (59.♡.111.98)
작성일 11.03 21:30
좋은 정보 감사합니다~

원투원투님의 댓글

작성자 no_profile 원투원투 (117.♡.3.44)
작성일 11.03 21:45
쵝오

롱숏님의 댓글

작성자 롱숏 (58.♡.148.15)
작성일 11.03 21:53
감사합니다!

ruthere님의 댓글

작성자 no_profile ruthere (61.♡.173.76)
작성일 11.03 22:39
오옷 이런 팁 좋아요

똥멍충이님의 댓글

작성자 똥멍충이 (221.♡.237.10)
작성일 11.04 13:23
오..감사합니다.!!

일리악님의 댓글

작성자 no_profile 일리악 (203.♡.180.14)
작성일 11.04 18:25
일단 스크랩해놓겠습니다. 감사합니다.

오이지님의 댓글

작성자 오이지 (119.♡.105.151)
작성일 11.05 08:34
유튜부 주소줄 복사 넣기를 하면 재생목록이 아닌 앨범에 들어가는걸까요?

쿠키맨님의 댓글의 댓글

대댓글 작성자 쿠키맨 (112.♡.119.111)
작성일 11.07 16:28
@오이지님에게 답글 안녕하세요. 답변이 늦었네요..ㅠㅠ

네..재생목록 주소를 따서 넣으시면 앨범으로 관리됩니다. (재생목록 = 앨범)

다시시작님의 댓글

작성자 다시시작 (117.♡.28.130)
작성일 11.05 08:43
감사합니다

키큰꼬마님의 댓글

작성자 키큰꼬마 (220.♡.151.31)
작성일 11.05 13:43
잘 사용 하겠습니다.

쿠키맨님의 댓글

작성자 쿠키맨 (112.♡.119.111)
작성일 11.07 16:54
윈도우 사용자분은 다시 받아서 사용해주세요 ^^;;

https://github.com/cookyman74/youtube_music_player/tree/develop/dist

비가오려나님의 댓글

작성자 no_profile 비가오려나 (14.♡.188.159)
작성일 11.07 21:40
고맙습니다.

warpage님의 댓글

작성자 no_profile warpage (58.♡.80.184)
작성일 11.11 22:45
정말 감사합니다

앨범당 곡은 20개가 전부인가요..

재생목록 550개인데 20개만 들어갔어져서요

쿠키맨님의 댓글의 댓글

대댓글 작성자 쿠키맨 (106.♡.129.65)
작성일 11.12 00:07
@warpage님에게 답글 헐...확인해볼께요.

제한같은 없습니다. 그냥 라이브러리를 가져다 쓴거라...

20개는 아닐꺼 같은데 아마 앱 자체에 문제 아닐까 싶은데 확인해볼께요

마법사님의 댓글

작성자 마법사 (180.♡.108.246)
작성일 11.15 23:01
윈도우 11에서 실행이 안되는 문제가 있네요. ㅠㅠ

애쉬s님의 댓글

작성자 애쉬s (124.♡.92.57)
작성일 11.17 18:29
오..간만에 다시 써보니, 플리별 폴더생성 굿! 입니다. 리스트 삭제 기능도 생겼고, 좋네요..
다 좋은데, 한가지 더 요청드리면, 파일 이름에 순번 매기는 기능은 혹시 안 될까요?
예를 들면 어떤 앨범을 순차적으로 들어야 되는데, 즉, 1번 트랙부터 순서대로...
하지만, 이 프로그램을 이용하면, 다운로드 폴더에는 그냥 이름 순서대로 정렬되어 버려서...

그리고, 또 현재는 플레이 리스트에 주소 입력하면 바로 다운받기 시작하는데..
그게 아니라, 플레이리스트 입력하면 플레이리스트에 리스트로 나오고,  그 이후에
플레이리스트나 앨범가서 각 리스트마다 변환(다운로드) 머 이런 버튼 있으면 그 때 작동하도록 하면 좋을 것 같습니다.
아, 중지 버튼이 있어도 더 편할 것 같아요..

예를 들면, 셋팅없이 그냥 플레이 리스트 추가했는데.. 막 작업이 되더라구요.
그래서 셋팅가서 음질 변경시키니 그 이후부터 변경된 음질로 작업이..
그 이후에 중지할 수 없어서 강제 프로그램 중지.. 다시 프로그램 실행시키니
중단되었던 작업 하려는 조짐 보여서 플레이리스트 가서 삭제..
머 이랬습니다.

1) 플레이리스트 추가.. 이후  셋팅 다시 한번 확인 후.. 리스트가서 변환시작!
2) 문제 없으면 끝.. 중간에 무언가 잘못되었으면 중지 누르고, 설정 변경 후 다시 변환시작.. 등등..

이러면 더 좋은 프로그램이 될 것 같습니다.
개발자님들 멋집니다. 감사합니다.

쿠키맨님의 댓글의 댓글

대댓글 작성자 쿠키맨 (112.♡.119.111)
작성일 16:24
@애쉬s님에게 답글 좋은 의견 감사합니다. ^^

애쉬s님의 댓글

작성자 애쉬s (124.♡.92.57)
작성일 11.17 18:32
더욱더 발전하는 프로그램이 될 것이라 강력히 믿습니다^^
홈으로 전체메뉴 마이메뉴 새글/새댓글
전체 검색