유튜브 링크와 저장 폴더만 지정하면, 선택한 형식으로 음악·영상을 저장해 주는 데스크탑 앱입니다.
- 음악 추출: MP3(128~320kbps) · M4A(원본 AAC, 무변환) · WAV(무손실)
- 영상 저장: MP4 (최고 화질 영상+음성 병합)
- 자동 메타데이터: 제목·아티스트 정보와 앨범 아트(썸네일) 자동 임베드
- 실시간 진행률: 다운로드 속도·남은 시간·진행 로그 표시
- 로그인 불필요: 링크와 폴더만 있으면 바로 동작
백엔드는 Go로 작성되었고, 실제 다운로드/변환은 검증된 오픈소스 도구인
yt-dlp(다운로드)와
ffmpeg(포맷 변환)를 호출해 처리합니다.
이 두 도구는 최초 실행 시 자동으로 내려받아 앱 데이터 폴더
(%LOCALAPPDATA%\espresso\bin)에 저장됩니다. 시스템 PATH에 이미 설치돼 있으면
그것을 그대로 사용합니다. (별도 설치 불필요, 최초 1회만 인터넷 연결 필요)
| 구분 | 사용 기술 |
|---|---|
| 프레임워크 | Wails3 (v3.0.0-alpha.74) |
| 백엔드 | Go 1.25+ |
| 프론트엔드 | React 18 + TypeScript + Vite |
| 다운로드/변환 | yt-dlp · ffmpeg (자동 다운로드) |
espresso/
├── main.go # 앱 진입점 · 윈도우/서비스 등록
├── download_service.go # 정보 조회 · 다운로드 · 진행 이벤트 (프론트 바인딩)
├── exec_windows.go / _other.go # 자식 프로세스 콘솔 창 숨김 (플랫폼별)
├── internal/binaries/
│ └── manager.go # yt-dlp/ffmpeg 탐지 및 자동 다운로드
└── frontend/
└── src/
├── App.tsx # 메인 화면 (URL·형식·폴더·진행률)
└── App.css # 스타일
사전 요구사항: Go, Node.js, Wails3 CLI, Task
# 개발 모드 (핫 리로드)
wails3 task dev
# 프로덕션 빌드 → bin/espresso.exe
wails3 task build
# 배포용 패키지
wails3 task package- 앱을 실행합니다. (최초 실행 시 도구 다운로드가 끝날 때까지 잠시 대기)
- 유튜브 링크를 붙여넣고 정보 버튼으로 제목·길이를 확인합니다. (선택)
- 저장 형식(MP3/M4A/WAV/영상)을 고릅니다. MP3는 음질(kbps)도 선택할 수 있습니다.
- 폴더 선택으로 저장 위치를 지정합니다.
- 다운로드를 누르면 진행률과 함께 변환까지 완료됩니다.
개인적으로 소유하거나 라이선스가 허용된 콘텐츠에 한해 사용하세요. 유튜브 서비스 약관 및 저작권법 준수는 사용자 책임입니다.