Signaling stack implementation

No code was written prior to that and we simply discussed the motivation and requirements for our video streaming solution.

We will start by creating a signaling stack. The purpose of a signaling service is to process an intention of starting a video stream or joining an ongoing video stream. It is present whenever a real-time media exchange is required, e.g. Twitch, Zoom or VoIP-based services. This usually involves so-called negotiation stage, i.e. both parties announcing supported video formats and means of exchanging media (more to follow on that). …

Functional requirements

  • Users can register an account using email and password
  • Users can sign-in with previously registered email and password
  • Users can perform a live stream to their account from their Desktop/Laptop
  • Users can view a live or pre-recorded public stream of any channel using Browsers or IOS App
  • Users can view and interact with a dedicated chat of a live stream
  • Users can see how many viewers are watching a stream

Non-functional requirements

  • Security — accounts are protected and require authentication
  • Logging — all interactions with the system are logged and allow retrospection for at least few days period
  • Storage — video, audio…

I'm planning to learn new technologies, and as any individual who values their time, I would like to build something useful while doing so. Why video streaming ?

  • Requires back-end, front-end and mobile development
  • High space complexity. Latency and quality sensitive video and audio streams, scalable to many users
  • Personal interest in how the technology backing something like Twitch actually works

Over the next months I am planning to publish articles, code and sometimes screen recordings capturing my thinking process and explaining design decisions. …

Being a software engineer who has been and still is working at the biggest tech companies in the world I was always curious about the engineers working on the other side of the fence. The group I knew very little about, except for the crazy salaries they earn working in the finance industry. So I was speaking to a current colleague of mine the other day and he shared one of the interview questions asked by one of the famous trading companies, which extensively hires engineers for non-engineering positions. …

Yerken Tussupbekov

Software Engineer @ Facebook

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store