Dekho is a very simple, bare-bones and open sourced Video on Demand server which we built to understand how video streaming works at a fundamental level. The talk will consist of -
Why did we choose to build Dekho?
Journey of Dekho from uploading an image to streaming a video
Deep-dive into the video file and streaming concepts.
A thought experiment on how to extend this for real-time live streaming.
An ambitious goal: To be the main open-sourced live streaming provider for all FOSS United events for next year.
What comes next for Dekho?
How to transport a single image via streaming.
A bird’s eye view of HLS, understand how it differs from traditional downloading, and learn why it was developed?
The video file internals like container formats, video codecs and audio codecs, with a focus on .mp4 container format, H.264 video codec and AAC audio codec.
How can we study the metadata of video/audio files with ffmpeg and ffprobe.
An overview of the architecture for Dekho and how we plan to scale it.
Understand how concepts from video on demand can be extended to design and implement real-time live streaming.
The infra challenges we faced while building Dekho
Dekho and open-source - Milestones ahead.
FFmpeg - our main tool which helped us create chunks for the HLS Streaming
Appwrite - our static file storage service
PostgreSQL - our relational database we use via Neon - a serverless open-source alternative to AWS Aurora Postgres.
HLS.js - the hls.js client which helped us play the chunks
Disclaimer: Since we are using a free render instance for hosting, it might be sleeping and would take around 40-45 seconds to load. Please be a little patient :)
Try out Dekho here: Dekho
GitHub Repository: GitHub - Chirag-And-Dheeraj/video-streaming-server: A research/study project for understanding and learning the fundamentals of audio/video streaming.
Peerlist Project of the Week on Launchpad: Dekho | Peerlist
A peek into the internals of a video file—its metadata, structure, and how to make use of it.
Understand how HTTP Live Streaming works at a fundamental level for Video on Demand.
How to extend that to do real-time live streaming.
This is a repeat from previous events (including a city conference). The proposal does not mention anything new that jusifies a repeat of the talk. Please consider applying for a project showcase booth if you'd like to showcase the project