What are the technologies used for development of a streaming service app?
You'll get access to over 3,000 product manager interview questions and answers
Recommended by over 100k members
I have a few clarifying questions -
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
Is it a web application or a mobile application? - Both
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?
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 -
Source
Encoder
CDN, and
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 -
The video gets captured on the source and gets compressed and encoded into appropriate formats.
Encoded media gets stored in containers.
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 -
Web technologies (back-end) - Java, Python, Go, Scala, NodeJS, Ruby
Web technologies (front-end) - HTML, CSS, Javascript (Angular, React, Vue etc)
App development - Java, Kotlin, Android, Flutter, React Native, Ionic, Swift, Android Studio, XCode
DBMS - MySQL, Cassandra, Atlas-DB, PostgreSQL
Cloud platforms - Amazon EC2, Amazon S3
Big data streaming - Kafka, Hadoop, Spark, Pig, Parquet
CDN - Amazon Cloudfront, Cloudflare
Streaming protocols - Apple HTTP live streaming, Adobe HTTP Dynamic Streaming, M2TS, Microsoft Smooth Streaming, RTMP, MPEG-DASH
Media formats - H.264
Media containers - MP4, FLV, AVI
Media Processing platforms - Contus Vplay, DaCast, Vimeo PRO, Wowza Media Systems, Muvi, Ustream, JW Live
Geolocation - Google Maps API, MapKit
Messaging - Google Firebase, PubNub, Twilio
Platform Analytics - Mixpanel, Google Analytics, Fullstory, Amplitude, Hubspot
Tools for ML and Recommender system - Python, ScikitLearn, Pandas, Numpy, Matplotlib, Seaborn, Tensorflow, Pytorch, NLTK, Cuda, SciPy, OpenCV, etc.
Top Stripe interview questions
- What is your favorite product? Why?89 answers | 263k views
- How many dentists are there in New York?33 answers | 36.7k views
- What should Airbnb's strategy be during the COVID-19 pandemic?26 answers | 35.9k views
- See Stripe PM Interview Questions
Top Technical interview questions
- Imagine you're the product manager for Facebook Marketplace. Since many sellers don't mark items as sold, what existing functionality and metrics could you use to determine whether an item has likely sold?7 answers | 20.9k views
- What happens when you enter a URL in your browser?6 answers | 10.8k views
- How does TinyURL work?5 answers | 317k views
- See Technical PM Interview Questions
Top Stripe interview questions
- Drivers are dropping out of a city on Lyft. How do you figure out what's going on?23 answers | 18.8k views
- You are the PM for a B2C product that has an advertisement-based monetization model with significant and steady daily revenues. One day, there are no ads served and the revenues plummet to zero. What would be your strategy, as a Product Manager, to deal with this crisis?21 answers | 22k views
- How would you re-design the carwash?11 answers | 10.3k views
- See Stripe PM Interview Questions
Top Technical interview questions
- How would you determine how to rank posts in the newsfeed?4 answers | 3.3k views
- The Chrome team is looking to reduce power utilization on mobile phones when using the browser. How would you go about solving this problem?3 answers | 3.7k views
- How would you map the ocean?3 answers | 2.9k views
- See Technical PM Interview Questions