한정된 예산으로 Videly Ei8, 비디오 호스팅 플랫폼을 만든 방법
Source: Dev.to

소개
여러분, 안녕하세요! 👋 오늘은 최근 구글 플레이에 출시한 Videly Ei8이라는 동영상 호스팅 및 공유 플랫폼을 만들게 된 과정을 공유하고자 합니다.
한 명의 개발자이면서 자금이 제한된 상황에서 동영상 플랫폼을 구축하는 일은 엄청난 도전이었습니다. 서버 처리와 저장 비용이 순식간에 폭등할 수 있기 때문이죠. 하지만 저는 플랫폼을 매우 빠르고 효율적으로 운영하면서 파일당 최대 2 GB까지 업로드를 지원할 수 있는 아키텍처 “핵”을 찾아냈습니다.
🛠️ 기술 스택
- 웹 프론트엔드 & 백엔드: 순수 PHP 스크립트, HTML/CSS, 그리고 바닐라 JavaScript.
- 안드로이드 앱: 최적화된 WebView를 활용한 네이티브 안드로이드 앱.
- 동영상 처리: FFmpeg (APK 내부에 직접 포함).
- 스토리지 & 전송: AWS S3.
💡 아키텍처 과제: 웹 vs. 앱
웹 버전을
왜 웹 백엔드에 동영상 처리를 통합하지 않았을까?
만약 통합한다면 업로드 파이프라인은 다음과 같이 진행됩니다:
- 사용자가 동영상을 업로드한다.
- 메인 서버가 파일을 받아 동영상 처리/최적화를 수행한다.
- 처리가 끝나면 서버가 AWS S3에 파일을 전송한다.
이 흐름은 이중 업로드 과정을 요구하게 되며, 사용자의 시간을 크게 낭비하고 제한된 서버 자원을 소모하게 됩니다.
⚡ 해결책: 안드로이드에서 클라이언트‑사이드 FFmpeg 처리
여기서 Videly Ei8 안드로이드 앱이 빛을 발합니다. UI는 기본적으로 메인 사이트의 WebView이지만, FFmpeg를 앱 내부에 네이티브로 내장하고 통합했습니다.
앱에서의 업로드 흐름은 훨씬 효율적입니다:
- 사용자가 동영상을 선택한다.
- 앱이 사용자 기기에서 즉시 동영상 메타데이터를 최적화한다.
- 최적화된 동영상이 AWS S3로 직접 업로드된다(내 PHP 백엔드를 완전히 우회).
결과
- 최대 업로드 속도: 사전 서명된 URL 또는 SDK를 이용한 S3 직접 업로드 덕분에 2 GB까지의 대용량 파일을 매우 빠르게 전송할 수 있습니다.
- 즉시 재생, 끊김 없는 스트리밍: 클라이언트‑사이드 메타데이터 최적화 덕분에 파일 크기에 관계없이 버퍼링 없이 즉시 스트리밍됩니다.
🎯 결론 및 향후 계획
저는 언제나 합리적인 예산으로 강력한 플랫폼을 구축할 수 있는 가장 비용 효율적인 방법을 찾고 있습니다. 현재 Videly Ei8은 MP4 포맷과 파일당 2 GB 업로드 제한에 초점을 맞추고 있습니다. 이는 시작에 불과하며, 대규모 업데이트가 곧 이어질 예정입니다.
개발자 입장에서 플랫폼을 직접 사용해보고 피드백을 공유해 주신다면 정말 기쁠 것 같습니다!
- 🌐 웹 버전 사용해 보기:
- 📱 안드로이드 앱 다운로드: Videly Ei8 on Google Play
읽어 주셔서 감사하고, 댓글로 여러분의 생각을 알려 주세요! 👇