Photorium: 내 PC의 사진과 동영상을 위한 개인 미디어 서버 만들기
무료 미디어 서버 Photorium를 소개합니다. (아직 테스트 버전 입니다)
주저리..는 심심하시면 읽어 보세요. 제미나이가 썼습니다.
왜 만들었을까?
여러분도 PC에 흩어져 있는 수많은 사진과 동영상 파일 때문에 정리에 어려움을 겪은 적 없으신가요? 저 역시 스마트폰으로 찍은 사진, 인터넷에서 다운로드한 이미지, 그리고 소중한 동영상들이 여러 폴더에 뒤죽박죽 섞여 있었습니다. 클라우드 서비스는 편리하지만 월별 비용이 부담스럽고, 개인적인 사진을 외부에 저장하는 것이 왠지 모르게 찜찜하게 느껴졌습니다.
그래서 결심했습니다. "내 PC에서 직접 실행되는, 나만의 간단한 미디어 서버를 만들어보자!" 그렇게 Photorium 프로젝트가 시작되었습니다.
Photorium: 주요 기능 소개
Photorium은 복잡한 설치 과정 없이, 실행 파일(photorium.exe) 하나로 모든 것을 해결할 수 있도록 설계되었습니다.
1. 직관적인 GUI 컨트롤러
!GUI 컨트롤러
프로그램을 실행하면, 서버의 상태를 한눈에 볼 수 있는 컨트롤러 창이 나타납니다. 버튼 하나로 웹 페이지를 열거나, 서버를 재시작하고, 실시간으로 접속 로그를 확인할 수 있어 편리합니다.
2. 폴더 기반의 유연한 컬렉션 관리
컬렉션 관리
PC에 있는 어떤 폴더든 '컬렉션'으로 추가할 수 있습니다. '사진' 폴더, '다운로드' 폴더, 심지어 외장 하드에 있는 폴더까지, 원하는 모든 미디어를 Photorium에서 한 번에 관리할 수 있습니다.
3. 날짜순으로 정렬되는 아름다운 갤러리
갤러리
추가된 모든 컬렉션의 사진과 동영상은 촬영된 날짜(수정 날짜 기준)에 따라 자동으로 그룹화되어 표시됩니다. 스크롤을 내리며 과거의 추억을 시간 순서대로 감상하는 재미를 느껴보세요. 동영상은 첫 프레임이 썸네일로 자동 생성되어 어떤 영상인지 쉽게 알아볼 수 있습니다.
4. 숨겨진 정보까지, 상세 메타데이터 뷰어
사진을 클릭하면 단순한 이미지뿐만 아니라, 그 안에 담긴 풍부한 정보를 확인할 수 있습니다.
- 기본 정보: 해상도, 파일명
- 촬영 정보: 카메라 모델
- 위치 정보: GPS 데이터가 있다면, "경기도 용인시 수지구"와 같이 실제 주소로 변환하여 보여줍니다.
어떤 기술을 사용했을까?
Photorium은 다음과 같은 기술 스택으로 만들어졌습니다.
- 백엔드: Flask (Python)
- 웹 서버: Waitress
- 이미지/동영상 처리: Pillow, OpenCV
- GPS 주소 변환: geopy
- 프론트엔드: HTML, CSS, JavaScript (Vanilla JS)
- GUI: Tkinter (Python 기본 라이브러리)
- 실행 파일 패키징: PyInstaller
특히, 멀티 스레드 환경에서 여러 요청이 동시에 파일에 접근할 때 발생할 수 있는 데이터 유실 문제를 threading.Lock을 사용하여 해결하는 과정이 기억에 남습니다.
마치며
Photorium은 제 개인적인 필요에서 시작된 작은 프로젝트지만, 개발 과정에서 웹 서버, 데이터 처리, GUI 프로그래밍 등 많은 것을 배우고 경험할 수 있었습니다. 누군가에게는 복잡한 클라우드 서비스의 좋은 대안이, 또 다른 누군가에게는 자신만의 프로그램을 만들어보는 데 영감을 주는 계기가 되었으면 합니다.
프로젝트의 전체 소스 코드는 아래 GitHub 저장소에서 확인하실 수 있습니다. 여러분의 피드백과 기여는 언제나 환영입니다!
- GitHub 저장소: https://github.com/ChangdaeJeong/photorium
긴 글 읽어주셔서 감사합니다!
왜 만듬?
(1) 아이폰, 갤럭시, 카톡, 다운로드 이미지 전부 이름 달라서 정리 안됨..
(2) 정리가 안되니까, 하드에만 쳐박아두고 사진을 안봄
(3) 클라우드 쓸라니까 돈 아까움. (집에 외장 하드 하나씩은 다 있잖아?)
특징
(1) 외부 서버와 통신 없음
(2) PC내 저장장치 사용
다운 방법
exe 다운로드 링크 : https://github.com/ChangdaeJeong/photorium/releases/download/v1.0.0/Photorium.exe
(v1.0.0 버전임)
실행 방법
(1) Photorium 실행 (위험성 어쩌고 저쩌고는 그냥 무시)
(2) Open Photorium 클릭
(3) 127.0.0.1:5000 사이트 접속
(4) Your Collections의 Browse & Add.. 클릭
(5) 사진/동영상 있는 위치 추가
* 드라이브 변경: 좌상단 드라이브 버튼 클릭
* 사진/동영상 있는 위치 이동 후 Select This Folder 클릭
* 우측 숫자는 이미지(파랑), 비디오(주황) 갯수를 뜻함
(6) 갤러리 이동 (View Full Gallery 클릭)
(7) 즐기기
미리 보기/ 확대/ 영상 재생/ 메타 데이터 보기 됨
다음 기능은?
(1) 즐겨찾기
(2) 한글 지원?