How Does Live Streaming Platform Work? (YouTube live, Twitch, TikTok Live)

Sdílet
Vložit
  • čas přidán 26. 09. 2022
  • Weekly system design newsletter: bit.ly/3tfAlYD
    Checkout our bestselling System Design Interview books:
    Volume 1: amzn.to/3Ou7gkd
    Volume 2: amzn.to/3HqGozy
    ABOUT US:
    Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.

Komentáře • 128

  • @ReflectionOcean
    @ReflectionOcean Před rokem +7

    Video capture --(RTMP)--> PoP Server -> Transcoding / Segmentation -> Packaging -> CDN distribution / Caching

  • @NavidMahbub
    @NavidMahbub Před rokem +160

    Imagine you are doing R & D on a topic for the last few days and you are drowning. Then your fav youtuber came with a boat. That's happened right now. Thanks Man

    • @lathan8486
      @lathan8486 Před rokem

      I can relate to this..

    • @vaughnsmith5337
      @vaughnsmith5337 Před rokem +3

      There is surprisingly little content on exactly how this works from a system design perspective

    • @akshaykmalik
      @akshaykmalik Před 3 měsíci

      There are many youtubers who have explained it in much more depth and with easy to understand approach

    • @JulianA-rm4ry
      @JulianA-rm4ry Před 2 měsíci

      This is literally what just happened to me lol

  • @lathan8486
    @lathan8486 Před rokem +9

    Very efficient description of live video streaming I have seen so far. It's amazing how you covered this topic in about 5 mins

  • @barnabaslada-hartyani8998
    @barnabaslada-hartyani8998 Před rokem +120

    I would love to see architectures of Saas startups' software. Evolution of the architecture, how to scale. Thanks for your videos, there is a lot to learn from them.

    • @tpotjj2979
      @tpotjj2979 Před rokem +1

      Soon I'll start live streaming, and start from scratch, trying to build a SaaS product that consists out of multiple microservices. Running in a Kubernetes cluster in docker instances on AWS using Terraform, Github Actions, different backend languages/frameworks, trying to combine everything and show what that hassle of that process is, which walls you'll run into and how to solve each problem as elegant as possible.
      Disclaimer: I'll try to avoid any type of JS in de backend ;)

    • @barnabaslada-hartyani8998
      @barnabaslada-hartyani8998 Před rokem +1

      @@tpotjj2979 cool, where can we find it?

    • @tpotjj2979
      @tpotjj2979 Před rokem

      @@barnabaslada-hartyani8998 Last week I've released my "first video" on my channel. It was my first livestream and first video edit, so thing where a bit messy, don't mind the quality of it at the moment.
      Next two weeks I have vacation, bought a new Macbook and a video editing course, so I hope that quality will increase a lot as well as my streaming schedule!
      YT: czcams.com/channels/SBbWhPHNiIs8VgLzW3s-Bg.html
      Twitch: www.twitch.tv/tpotjj

    • @barnabaslada-hartyani8998
      @barnabaslada-hartyani8998 Před rokem +1

      @@tpotjj2979 awesome, keep up the good work bro

    • @tpotjj2979
      @tpotjj2979 Před rokem

      @@barnabaslada-hartyani8998 thanks for subscribing! Long way to go, just have to put in the work next couple of weeks.

  • @deepalmoon
    @deepalmoon Před rokem +5

    Right on the money. No BS! No Hype! No extraneous info. Just get's to the point with clear graphics. 5 minutes and done. Beautifull!

  • @jasmindersingh7513
    @jasmindersingh7513 Před rokem +3

    Very informative videos from your channel. Thank you to you and your team who make so much effort with different tools and spend hours just for a short video. Another appreciable point is you read the comments on your videos and reply every question by viewers.

  • @bemmi3742
    @bemmi3742 Před rokem +5

    I love that these are "bite sized" at around 5m - I can always make a point of fitting them in even on a busy day, and they're always worthwhile :)

  • @thecoderfromabove4176

    I ve been waiting for a channel like that for such a while thank u so much

  • @MeghadityaRoyChaudhury
    @MeghadityaRoyChaudhury Před rokem +2

    This is amazing content. Thanks for making such high quality content available for free.

  • @pieter5466
    @pieter5466 Před rokem +4

    Segmentation and transcoding are key. I had always wondered how you'd deal with various resolutions and bitrates, and how you'd chop up a video in smaller pieces.

  • @IrfanKamil
    @IrfanKamil Před rokem

    geez the explanation is superb! thanks! keep up the good work!

  • @QuantumImperfections
    @QuantumImperfections Před rokem +26

    I love this channel. Last night I was literally asking: "I wonder what the architecture of a live streaming platform is" and BAM!

  • @evandroLG2
    @evandroLG2 Před rokem +2

    It's a gem! Thanks for sharing! :)

  • @RetroSpectrum7
    @RetroSpectrum7 Před rokem +21

    What software do you use to make these presentations? They're very slick!
    Somebody get this guy a raise!

    • @sponge2098
      @sponge2098 Před rokem

      I am also curious what software is used to create those animations ?

    • @iPoopDinosaurs
      @iPoopDinosaurs Před rokem +3

      Powerpoint

    • @ByteByteGo
      @ByteByteGo  Před rokem +14

      Thank you. Adobe illustrator and after effects

  • @peterstedman6140
    @peterstedman6140 Před rokem +1

    Besides the polished script, I gotta compliment the art design and pacing for these videos. 10/10

  • @pankajmahanta7493
    @pankajmahanta7493 Před rokem

    Wow that was a really smooth presentation on the topic

  • @theinhumaneme
    @theinhumaneme Před rokem +2

    This is an Amazing Explaination Thank you for the video :D

  • @MrSidShah
    @MrSidShah Před rokem

    This was a really good overview. thanks

  • @ThanhNguyen-ru6re
    @ThanhNguyen-ru6re Před rokem

    Great Explanation. Thank you for the video!!!!

  • @mrpedaller
    @mrpedaller Před 8 měsíci +5

    🎯 Key Takeaways for quick navigation:
    00:07 📹 Live streaming faces challenges due to real-time internet transmission and compute-intensive video processing.
    01:07 🌐 Encoders package video streams using protocols like RTMP, while newer options like SRT promise lower latency and network resilience.
    02:06 🌍 Point-of-presence servers are used to optimize upload conditions for streamers and ensure fast transmission to the platform.
    02:35 🔄 Adaptive bitrate streaming allows video players to adjust quality based on viewer's internet connection, and transcoding converts video streams into different resolutions.
    03:38 📦 Popular live-streaming formats include HLS and DASH, with HLS being the most widely used format, consisting of manifest files and video chunks.
    04:38 ⌛ Achieving lower latency may require sacrificing video quality, and some platforms offer options for streamers to adjust interactivity and quality.
    Made with HARPA AI

  • @danielmichalski2436
    @danielmichalski2436 Před 11 měsíci

    Such great quality videos! ❤

  • @bsb770
    @bsb770 Před rokem

    Very nicely represented and done.

  • @LHMATIAS
    @LHMATIAS Před 8 měsíci

    I loved the content. What do you use to edit the video? what do you use for the animations?

  • @RomyIlano
    @RomyIlano Před 5 měsíci

    beautiful diagrams! 🕺 and great explanations

  • @javisartdesign
    @javisartdesign Před rokem +2

    You make it so simple man!! thanks for share this knowledge

    • @ByteByteGo
      @ByteByteGo  Před rokem +1

      We are all learning how to make quality videos as we go. It takes a team. Our editors on illustration and animation are awesome, we have to say...

  • @tyaguvg
    @tyaguvg Před rokem

    Thank you so much for such a great lesson/video. May I know what tool r u using for this graphic/video?

  • @john.dough.
    @john.dough. Před rokem

    Thank you for such a high quality video

  • @zeroregretsgiven
    @zeroregretsgiven Před rokem +1

    Great video as always

  • @ByteByteGo
    @ByteByteGo  Před rokem

    Please subscribe if you learned something new.! Thank you.
    Tools we use: Adobe after effects and illustrator

  • @morenoh149
    @morenoh149 Před rokem +1

    Saas for managing company workflows would be great!

  • @priyanka971990
    @priyanka971990 Před 3 měsíci

    Thanks for this video. How do we implement the feature of playing video watched on one device to start exactly where we left on another like CZcams? Especially where and how do we store that data?

  • @marcoselvatici7937
    @marcoselvatici7937 Před rokem

    Great content, keep it up!

  • @nguyenvanhiep6006
    @nguyenvanhiep6006 Před rokem

    Very useful. Thank you

  • @Bluesmansrv2
    @Bluesmansrv2 Před rokem

    Very good! Thank you

  • @10e999
    @10e999 Před rokem +10

    Fantastic channel.
    I would be interested in how to design an IoT telemetry system. It would be an interesting opportunity to explore time series databases.

    • @ByteByteGo
      @ByteByteGo  Před rokem +4

      That's a good idea. We will definitely do that at some point.

    • @10e999
      @10e999 Před rokem

      @@ByteByteGo Great ! Looking forward to it !

  • @moheenakhtar1211
    @moheenakhtar1211 Před 5 měsíci

    thanks for sharing, very informative. 🙂

  • @akshaynanavare2606
    @akshaynanavare2606 Před rokem +1

    Awesome video 👌🏻

  • @aus10d
    @aus10d Před rokem

    very interesting. thanks for this good explanation

  • @akashmishra9127
    @akashmishra9127 Před rokem +1

    Appreciated your content, I couldn't stop your video once started to watch it. But please try making a more details Video, explaining more about the components. Thanks.

  • @SergeyZarin
    @SergeyZarin Před rokem

    awesome! thanks!

  • @hassaanhameed
    @hassaanhameed Před rokem

    much helpful videos content as a computer science student... keep going ❤❤👍👍👏

  • @cbhansingh1
    @cbhansingh1 Před rokem +2

    Thanks for great content !
    Does anyone know, which software/tool is being used to make these videos/animation ?

    • @ByteByteGo
      @ByteByteGo  Před rokem +3

      We have some talented editors for illustration and animation, with the help of tools like Adobe After Effects, Adobe Illustrator.

  • @juamsv
    @juamsv Před rokem

    thank you brother.

  • @vinodbhashkar6789
    @vinodbhashkar6789 Před 7 měsíci

    Thanks

  • @kishorkunal21
    @kishorkunal21 Před rokem

    What tool do you use to create such excellent animations?

  • @sivam5204
    @sivam5204 Před rokem

    Nice one !

  • @yldz9435
    @yldz9435 Před rokem +1

    Great video

  • @d-shiri
    @d-shiri Před rokem

    Would you please make a video about how Jenkins works?

  • @vedantamitpandya
    @vedantamitpandya Před rokem +1

    Which platform did he use to design this flow?

  • @whatsyourvoyage
    @whatsyourvoyage Před rokem

    How can I do my podcast live? While using 2-3 different cameras & audio through a rodecaster pro?

  • @Glueckslottofee
    @Glueckslottofee Před rokem +2

    May I ask what tool you use to create the schematics and stuff in your videos?

    • @ByteByteGo
      @ByteByteGo  Před rokem +1

      We have some talented editors for illustration and animation, with the help of tools like Adobe After Effects, Adobe Illustrator.

  • @kali786516
    @kali786516 Před 3 měsíci

    What technology did you used to build the presentation?

  • @shailendrasoni7941
    @shailendrasoni7941 Před rokem

    Interesting can you please tell me which tool you are making interesting diagram

  • @freedom_egg
    @freedom_egg Před rokem

    Precisely and simple speaking. I have spend a few minutes everyday to watch. Can I ask what is your tool yo create such pretty presentation?

    • @ByteByteGo
      @ByteByteGo  Před rokem +1

      Thank you. Adobe illustrator and after effect.

    • @verb0ze
      @verb0ze Před rokem

      @@ByteByteGo With the amount of people asking what you you use to make these animations (myself included), there might be a market out there tailored to system diagrams animations for those without graphics design background. I know I would pay for such a service.

  • @VoceAleatoriando
    @VoceAleatoriando Před rokem

    Amazing!

  • @tzookbarnoy
    @tzookbarnoy Před rokem +1

    Hey Alex
    What are you using for creating these slideshows??
    Looks amazing!

    • @ByteByteGo
      @ByteByteGo  Před rokem +3

      It takes a team. We have some talented editors for illustration and animation, with the help of tools like Adobe After Effects, Adobe Illustrator, etc. Each video takes many hours to make.

    • @tzookbarnoy
      @tzookbarnoy Před rokem

      @@ByteByteGo ohh that’s crazy :)
      Any tool suggestions for creating a nice presentation similar to what you do?
      I wanna do something for my job, but don’t wanna go to crazy with video editors :)

  • @socomajor
    @socomajor Před rokem +1

    How does the CDN delivers the content so fast to clients all over the world? That's the question I had in mind, but was not answered unfortunately. The rest of the process is interesting also, but I would have imagined something like that.
    How the CDN achieves such latency all over the world is a mystery to me

  • @japananh1
    @japananh1 Před rokem

    4:20 he used the word "streaming format" for DASH/HLS which confused me. If I'm correct, it should be a "streaming protocol".

  • @shantanushekharsjunerft9783

    Could you do a presentation on how CDN works.

    • @ByteByteGo
      @ByteByteGo  Před rokem +3

      Thank you for the suggestion. We will put it on the list.
      Is there a particular area of CDN you would want to know about?

    • @anupamgh0sh
      @anupamgh0sh Před rokem

      @@ByteByteGo I want to know
      1. How is the closest CDN server chosen by the client
      2. Caching strategy in a CDN
      3. How to stop unauthorised users from accessing secure content

  • @merutiwari-admiralyt8539
    @merutiwari-admiralyt8539 Před měsícem

    How can i create my own sdk

  • @somakkamos
    @somakkamos Před rokem

    This is very interesting… is this also similar to how a non live normal video share platform works..eg netflix prime youtube..?

    • @joseph13058
      @joseph13058 Před rokem

      It is similar. The main difference is that there isn't the same latency constraint so more time can be spent during the video processing stage to improve compression/quality and it's likely that a a different protocol is used on the ingestion side.

  • @dhirajnavale3861
    @dhirajnavale3861 Před rokem +3

    Can you please make a detailed video on GraphQL too🙏🏻🙏🏻🙏🏻

    • @ByteByteGo
      @ByteByteGo  Před rokem +2

      Yes, it is on our list.

    • @dhirajnavale3861
      @dhirajnavale3861 Před rokem

      @@ByteByteGo Thankyou so much for the update and also for the quality videos you make🙏🏻🙏🏻🙏🏻

  • @JasonBorn3814
    @JasonBorn3814 Před 7 měsíci

    hey, I am super sleepy, could you please write the document more easier to understand and remember, including all the details for interview. thank you

  • @OkolieRaymond
    @OkolieRaymond Před rokem

    I'm presently at a loss on a project that involves live streaming i inherited. It was designed with ffmpeg as the transcoding engine and I'm having a huge problem with latency as its output is in rtmp.
    Can you help me out with figuring out how to reduce latency for Live streams?

    • @ByteByteGo
      @ByteByteGo  Před rokem +1

      What is the latency now, and how low do you need to go?

    • @OkolieRaymond
      @OkolieRaymond Před rokem

      @@ByteByteGo there's a massive delay of 11-18secs delay and i am looking at how to get it to 5-7 secs at the very least

  • @LiransChannel
    @LiransChannel Před rokem

    So currently most of the stream services serves the content using tcp?

    • @ByteByteGo
      @ByteByteGo  Před rokem

      For live streaming, we believe the answer is yes. Both HLS and DASH are based on HTTP.
      If and when they are updated to support HTTP/3, then we can probably say that they use UDP, since HTTP/3 uses QUIC and QUIC is built on UDP.
      We have a video on HTTP/3 and QUIC: czcams.com/video/a-sBfyiXysI/video.html

  • @JeremyChone
    @JeremyChone Před rokem +1

    Is SRT based on HTTP/3 ?

    • @ByteByteGo
      @ByteByteGo  Před rokem +1

      No, but both are UDP-based.

    • @JeremyChone
      @JeremyChone Před rokem

      @@ByteByteGo Yes, this is why I asked.
      Curious to know if there is some natural convergence between those two protocols.

  • @yosefhalabiAvitan
    @yosefhalabiAvitan Před měsícem

    Hey, do you have any clue why I can live stream on CZcams smoothly unlike Twitch where I get tons of frames drops. Never happened to me before and this issue just popped out of the blue. Twitch is my main platform..

  • @marcusravi1684
    @marcusravi1684 Před rokem

    Isn't it simpler to write a custom gRPC protocol that uses HTTP2?
    I think its latency is much much lower than RTMP and SRT.
    (The project I'm working on has a max streaming audience of 50 viewers. So my load balancing strategy is more relaxed. But thanks for the great video!)

    • @ByteByteGo
      @ByteByteGo  Před rokem +7

      Not sure if it is simpler. It sounds like a lot of work. 😂
      Here's another angle. Many streamers prefer to use their own favorite encoder, with OBS being a prime example. Having our own custom protocol would limit that.

  • @DavidsKanal
    @DavidsKanal Před rokem +7

    How do you animate your videos? 😱

    • @ibrahimkhurshid4339
      @ibrahimkhurshid4339 Před rokem +2

      Using Adobe After Effects for sure.

    • @DavidsKanal
      @DavidsKanal Před rokem

      @@ibrahimkhurshid4339 Maybe! Some people script their videos, like 3b1b. But I assume that's inefficient for this kind of content

    • @manofsteel110
      @manofsteel110 Před rokem

      With video processing!

    • @Joedoe-un6kg
      @Joedoe-un6kg Před rokem

      I would love to know this as well. Visualisation and animations in this video are amazing.

    • @vlkf
      @vlkf Před rokem

      @@ibrahimkhurshid4339 is those effects available from the box there or you need to buy/animate by youeself all that fancy appearing icons?

  • @arjunjadeja6112
    @arjunjadeja6112 Před rokem +1

    Is Live-streaming same as video calling? If not what's the difference?

    • @muizzy
      @muizzy Před rokem +3

      Could be, but it has some potential simplifications. For example:
      In some scenarios (1:1), the quality may be requested by the client and the server-side transcoding can be omitted (almost) entirely. In most cases the number of necessary quality formats is lower and can be adjusted on the fly.
      Video calling also does not benefit from any CDN caching and can skip this step entirely.
      Basically: Video calling is just video streaming, but with a few potential optimisations due to the lower number of viewers.

    • @ByteByteGo
      @ByteByteGo  Před rokem +6

      Great question.
      Live streaming and video conferencing/calling implementations are quite different. Video conferencing could be an interesting video.
      The main difference is scale. Living streaming is 1-to-many, where the many could be in the millions. Video conferencing maxes out in the low hundreds, and the experience at that scale is not very good.
      Also, video conferencing is bi-directional. That imposes a different set of design constraints.
      To learn more about video conferencing, start with terms like WebRTC, SFU, and MCU.

    • @arjunjadeja6112
      @arjunjadeja6112 Před rokem

      @@ByteByteGo Thank you! I am learning how WebRTC works. Yes, it would be great if you make video or blog about video conferencing.

  • @troooooper100
    @troooooper100 Před rokem

    is this covered in book?

  • @libvlog2264
    @libvlog2264 Před rokem

    it don't get better then this.

  • @alexandrohdez3982
    @alexandrohdez3982 Před rokem

    👏👏👏

  • @user-lf4ir3mp2f
    @user-lf4ir3mp2f Před 6 měsíci

    Alex Xu老师 这个视频的齿音太明显了 需要升级下设备或者后期用专业软件消除下齿音 加油!

  • @JasonBorn3814
    @JasonBorn3814 Před 7 měsíci

    damn I don't see that in the book, why so many new items

  • @codegreenie3429
    @codegreenie3429 Před rokem

    This is why you experience slightly slow internet when you're on VPN

  • @robertklasen8264
    @robertklasen8264 Před rokem

    Teriffic video. CZcams is just flooded with filler content, so refreshing to see this type of material.

  • @patrickmotaung5866
    @patrickmotaung5866 Před 6 měsíci

    This could have been a nice video but you were too fast. Slow down a little

  • @shamanthck9166
    @shamanthck9166 Před rokem

    bro the video animation is very good, hats off. but the voice and explaination is soo poor..please hire a voice artist

    • @prof.poopypants8671
      @prof.poopypants8671 Před rokem +2

      I respectfully disagree. Even as a North American native English speaker, Sahn’s narration is one of the main reasons why I love this content. If the channel used a fully-polished professional narrator, I would probably stop watching. Other professionally-narrated “talk over” explainer videos make me lose focus very quickly. Sahn’s accent is unique and casual, and yet also simple and clear. Even though he is reading from a script, it’s not annoying or bland. Instead, it comes across as “even” and “steady”, which is exactly what you want for this type of content. This is a very difficult balance to pull off. I also appreciate his “talking head” in the corner, as it gives the viewer another location to “rest” their eyes from the topic being animated. Again, simple without being distracting. As a leaner, I don’t want to be smothered by professionalism; I want to remain engaged in the topic, which I think the team achieves very well.

  • @alexmadnix
    @alexmadnix Před 4 měsíci

    Great video as always