
유튜브 다운로더를 직접 만들어보기로 했습니다
왜냐구요?
열받는 낚시 사이트 - 여러 페이지를 계속 뺑뺑이 돌리는데 정작 다운로드는 안됨 ㅋㅋ
열받는 광고 사이트 - 광고 페이지가 수십개가 나옴 광고 클릭 안 하면 넘어가지지가 않음 ㅋㅋ

이런 열받는 경험 다들 있으실거라고 생각합니다
또 낚였죠? ㅋㅋ
그래서 광고없이 유튜브 영상을 다운받는 프로그램을 만들어봤습니다
직접 Python + Pyside6를 활용해서 개발을 했는데요,
현재까지 개발된 프로그램의 모습은 이렇습니다

유튜브 다운로더 프로그램은 무료로 사용하실 수 있습니다.
(다운로드 받으러가기 링크)
유튜브 url 넣고 다운로드 누르면 끝

이번글 목차 입니다
1️⃣ 프로그램 사용법
현재 개발된 유튜브 다운로더는 Python + PySide6 + yt-dlp를 기반으로 동작하며,사용자가 유튜브 URL을 입력하면 영상(또는 자막)을 다운로드할 수 있는 GUI 프로그램이다.
📌 프로그램 실행 방법

1. 프로그램 실행 후 유튜브 링크 입력하기
- 유튜브 링크를 복사한 후 프로그램 창에서 다운로드할 유튜브 URL을 입력한다.
- 여러 개의 영상을 한 번에 다운로드할 수도 있습니다.
- 기본적으로 영상은 .mp4 형식, 자막은 .vtt 형식으로로 저장됩니다.
2. 파일 저장 위치
- 다운로드한 영상은 기본적으로 프로그램이 있는 곳 'tw_youtube_download' 폴더 내에 저장됩니다.
- 이후 업데이트에서 사용자가 저장 경로를 선택할 수 있도록 개선할 예정입니당.
2️⃣ 🚨 프로그램 사용 시 주의할 것🚨
이 프로그램은 무조건 개인 소장용으로만 사용해야 하며,
다운로드한 유튜브 영상을 배포하는 것은 불법일 수 있으므로 절대 금지입니다! (책임못짐)
🚨 유튜브 서비스 약관 참고 🚨
- 유튜브는 공식적으로 영상 다운로드를 허용하지 않는다.
- 다만, 개인적인 용도로 영상을 저장하는 것은 법적으로 크게 문제 되지 않는 경우가 많다.
- 하지만 다운로드한 영상을 SNS, 블로그, 유튜브 등에 재업로드하거나 배포하는 것은 불법이므로 절대 금지해야 한다.
🚨 프로그램 사용 시 꼭 지켜야 할 것! 🚨
✅ 다운로드한 영상은 개인 소장 용도로만 사용하기
✅ 원본 영상 제작자의 권리를 침해하지 않도록 주의하기
✅ 유튜브 콘텐츠 제작자가 허용한 경우(예: CC 라이선스 영상)만 다운로드 권장
이 점을 반드시 인지하고 프로그램을 사용하셔야합니다!
3️⃣ 프로그램 만들면서 여러번 수정한 GUI 버전들
yt-dlp라는 파이썬 라이브러리를 기반으로 유튜브 영상, 자막 다운로드 기능을 구현했습니다.
GUI는Pyside6으로 개발을 했구요.

URLS에 여러분이 다운받을 유튜브 영상의 주소를 넣으면 다운로드가 시작됩니다. [yt-dlp사용법]
우선은 terminal, cmd 수준에서 유튜브 링크를 입력하면 yt-dlp를 통해 영상을 다운받는 로직을 개발했습니다.
어느정도 라이브러리에 대한 파악이 끝났을 때 ChatGPT를 활용해서 Pyside6 GUI를 만들어나갔구요.
Balsamiq라는 프로그램으로 간단한 와이어프레임을 만들었습니다.
초기 뇌피셜로 상상한 GUI입니다

아래는 첫번째 버전입니다.
진짜 심플하게 영상 1개만 다운받을 수 있도록 만들었었네요.

아래 이미지는는 두번째 버전 GUI 입니다.

여러개의 영상을 다운받아 아래 리스트에 추가 되도록 관련 기능들을 class DownloadItemWidget에서 처리할 수 있게 코드를 변경했습니다
또 동시에 다운로드를 진행하기 위해서 유튜브 다운로드(yt-dlp) 관련 코드를 class YoutubeDownloadWorker(QThread)에서 처리하도록 하였습니다.

