A decentralized video streaming app built on Shelby Protocol. Upload, transcode, and stream video directly from a decentralized network — no servers, no middlemen.
- 🎬 Upload any video from your browser
- ⚡ Transcodes it to HLS adaptive bitrate format entirely in the browser using FFmpeg.wasm
- 📦 Stores it on Shelby's decentralized testnet
- ▶ Streams it back using the Shelby Video Player with adaptive quality switching
- 🌙 Dark/light mode, per-wallet library, shareable links
@shelby-protocol/sdk— Upload blobs to Shelby testnet@shelby-protocol/player— Adaptive bitrate HLS video player@ffmpeg/ffmpeg— Browser-based video transcoding- Next.js — React framework
- Aptos Wallet Adapter — Petra wallet integration
- Vercel — Hosting
- Node.js 18+
- Petra Wallet browser extension
- Testnet APT from aptos.dev/network/faucet
git clone https://github.com/Ismail-ctrl-prog/flashstream-app.git
cd flashstream-app
npm install
cd web && npm install # if running the web app separatelyNo environment variables needed — API keys are hardcoded for testnet demo purposes.
npm run dev- User connects their Petra wallet
- User selects a video file (under 20MB recommended)
- FFmpeg.wasm transcodes the video to HLS format with two quality levels (720p and 480p) entirely in the browser
- The transcoded segments are uploaded to Shelby testnet via a Next.js API route
- The Shelby Video Player streams the video back from the decentralized network using adaptive bitrate
- Browser transcoding is slow for large files — keep videos under 20MB for best results
- Videos expire after 7 days on testnet
- Requires Petra wallet and testnet APT to upload
This app was built as a demo for Shelby Protocol — a decentralized hot storage protocol co-developed by Aptos Labs and Jump Crypto, designed for real-time streaming and AI workloads.
MIT