Hey everyone! π Today I want to share my journey of building Videly Ei8, a video hosting and sharing platform I recently launched on Google Play.
As a solo developer with limited funds, building a video platform is a massive challenge. Server processing and storage costs can skyrocket quickly. However, I found an architectural "hack" that allows the platform to run incredibly fast, efficiently, and support uploads of up to 2GB per file.
Hereβs a breakdown of what I built and the tech behind it.
π οΈ The Tech Stack
The project essentially consists of a Web platform and an Android app (Native Webview):
- Web Frontend & Backend: Pure PHP scripts, HTML/CSS, and vanilla JavaScript.
- Android App: Native Android app utilizing an optimized webview.
- Video Processing: FFmpeg (embedded directly inside the APK).
- Storage & Delivery: AWS S3.
π‘ The Architecture Challenge: Web vs. App
If you try our web version at ei8.net, you can use it completely for free. However, this web version has a deliberate limitation: videos don't undergo metadata optimization. The raw video from your device is uploaded as-is.
Why didn't I integrate video processing on the web backend?
If I did, the upload pipeline would look like this:
- User uploads the video.
- My main server receives the file and processes/optimizes the video.
- Once done, the server sends it to AWS S3.
This flow requires a double upload process, which heavily wastes the user's time and drains my limited server resources.
β‘ The Solution: Client-Side FFmpeg Processing on Android
This is where the Videly Ei8 Android app shines. Even though the UI is essentially a webview of the main site, I embedded and integrated FFmpeg natively within the app itself.
The upload flow on the app is drastically more efficient:
- The user selects a video.
- The app instantly optimizes the video metadata locally on the user's device in the blink of an eye.
- The optimized video is uploaded directly from the user's device to AWS S3 (completely bypassing my PHP backend).
The Results?
- Maximum Upload Speed: Because it connects directly to S3 via pre-signed URLs or direct SDK, users can upload massive files up to 2GB extremely fast.
- Instant, Lag-Free Playback: Thanks to the client-side metadata optimization, the video streams instantly without buffering, regardless of its size.
π― Conclusion & Future Plans
I'm always looking for the best, most cost-effective ways to build powerful platforms on a reasonable budget. For now, Videly Ei8 is focused on the MP4 format with a 2GB per file upload limit. But this is just the beginning, and I believe massive updates are on the horizon.
I would be absolutely thrilled if you took some time to try the platform and share your feedback from a developer's perspective!
π Try the Web version: https://ei8.net
π± Download the Android App: Videly Ei8 on Google Play
Thanks for reading, and let me know what you think in the comments! π
Top comments (0)