Skip to Main Content
Talk Intermediate

Chunk by Chunk: How We Built an HTTP Live Streaming Server

Proposal status is Rejected
Session Description

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 -

  1. Why did we choose to build Dekho?

  2. Journey of Dekho from uploading an image to streaming a video

  3. Deep-dive into the video file and streaming concepts.

  4. A thought experiment on how to extend this for real-time live streaming.

  5. An ambitious goal: To be the main open-sourced live streaming provider for all FOSS United events for next year.

  6. What comes next for Dekho?

What are we going to speak about?

  1. How to transport a single image via streaming.

  2. A bird’s eye view of HLS, understand how it differs from traditional downloading, and learn why it was developed?

  3. 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.

  4. How can we study the metadata of video/audio files with ffmpeg and ffprobe.

  5. An overview of the architecture for Dekho and how we plan to scale it.

  6. Understand how concepts from video on demand can be extended to design and implement real-time live streaming.

  7. The infra challenges we faced while building Dekho

  8. Dekho and open-source - Milestones ahead.

Open Source Tools Used:

Reference Links on Dekho

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 :)

  1. Try out Dekho here: Dekho

  2. GitHub Repository: GitHub - Chirag-And-Dheeraj/video-streaming-server: A research/study project for understanding and learning the fundamentals of audio/video streaming.

  3. Peerlist Project of the Week on Launchpad: Dekho | Peerlist

Key Takeaways
  1. A peek into the internals of a video file—its metadata, structure, and how to make use of it.

  2. Understand how HTTP Live Streaming works at a fundamental level for Video on Demand.

  3. How to extend that to do real-time live streaming.

References

Session Categories

Introducing a FOSS project or a new version of a popular project
Story of a FOSS project - from inception to growth
Technology architecture

Which track are you applying for?

Main track

Speakers

Dheeraj Lalwani
Dheeraj Lalwani Software Engineer: Backend | HeyMarvin

Hey there! I'm Dheeraj, a Backend Engineer working remotely with HeyMarvin and I'm based out of Mumbai.

At work, I'm all about Python, but I switch to Go when tinkering with my personal projects. Recently, I've been diving into the world of video streaming with my friend Chirag Lulla through our project Dekho. We're on a mission to peek behind the curtain and really understand how video streaming works under the hood.

I'm a backend enthusiast through and through - nothing gets me more excited than discussing system design, APIs, or database optimization over a cup of chai.

Catch me on Twitter/X as @DhiruCodes where I'm always up for a chat!

You can also connect with me on Peerlist as dheerajlalwani.

Chirag Lulla
Chirag Lulla Software Engineer | UBS

Hey! I'm Chirag.

I am Software Engineer currently based in Pune and working at UBS.

My day job has me working with SQL, Python, and Power BI, helping turn data into insights. Outside work hours, I enjoy exploring different tech topics and following my curiosity wherever it leads.

Recently, I've been deep-diving into video streaming technology with my friend Dheeraj, building our own streaming server from scratch. It's been an exciting journey understanding how the videos we watch every day actually make it to our screens!

Find me on X as @_chiraglulla_ and Peerlist as chiraglulla if you'd like to connect and chat tech!