Talk
Beginner
First Talk

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

Approved

Hi there :)

Dekho is a very simple, bare-bones and open source 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. How did it start?
  3. What topics we learnt about while exploring video streaming?
  4. And how do we plan to take this project ahead?

What are we going to speak about?

We built Dekho by implementing the HTTP Live Streaming (HLS) Protocol.

  1. So we will give the birds eye view of HLS.
  2. The difference between streaming and downloading..
  3. Why did we choose to use HLS?
  4. Different common terminologies that one comes across when learning about video streaming like container formats (.mp4, .mkv), video codecs (H.264/AVC, H.265/HEVC), audio codecs like (aac, mp3, flac), output formats like (mpegts, flv)
  5. How to extract and study the metadata of video/audio files (a little bit of hands-on experimentation) with ffmpeg and ffprobe
  6. What are the roles of the different components of Dekho i.e. the server, the client, the database and the static file storage?
  7. And finally how all of these components come together to stream videos on your favourite OTT application :)
  8. The infra challenges we faced while building Dekho and how do we plan to take it forward.


Open Source Tools Used:

  • ffmpeg - our main tool which helped us create chunks for the HLS Streaming
  • appwrite - our static file storage service
  • HLS.js - the hls.js client which helped us play the chunks



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
  1. How HTTP Live Streaming works at a fundamental level?
  2. How to analyze and study the metadata present inside a video?
  3. Different terminologies which are usually referenced while working with video streaming.
FOSS

Dheeraj Lalwani
Software Engineer: Backend HeyMarvin
https://twitter.com/DhiruCodes
Speaker Image
Chirag Lulla
Software Engineer UBS
https://twitter.com/_chiraglulla_
Speaker Image

0 %
Approvability
0
Approvals
0
Rejections
0
Not Sure
No reviews yet.