SEBS(신갈고교 방송부) 유튜브 영상 무손실 다운로더
유튜브 영상을 최대 4k까지 무손실로 다운로드할 수 있는 프로그램
프로젝트 개요
기존 유튜브 영상 다운로드의 화질 저하 및 유료화 문제로 재학중인 고등학교 방송부에서 곤란함을 겪고있다는 문제를 접하게 되었으며,
이를 해결하고자 유튜브 영상 무손실 다운로더를 제작하였습니다.
기술 스택
- Language: Python
- GUI Framework: Tkinter
- Video Download: yt-dlp
- Multimedia Processing: ffmpeg
- Platform: Windows Desktop
주요 기능
- 최대 4K 해상도 무손실 다운로드
- 영상/음원 포맷 선택 다운로드
- 다운로드 진행률 실시간 표시
- GUI 기반 원클릭 다운로드
- 비동기 처리로 UI 프리즈 방지
구현
yt_dlp 라이브러리를 활용하여 유튜브 영상 다운로드 기능을 모듈화하고, 다양한 영상 포맷에 대응할 수 있도록 다운로드 함수를 설계했습니다.
또한 비개발자인 방송부원들도 쉽게 사용할 수 있도록 데스크톱 GUI 형태로 애플리케이션을 구현하여, 복잡한 명령어 입력 없이 직관적인 방식으로 영상 다운로드가 가능하도록 사용자 경험을 개선했습니다.
프론트엔드 (GUI 구현)
Figma를 활용하여 GUI 레이아웃과 배경 이미지를 설계한 뒤, 이를 기반으로 tkinter를 통해 데스크톱 애플리케이션 화면을 구현했습니다.
디자인 시안과 실제 구현 화면 간의 일관성을 유지하는 데 중점을 두어 사용자 친화적인 인터페이스를 구성했습니다.
또한 대용량 영상 다운로드 과정에서의 사용자 경험을 개선하기 위해 threading을 적용했습니다.
메인 UI가 멈추지 않도록 비동기 다운로드 구조를 설계하고, 별도의 진행 창에서 다운로드 상태를 실시간으로 확인할 수 있도록 구현했습니다.
마무리
배포 편의성을 높이기 위해 pyinstaller를 활용하여 애플리케이션을 완전 단일 실행 파일 형태로 패키징했습니다.
이를 통해 별도의 Python 환경 설정 없이도 방송부원들이 프로그램을 즉시 사용할 수 있도록 배포 환경을 개선했습니다.
본 프로젝트는 실제 사용자(방송부)를 대상으로 한 문제 해결형 개발 경험이었다는 점에서 의미가 컸으며,
도구 도입 이후 편집 workflow가 개선되었다는 피드백을 통해 실사용 가치를 확인할 수 있었습니다.
이번 개발을 통해 사용자 중심 설계와 실무형 데스크톱 애플리케이션 구현 역량을 한층 강화할 수 있었습니다.