여기까지 개발했을때 yt-dlp와 관련된 개발은 90% 완료했었고,
이후에는 자잘한 GUI 꾸미기를 진행했습니다
디자인 감각이 영 부족해서...
최대한 심플(맞나?)하게 만들어봤습니다
이렇게 뱃지(Badge) 스타일도 추가해봤구요. 유튜브 URL을 입력받는 QLineEdit도 style sheet를 괜찮게 꾸몄습니다.

이렇게 뱃지(Badge) 스타일도 추가해봤구요. 유튜브 URL을 입력받는 QLineEdit도 style sheet를 괜찮게 꾸몄습니다.
그렇게 뽀짝뽀짝 다듬어 나가면서 현재 2025년 3월 7일 기준으로 요런 GUI를 완성을 했구요.

4️⃣향후 추가할 것
현재 버전에서는 기본적인 다운로드 기능만 제공하지만, 더 편리한 기능을 추가할 계획입니다.
📌 1. 다운로드 화질 선택 기능
현재는 최고 화질로만 다운로드되지만,
사용자가 해상도(4K, 1080p, 720p 등)를 직접 선택할 수 있도록 개선할 예정!
📌 2. 오디오(MP3)'만' 다운로드 기능
유튜브에서 음악을 다운로드할 때 MP3 파일로 변환할 수 있도록 추가 개발 중.
- yt-dlp의 옵션을 활용해, 영상이 아닌 오디오만 추출 가능하도록 변경할 계획!
- "영상 다운로드"와 "오디오 다운로드"를 버튼으로 선택할 수 있게 만들 예정.
📌 3. 다운로드 경로 설정 기능
현재는 기본 폴더에 자동 저장되지만,
사용자가 원하는 폴더를 선택할 수 있도록 설정 메뉴 추가 예정.
📌 4. 다운로드 속도 개선
여러 개의 영상을 동시에 다운로드할 때 속도를 최적화하는 기능 추가!
- 현재는 QThread를 활용해 병렬 다운로드를 구현했지만,
향후 다운로드 속도를 더 빠르게 할 수 있도록 개선할 계획이다.
✅ 마무리하며…
이 프로그램은 광고 없이, 불필요한 웹사이트를 거치지 않고,
간편하게 유튜브 영상을 다운로드할 수 있도록 개발한 프로젝트 입니다.
하지만, 반드시 개인적인 용도로만 사용해야 한다는 점을 다시 한번 강조하며,
앞으로 기능을 개선해 더 편리한 유튜브 다운로더로 발전시킬 계획이다!
추가했으면 하는 기능이나 의견이 있다면 댓글로 남겨주세요! 😊
혹시나 코드가 필요하신분은 비밀댓글 남겨주시면 이메일로 전송해드리겠습니다
유튜브 다운로더를 직접 만들어보기로 했습니다
왜냐구요?
열받는 낚시 사이트 - 여러 페이지를 계속 뺑뺑이 돌리는데 정작 다운로드는 안됨 ㅋㅋ
열받는 광고 사이트 - 광고 페이지가 수십개가 나옴 광고 클릭 안 하면 넘어가지지가 않음 ㅋㅋ
이런 열받는 경험 다들 있으실거라고 생각합니다
또 낚였죠? ㅋㅋ
그래서 광고없이 유튜브 영상을 다운받는 프로그램을 만들어봤습니다
직접 Python + Pyside6를 활용해서 개발을 했는데요,
현재까지 개발된 프로그램의 모습은 이렇습니다
유튜브 다운로더 프로그램은 무료로 사용하실 수 있습니다.
(다운로드 받으러가기 링크)
유튜브 url 넣고 다운로드 누르면 끝
이번글 목차 입니다
1️⃣ 프로그램 사용법
현재 개발된 유튜브 다운로더는 Python + PySide6 + yt-dlp를 기반으로 동작하며,사용자가 유튜브 URL을 입력하면 영상(또는 자막)을 다운로드할 수 있는 GUI 프로그램이다.
📌 프로그램 실행 방법
1. 프로그램 실행 후 유튜브 링크 입력하기
2. 파일 저장 위치
2️⃣ 🚨 프로그램 사용 시 주의할 것🚨
이 프로그램은 무조건 개인 소장용으로만 사용해야 하며,
다운로드한 유튜브 영상을 배포하는 것은 불법일 수 있으므로 절대 금지입니다! (책임못짐)
🚨 유튜브 서비스 약관 참고 🚨
🚨 프로그램 사용 시 꼭 지켜야 할 것! 🚨
✅ 다운로드한 영상은 개인 소장 용도로만 사용하기
✅ 원본 영상 제작자의 권리를 침해하지 않도록 주의하기
✅ 유튜브 콘텐츠 제작자가 허용한 경우(예: CC 라이선스 영상)만 다운로드 권장
이 점을 반드시 인지하고 프로그램을 사용하셔야합니다!
3️⃣ 프로그램 만들면서 여러번 수정한 GUI 버전들
yt-dlp라는 파이썬 라이브러리를 기반으로 유튜브 영상, 자막 다운로드 기능을 구현했습니다.
GUI는Pyside6으로 개발을 했구요.
URLS에 여러분이 다운받을 유튜브 영상의 주소를 넣으면 다운로드가 시작됩니다. [yt-dlp사용법]
우선은 terminal, cmd 수준에서 유튜브 링크를 입력하면 yt-dlp를 통해 영상을 다운받는 로직을 개발했습니다.
어느정도 라이브러리에 대한 파악이 끝났을 때 ChatGPT를 활용해서 Pyside6 GUI를 만들어나갔구요.
Balsamiq라는 프로그램으로 간단한 와이어프레임을 만들었습니다.
초기 뇌피셜로 상상한 GUI입니다
아래는 첫번째 버전입니다.
진짜 심플하게 영상 1개만 다운받을 수 있도록 만들었었네요.
아래 이미지는는 두번째 버전 GUI 입니다.
여러개의 영상을 다운받아 아래 리스트에 추가 되도록 관련 기능들을 class DownloadItemWidget에서 처리할 수 있게 코드를 변경했습니다
또 동시에 다운로드를 진행하기 위해서 유튜브 다운로드(yt-dlp) 관련 코드를 class YoutubeDownloadWorker(QThread)에서 처리하도록 하였습니다.
여기까지 개발했을때 yt-dlp와 관련된 개발은 90% 완료했었고,
이후에는 자잘한 GUI 꾸미기를 진행했습니다
디자인 감각이 영 부족해서...
최대한 심플(맞나?)하게 만들어봤습니다
이렇게 뱃지(Badge) 스타일도 추가해봤구요. 유튜브 URL을 입력받는 QLineEdit도 style sheet를 괜찮게 꾸몄습니다.
이렇게 뱃지(Badge) 스타일도 추가해봤구요. 유튜브 URL을 입력받는 QLineEdit도 style sheet를 괜찮게 꾸몄습니다.
그렇게 뽀짝뽀짝 다듬어 나가면서 현재 2025년 3월 7일 기준으로 요런 GUI를 완성을 했구요.
4️⃣향후 추가할 것
현재 버전에서는 기본적인 다운로드 기능만 제공하지만, 더 편리한 기능을 추가할 계획입니다.
📌 1. 다운로드 화질 선택 기능
현재는 최고 화질로만 다운로드되지만,
사용자가 해상도(4K, 1080p, 720p 등)를 직접 선택할 수 있도록 개선할 예정!
📌 2. 오디오(MP3)'만' 다운로드 기능
유튜브에서 음악을 다운로드할 때 MP3 파일로 변환할 수 있도록 추가 개발 중.
📌 3. 다운로드 경로 설정 기능
현재는 기본 폴더에 자동 저장되지만,
사용자가 원하는 폴더를 선택할 수 있도록 설정 메뉴 추가 예정.
📌 4. 다운로드 속도 개선
여러 개의 영상을 동시에 다운로드할 때 속도를 최적화하는 기능 추가!
향후 다운로드 속도를 더 빠르게 할 수 있도록 개선할 계획이다.
✅ 마무리하며…
이 프로그램은 광고 없이, 불필요한 웹사이트를 거치지 않고,
간편하게 유튜브 영상을 다운로드할 수 있도록 개발한 프로젝트 입니다.
하지만, 반드시 개인적인 용도로만 사용해야 한다는 점을 다시 한번 강조하며,
앞으로 기능을 개선해 더 편리한 유튜브 다운로더로 발전시킬 계획이다!
추가했으면 하는 기능이나 의견이 있다면 댓글로 남겨주세요! 😊
혹시나 코드가 필요하신분은 비밀댓글 남겨주시면 이메일로 전송해드리겠습니다