15% off membership for Easter! Learn more. Close

What are the technologies used for development of a streaming service app?

Asked at Stripe
373 views
eye 373 views eye 373 views
Answers (1)
crownAccess expert answers by becoming a member

You'll get access to over 3,000 product manager interview questions and answers

I have a few clarifying questions -

 

  1. What kind of streaming service is this? Live streaming, like ESPN and SonyLiv, or a Web series streaming service like Netflix, and Amazon Prime? - any

  2. Is it a web application or a mobile application? - Both

  3. Any additional features that I need to keep in mind like a live chat? Reactions? Recommendation Systems? Ratings and Reviews? Or just streaming for now? 

  4. By technologies, you just mean various tools and languages, frameworks, etc. Right?

 

First I’ll try to discuss a High-Level Architecture of video streaming services. Post that we can discuss different technologies that can be used to implement these services. 

 

 There are 4 main components in designing of a video streaming platform - 

  1. Source

  2. Encoder

  3. CDN, and

  4. Video player

 

Source - This is the source where the content is being generated which will be viewed by the users using this video streaming platform. Data generated here is sent to the encoder for encoding. 

 

Encoder - The encoder consists of two parts, the first being the actual server where encoding is run for a video, and the second one being the encoder software itself which compresses the audio and video for streaming. Encoders use video and audio codec technologies.

 

CDN - Content Delivery Network aka CDN is a set of servers that deliver the internet content to users based on their locations.

 

Video Player - The application on the client’s device that plays the video.

 

These are the steps that take place while streaming a video on any application - 

 

  1. The video gets captured on the source and gets compressed and encoded into appropriate formats.

  2. Encoded media gets stored in containers.

  3. These containers are delivered to media players for users to watch 

All these are done by the live streaming platforms which help in streaming videos. 

Technologies used to create this system - 

  1. Web technologies (back-end) - Java, Python, Go, Scala, NodeJS, Ruby

  2. Web technologies (front-end) - HTML, CSS, Javascript (Angular, React, Vue etc)

  3. App development - Java, Kotlin, Android, Flutter, React Native, Ionic, Swift, Android Studio, XCode  

  4. DBMS - MySQL, Cassandra, Atlas-DB, PostgreSQL  

  5. Cloud platforms - Amazon EC2, Amazon S3

  6. Big data streaming - Kafka, Hadoop, Spark, Pig, Parquet

  7. CDN - Amazon Cloudfront, Cloudflare 

  8. Streaming protocols - Apple HTTP live streaming, Adobe HTTP Dynamic Streaming, M2TS, Microsoft Smooth Streaming, RTMP, MPEG-DASH 

  9. Media formats - H.264

  10. Media containers - MP4, FLV, AVI

  11. Media Processing platforms - Contus Vplay, DaCast, Vimeo PRO, Wowza Media Systems, Muvi, Ustream,  JW Live 

  12. Geolocation - Google Maps API, MapKit

  13. Messaging - Google Firebase, PubNub, Twilio

  14. Platform Analytics - Mixpanel, Google Analytics, Fullstory, Amplitude, Hubspot 

  15. Tools for ML and Recommender system - Python, ScikitLearn, Pandas, Numpy, Matplotlib, Seaborn, Tensorflow, Pytorch, NLTK, Cuda, SciPy, OpenCV, etc. 

Access expert answers by becoming a member
0 likes   |  
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs