사이드 프로젝트를 개발한다고 한지 벌써 3개월이 지났습니다.
“해야하는데..” 라는 마음의 빚만 갖고 다른 일을 하느라 바빴죠.
지원사업 마무리도 있었고, 필름업 오픈.. 개정판 집필 등 핑계 댈 건 많습니다..
그래도 잊지 않고 완성해서 가져왔습니다.
물론 처음 계획했던 카메라 관련 앱은 아니지만,
오히려 조금 더 재밌고, “토이 프로젝트”라고 부를만한 귀여운(?) 앱을 만들었습니다.
앱은 LAH 쥬크박스인데, 앱에 대한 설명을 하기 전에 사무실 분위기를 설명해야겠네요.
가끔 일하다 분위기가 너무 적막할 때 아무나 음악을 제안합니다.
그러면 사무실에 있는 스피커에 각자 휴대폰으로(또는 회사 휴대폰으로) 연결해서 음악을 듣죠.
그러다 보면 오피스 채널에 많은 신청곡이 올라옵니다.
가끔 예상치 못한 선곡에 감탄도 하고 감상도 합니다.
그래서 든 생각이, 음악을 재생할 수 있는 앱을 만들어 회사 휴대폰에 설치하고 이 앱을 제어할 수 있는
웹을 만들면 어떨까? 라는 생각이 들어서 시작했습니다.
너무 재밌을 것 같고, 기술적으로 어려운 부분이 없어서 금요일에 퇴근하고 부랴부랴 만들었습니다.
(역시.. 토이 프로젝트가 제일 재밌는 것 같아요.)
금요일이면 완성할 수 있을 줄 알았으나, 토요일까지 개발이 이어졌고 결국 완성했습니다.
앱은 당연히 Flutter를 이용해서 만들었고, 완성해 보니 이제 간단한 화면 구성은 어렵지 않은 것 같습니다.
다만 아직 화면 전환이나 앱 특화된 기능들 (오디오 컨트롤러를 연결해서 사용한다거나..)을 다루기는 어렵지만
단순히 오디오 채널을 열어 재생하는 것은 just_audio라는 패키지를 이용하여 쉽게 구현할 수 있었습니다.
강의를 본 덕(?)인지, 아주 간단한 프로젝트이지만 코드 구조도 만족스럽습니다.
LAH 쥬크박스의 경우에는 편의를 위해서 서버를 활용하여 개발했지만,
조금만 응용한다면 유튜브 프리미엄을 이용하지 않고, 유튜브 뮤직과 같은 앱을 만들 수 있을 것 같네요.
혹시나 비슷한 앱을 만들려는 분들에게 간단히 Flow를 말씀드리면,
- 웹에서 유튜브 링크를 입력
- 서버에서 해당 유튜브 링크의 리소스를 다운받음 (youtube-dl 또는 yt-dlp 사용)
- yt-dlp 패키지는 툴로 사용할 수도 있고 파이썬 패키지로도 활용 가능
- 다운받은 리소스를 서버의 URL로 반환하여 DB에 저장
- 앱은 서버에 등록된 리소스 리스트를 polling
- 재생 정보를 확인하고 재생
입니다.
당연히 재생중, 일시정지 등 상태 관리를 위해서 조금 더 많은 로직이 필요하지만 기본적인 기능은 위와 같습니다.
또한 당연히 LAH 사무실에서만 사용하기 때문에
모든 링크는 192~로 시작하는 내부망 주소를 사용하고 있습니다.
정말 작은 프로젝트이지만, 완성이 가져다주는 결과는 늘 기대 이상인 것 같습니다.
자신감도 생기고, 뿌듯하고 재밌기까지.
아무래도, 사이드 프로젝트를 쉬면 안 될 것 같습니다 😀
LAH의 서비스
내 포트폴리오도 만들고 구인구직까지 가능한, 영상 창작자 매칭 플랫폼
비디어스(Vidius) 둘러보기
🗓 한국 영화제 일정 및 정보를 한눈에 보고 싶으시다면?
🎞 내 영화를 온라인에서 판매하고 싶다면?
🍿 그동안 만나보지 못했던 나만의 영화를 디깅하고 싶다면?
필름업(FILMUP) 둘러보기
📷 촬영장비 렌탈, 한 번에 검색하고 싶으시다면?
장비모아 둘러보기