Zoom System Design | WhatsApp / FB Video Calling System Design | System Design Interview Question

Поділитися
Вставка
  • Опубліковано 10 лют 2025
  • Solution for System Design Interview Question - "Design Zoom/ Webex/ WhatsApp Video Calling/ FB Messenger Video Calling or any similar Video Chat Application"
    Prerequisites:
    Netflix System Design @ • Netflix System Design ...
    WhatsApp System Design @ • WhatsApp System Design...
    How to select the right Database for a Large Scale System @ • Database Design Tips |...
    Summary of the video: www.codekarle....
    Architecture diagram: github.com/cod...
    Author: / sandeep1904
    If you like this video, please help us grow by sharing this video with your friends on Facebook, connections on LinkedIn and anyone who can benefit from this.
    PS: This is not the real architecture of any such platform. This is my take on how I would answer that problem.
    #codekarle #systemdesign #zoomsystemdesign #system #design #interview #amazon #faang #zoom

КОМЕНТАРІ • 177

  • @cosmos1651
    @cosmos1651 4 роки тому +106

    Randomly clicked it.. and the clarity of explanation blown me away. You definitely are the best system design youtuber!!

    • @codeKarle
      @codeKarle  4 роки тому +8

      Thanks!! Glad that you liked it!

  • @SimplyGagan
    @SimplyGagan 3 роки тому +18

    You are one of the best teachers in UA-cam !! Your explanations, clarity of though process and effort of building the content is unmatched !! Thanks a lot.

  • @AayushSaxena100
    @AayushSaxena100 Рік тому +2

    An absolute masterpiece. The moment when u said "this is called webRTC" shocked me in a positive way. I unknowingly got to learn something that I had been trying to learn from various other sources but didn't get the claririty I have got today. Cannot thank u enough.

  • @vaibhavbiyani6145
    @vaibhavbiyani6145 3 роки тому +4

    Super detailed and informative. I hardly comment on YT and watch a 50+ minute video but this was nice. Loved it.

  • @atintandon9624
    @atintandon9624 3 роки тому +5

    Great overview of TCP/UDP - enough to understand the context and avoids the need to review those concepts separately

  • @gloriaodipo459
    @gloriaodipo459 3 роки тому +4

    I've read the linked summary of the video article and I'm blown away. Thank you for breaking it down so well and so easily for one to understand. Good job! 👏

  • @sagartyagi5048
    @sagartyagi5048 3 роки тому +1

    the way you explained WebRTC, you earned a FAN!

  • @Enjoyablewalks
    @Enjoyablewalks 2 роки тому

    Damn .. I just got recommendation from Google.. Wow - learned so much....

  • @amithreat
    @amithreat Рік тому

    Thanks

  • @ismailcenik8892
    @ismailcenik8892 4 роки тому +16

    It is really a great job. I think this is the first time this topic has been explained although it is complicated. Please keep going.

    • @codeKarle
      @codeKarle  4 роки тому +5

      Thanks! Glad that you liked it!

  • @hayleyyin9354
    @hayleyyin9354 3 роки тому +3

    Great explanation, I understood maybe 90% of it. It would help me with the rest 10% if there was subtitles helping me understand some of the words because I am not familiar with the speaking accent.

  • @skytechtalk
    @skytechtalk 4 роки тому +2

    Best youtuber for system design. God bless you!!

    • @codeKarle
      @codeKarle  4 роки тому

      Thanks!! That is great to hear.
      Happy Learning, and do share our channel with your connections. It helps :)

  • @gslayal
    @gslayal 3 роки тому

    You are definitely the best sys design youtuber. Thank you! I binge-watch your videos like Netflix.

  • @Tubingonline1
    @Tubingonline1 3 роки тому

    This is the best channel I have come across as far as software/web architecture is concerned. Thanks a lot for all your indepth and clear thoughts and articulation.

  • @rohittawde2759
    @rohittawde2759 3 роки тому +2

    This series has best design videos I have seen so far! Love the level of details presented in this video as well. Respect!!! 🙌

  • @CarlosCoelhoLechner
    @CarlosCoelhoLechner 2 роки тому

    These videos are pure gold!
    Thank you so much for producing these, this channel is the best Sys Des content I've ever found!

  • @alpacino3989
    @alpacino3989 3 роки тому

    This is the best system design based channel. Every video teaches something new and amazing!

  • @VaibhavKale-hf7hl
    @VaibhavKale-hf7hl Місяць тому

    One of best design video for video calling/live streaming.

  • @me_manish_prajapati
    @me_manish_prajapati Місяць тому

    As always, great explanation. Clear almost all the doubts.
    But I have one question...
    How does client and call server communicate with each other? Socket/WebRTC?
    I'll check on the internet about this. Answer in the reply would help others...

  • @nshettys
    @nshettys 4 роки тому +6

    Brilliantly explained. I owe you a cake

    • @codeKarle
      @codeKarle  4 роки тому +3

      Thanks Nitesh!!
      We'll love a cake!!
      And if possible, we'll love it if you can spread the word about our channel among your friends/colleagues/Linkedin connections :)
      Link to the channel: ua-cam.com/users/codeKarle

    • @nshettys
      @nshettys 4 роки тому

      @@codeKarle For Sure

  • @MuhammadNabeel-r7x
    @MuhammadNabeel-r7x Рік тому

    The explanation of this complicated system is made simple and easy to understand. It's really impressive and definitely worth watching.

  • @OffbeatTravelVK
    @OffbeatTravelVK 3 роки тому

    Best system design videos Ive seen on youtube, thank you so much

  • @subhamchowdhury6607
    @subhamchowdhury6607 2 роки тому

    You are God of System Design!! Take a bow!!!

  • @manojjain3501
    @manojjain3501 3 роки тому

    I swore , I am overwhelmed.... Blown the brain.. Oh Man too much to know for system design. You nailed it.

  • @sarthaktyagi1077
    @sarthaktyagi1077 11 місяців тому +1

    God sent you to explain System Design to us 🙏🏻

  • @yanwang2996
    @yanwang2996 4 роки тому +6

    This was very informative and well prepared video. Continue the awesome work! Appreciate the hardwork gone behind making it!

    • @codeKarle
      @codeKarle  4 роки тому +2

      Thanks!! Glad that you liked it :)

  • @nhienle5137
    @nhienle5137 11 місяців тому

    Thank you thank you for these vauable videos, I love all of them and all your sharing knowledge. It's an eye opening for me even I worked as a swe for more than 7 years

  • @vivekpandey9807
    @vivekpandey9807 3 роки тому

    One of the best video with in-depth knowledge . Amazing

  • @ankita4priya
    @ankita4priya 3 роки тому

    Awesome explanation!!!! The best system design You tube channel !!! Keep up the good work :)

  • @robertotomas
    @robertotomas Рік тому

    I totally loved this system design video. it starts with a strong technical argument for a web3-oriented design (p2p) instead of a monopolistic one. I'm not sure that it makes sense when the video stream is one to many, just like you said. If you do need a hosted conversation, that could be serviced on demand. But for a small number of connections across various regions globally, this is only minimally improved by a central host, if at all, bc including that central host also adds latency, just like you said.

  • @tulikamal
    @tulikamal 4 роки тому +1

    i like the way you explain all the different pieces, pros & cons along with different use cases for each service. thanks for sharing and wanted to see more system design like google search, uber, and also from design large scale API. thanks

  • @ashutak
    @ashutak 3 роки тому

    Wonder ful explanation, one of the best and finer details about each step. More power to you man.

  • @TheNitin1997
    @TheNitin1997 9 місяців тому

    this channel is a gold mine 👏

  • @nareshsherwal9244
    @nareshsherwal9244 2 роки тому

    Your videos have great detail which actually helps in understanding.
    And thanks for making such great videos

  • @pikugoud1358
    @pikugoud1358 3 роки тому

    Brilliant. Comprehensive and simple. Teaching is an art. Keep it up.

  • @SandipDas123
    @SandipDas123 3 роки тому

    Brilliant explanation. You deserve more likes

  • @princekm5902
    @princekm5902 3 роки тому

    Please create more videos.These are really helpful for interviews.Lot of things to learn.

  • @hex-tech4171
    @hex-tech4171 3 роки тому

    I have seen a couple of your videos and really liked it. Thanks for such informative videos.
    Please keep uploading such videos.

  • @VV-sb1hs
    @VV-sb1hs 2 роки тому

    Extremely informative and well explained. Thank you for creating this!!

  • @sumitkumar03
    @sumitkumar03 2 роки тому

    Amazing...Too well explained. Thank you.

  • @this.arunsaini
    @this.arunsaini Рік тому

    💣explanation ! swiftly explained the design.

  • @Agmay12fan273
    @Agmay12fan273 4 роки тому +2

    Great content and very nice explanation in a simple manner. Keep up the good work

    • @codeKarle
      @codeKarle  4 роки тому

      Thanks!! Glad that you liked it :)

  • @prblsoni
    @prblsoni 2 роки тому

    Just one word "Incredible" 👍

  • @ameyjain3462
    @ameyjain3462 3 роки тому

    This looks like such a specific area for a system design. Someone knows or not knows unless they know abouit these protocols/networking problems etc. Thanks for the depth though.

  • @igrai
    @igrai 4 роки тому

    Liked the progression of the planning and proposing a solution, good stuff!

  • @prasoondavid5874
    @prasoondavid5874 4 місяці тому

    Best Explaination So far

  • @shrinilthakkar4589
    @shrinilthakkar4589 2 роки тому

    Awesome video. Brilliantly explained, first the concepts and then fit that into the complete architecture.

  • @hmmoniruzzaman8537
    @hmmoniruzzaman8537 2 роки тому

    Also a very good explanation of how WebRtc works in general.

  • @nkadoor
    @nkadoor 3 роки тому

    A good explanation along with details of underlying technologies involved.

  • @irockrock44
    @irockrock44 4 роки тому +1

    thanks! itd be nice if you let us see the whole system design chart without you in video so i can screenshot it for reference. e.g. at 34:20 mark. Keep up good work!

  • @nikitasinghchauhan6239
    @nikitasinghchauhan6239 4 роки тому +2

    You explain so well . Keep going.☺️👍

    • @codeKarle
      @codeKarle  4 роки тому

      Thanks for the kind words Nikita!

  • @SaiPavanPothuri
    @SaiPavanPothuri 2 роки тому

    Very well explained video
    Didn't understood at the first time. but after browsing some couple of articles on websocket, tcp and udp made me more understandable for this video.
    Could you make a system design video on Telegram ?
    i think the telegram architecture is different than that of whatsapp. ( because telegram group chats have thousands of users whereas whatsapp has minimum set of users in group ).

  • @atvasundhra8489
    @atvasundhra8489 11 місяців тому

    webrtc explanation was on point!

  • @astrostudent2302
    @astrostudent2302 3 роки тому +1

    Simply superb!!!

  • @ramkrishnakulkarni8289
    @ramkrishnakulkarni8289 4 роки тому +2

    Awesome content. Leaned a lot and absolutely loved it.

    • @codeKarle
      @codeKarle  4 роки тому +1

      Glad to hear that it was helpful :)

  • @phssyk2
    @phssyk2 3 роки тому

    Awesome video. Loved the explanation and how the level of details were just right

  • @mickeyp1291
    @mickeyp1291 10 місяців тому

    36:30 good tip about the video chunk sizes !

  • @godolsss2139
    @godolsss2139 4 роки тому +2

    extremely nice explanation!!!thanks a lot...keep them coming

    • @codeKarle
      @codeKarle  4 роки тому

      Thanks for the good words. Do share the channel with your friends :)

  • @NarayananPrabath
    @NarayananPrabath 2 роки тому

    Please post more such content codekarle.

  • @ritukothariable
    @ritukothariable 4 роки тому +4

    Another awesome video! Thanks a lot. "File creator" could be called "Archiving service" :)

    • @codeKarle
      @codeKarle  4 роки тому

      Oh yeah, that's a better name. I'm bad with naming 😅

  • @richardnorth1881
    @richardnorth1881 2 роки тому

    Your videos are great- as many have said, you just need a better sound/microphone quality! Some words you say don't come through clearly, but otherwise, excellent content.

  • @akshaymonga
    @akshaymonga 2 роки тому

    @Sandeep Kaul: at 27:58 how is Peer-to-Peer OK ? Didn't we decide before that Peer-to-Peer without "Call Server" is not possible, due to things like Symmetric NAT etc ? Aren't we always supposed to use "Call Server" ?

  • @prabinpanda2882
    @prabinpanda2882 2 роки тому

    Really nice clearity

  • @subhashnambiar9
    @subhashnambiar9 3 роки тому

    This is great. Thank you.
    Just a suggestion, you are too much in the video which create distraction from the diagram. Try stay aside and explain.

  • @MuraliSprofile
    @MuraliSprofile 4 роки тому +2

    Great Content 👍.
    Thank you for making this video.
    Could you also share your sources and how you learn about new systems?

  • @udrush
    @udrush 2 роки тому

    Thanks for all your efforts making amazingly great system design content. Such a depth and detailed explanation!

  • @uniquekatnoria5380
    @uniquekatnoria5380 2 роки тому

    very well explained

  • @wotsoever7069
    @wotsoever7069 7 місяців тому

    please add live streaming part in the header, that could be a life saver for some people

  • @RekhaS-t9p
    @RekhaS-t9p 11 місяців тому

    Very clear explaination

  • @amitmandliya6577
    @amitmandliya6577 4 роки тому

    Thank you so much! I like the brief tips you add to the abstracted services to handle stuff.

  • @smirkedShoe
    @smirkedShoe 2 роки тому

    For a video data-packet transfer we are using UDP, is it possible to have a websocket connection over UDP ? Since, in the current design even the video packets are going through web socket handler ?

  • @mohitmangal4654
    @mohitmangal4654 4 роки тому

    I really appreciate your work sir, really got to learn so much. Thank you

  • @SergeyZimin
    @SergeyZimin 3 роки тому

    Great content. The only complaint is about the sound quality. Please buy a high quality mic.

  • @N51280
    @N51280 3 роки тому

    AWESOME.. super happy with your content. Thanks a lot :-)

  • @niteshkumar-cu5qo
    @niteshkumar-cu5qo Рік тому

    In webRTC world when we share our screen, are there different channels of data from where the Camera, mike, and share screen data move? Because the screen share data part is not require high bandwidth and does zoom or other tools actually does it?

  • @ayajamesaya
    @ayajamesaya Рік тому

    Thank you so much for making the article and the youtube video! The article is concise and covering so many real world situations. It helps me understand the video call system greatly. I hope more people can see this!
    Got one question too, on the live section, is there a reason why the 2nd set of call servers only adopt one specific format from transcoder output instead of working with multiple? Curious if it is for simplicity.

  • @prerakchoksi2379
    @prerakchoksi2379 2 роки тому

    Aweysome explanation

  • @Mahidhoni5227
    @Mahidhoni5227 4 роки тому +1

    Very well explained video @codeKarle. Sandeep would love a video on Identity/User and Auth Manager.

    • @codeKarle
      @codeKarle  4 роки тому +1

      Thanks!! That's an interesting topic to cover. We'll try to do that in near future!

  • @praveenjain183
    @praveenjain183 4 роки тому

    Thanks a lot for sharing this. Appreciate your efforts.

  • @ZhiHan
    @ZhiHan 4 роки тому +1

    Very nice presentation. Thanks!

  • @lakshyabansal609
    @lakshyabansal609 8 місяців тому

    A very complex and interesting system design problem use case has been tried to explain here. Kudos for that. However has feedback the knowledge seems more like learnt system design Vs how actually a Vedio conferencing would work.
    For example: at the end when you U1 and U2 can dynamically switch from P2P to call server, how would this work if the call is getting recorded. In that case both U1 and U2 have to send packets to call server to allow later saving info to a database.

  • @inspiretheday1394
    @inspiretheday1394 4 роки тому +1

    You are doing a good job 👍🏻

  • @nileshkumarjaiswal9794
    @nileshkumarjaiswal9794 3 роки тому

    Excellent System design video ..Do you have any series on Low level design or any plan to create video on that ?

  • @manojgoyal-y3k
    @manojgoyal-y3k 6 місяців тому

    great video

  • @ayushbhanu-c2j
    @ayushbhanu-c2j 6 місяців тому

    any of your video which gives overview on kafka?

  • @Sakshambhushan
    @Sakshambhushan 4 роки тому

    Really great video on webrtc...!!

  • @SaurabhGupta-iu4sy
    @SaurabhGupta-iu4sy Рік тому

    Why is the bandwidth better or there are lesser issues in call server connection than peer to peer connection?

  • @smrtiatrey4632
    @smrtiatrey4632 3 роки тому +3

    For connector : there is Protocol SIP which is widely used for any IP calling system.

    • @tupaiadhikari
      @tupaiadhikari 2 роки тому

      I think SIP is not a transport layer like TCP/UDP. SIP is only used for call establishment. Once call is established, the transport layer takes over for sending actual audio/video contents in the form of packets.

  • @harishkandikatla9791
    @harishkandikatla9791 3 роки тому

    Nice Explanation!
    can you also do some videos to understand the basics?

  • @subbamatta1947
    @subbamatta1947 4 роки тому

    Excellent explanation.

  • @sagarakshayan1184
    @sagarakshayan1184 4 роки тому +2

    Overall good video , but don't block the complete architecture diagram while explaining like 33:20. Instead stand at the corner and explain it in detail

  • @swapnilbelan6176
    @swapnilbelan6176 4 роки тому

    Great perfect Content 👍.

  • @saanikagupta1508
    @saanikagupta1508 6 місяців тому

    Why input manager sends it to call server directly? Should it not send to some kind of manager which passes it to transcoders and from there to call servers?

  • @rumtek3559
    @rumtek3559 Рік тому

    I am STUNned

  • @sachinmamadapur3000
    @sachinmamadapur3000 4 роки тому +1

    Nice Explanation ☺️

    • @codeKarle
      @codeKarle  4 роки тому +1

      Thank you!! Lots more to come your way :)

  • @rajankalra893
    @rajankalra893 4 роки тому +2

    If connector sends the pair of PublicIP:Port to each of the user device, wouldn't there be an upper bound on number of devices that can connect as number of ports the router has? As each user device needs to have a unique pair of PublicIP:Port, which will actually differ due to different port each user is connecting by. What is the caveat I am missing?

    • @kartikdubey762
      @kartikdubey762 3 роки тому

      Same Doubt! @codeKarle Could you throw some light on this

  • @orvillepinto3553
    @orvillepinto3553 4 роки тому +3

    Great Content,Thank you 👍🏻Could you do System Design of Google Drive or DropBox like systems

  • @sreevanin3777
    @sreevanin3777 3 роки тому

    Thanks Sandeep for a very tutorial with great clarity. One section, I could not understand where is the 'connector' hosted? Is it also another machine which the app on the device knows how to connect to?

  • @EugeniyNizhinskiy
    @EugeniyNizhinskiy 3 роки тому

    great work, keep on

  • @RishinderRana
    @RishinderRana 3 роки тому +1

    Great job! Executed like a tactical operation. Is there a book you recommend to read for learning some of this stuff?