Thank you so much for this video. Been waiting for this kind of vid.
@irtizahafiz2 жыл бұрын
Awesome! If you have any feedback, please let me know.
@piyushkumar2437 Жыл бұрын
Very comprehensive explanation. Please keep up the good work 👍
@irtizahafiz Жыл бұрын
Thank you! Glad you found it valuable.
@johny9629 ай бұрын
Thank you very much, I learned a lot 👍👍👍👍👍👍
@vee-obsidian2 жыл бұрын
Thanks again, love your channel. If and when you get a chance, suggestion for next system design 1). distributed message queue and 2). distributed cache.. Thanks for all your hard work
@irtizahafiz2 жыл бұрын
No problem : ) Sounds good. I will add these to my list. Hope you enjoy the future videos. Will be coming up soon I promise haha
@조바이든-r6r2 жыл бұрын
I really like your complex topic which gonna interviewer might ask
@deepjyotkaurbindra Жыл бұрын
Hi, great video, just wanted to add that we should break the video into chunks before sending it to the transcoding service so that the transcoding workers can work in parallel for different chunks.
@irtizahafiz Жыл бұрын
That's a great point!
@IMSOURAVM9 ай бұрын
Brilliant content!! Could you please make a video on google docs system design?
@cwmayank5 ай бұрын
please add url for video notes.
@melk48111 Жыл бұрын
Shouldn't streaming the video come from CDN as we are storing the transcoding videos in S3 (CDN) ?
@irtizahafiz Жыл бұрын
Yes. I didn't dive into a lot of details, CDN being one of them.
@GoodLuck-dv2zu2 жыл бұрын
Why do we need Transcoding Service if all heavy prcosses are done by workers? Why Api servers can not push direct to KAFKA?
@irtizahafiz Жыл бұрын
You can do that as well.
@sergiim56012 жыл бұрын
Thanks for the great videos! I've got a question about the Transcoding Service. It seems like its only job is upon receiving S3 URL of an original video to publish a message to Kafka. If so, why don't API servers publish messages to Kafka directly and everything else stays the same ? It's not an expensive process from what I understand. Is there something else I don't get ?
@irtizahafiz2 жыл бұрын
Kafka+Celery works too. I think I mention that in one of my other videos.
@JardaniJovonovich1922 жыл бұрын
Shouldn't there be multiple transcoded video URL's for a single video? like for each video format i.e. mp4, mvi e.t.c we should support multiple resolutions like 720p, 360p e.t.c, right? However, as per your metadata DB design, I see only a single column? Do you add multiple rows for each video wherein each row has a separate transcoded video URL for each bitrate + format? If that is the case, then writes will also be huge, so having a wide columnar DB like Cassandra would make more sense than MySQL, is what I feel. What say?
@irtizahafiz2 жыл бұрын
Hi! That's a really good point. I totally agree that we will need to support multiple resolutions and formats. I thing a relational table would still work given the write throughput won't be too high. Transcoding will mostly occur on video upload time. We can always shard our relational table based on video_id or something if it's getting too large. Cassandra would also work here, but I think a simple MySQL table would do the job too.
@melk48111 Жыл бұрын
Love your videos. Is there a link to the design ?
@irtizahafiz Жыл бұрын
Unfortunately, most of the PDF links expired. You can consider subscribing to my newsletter at irtiza.io. Soon I will send out the ones I could recover.
@HozefaJodiawala2 жыл бұрын
Why not do the copyright check before transcoding? All resources spent on transcoding are wasted if the video is taken down.
@manichaitanya9262 жыл бұрын
@Irtiza Amazing videos and awesome details. Can you please upload the PDF Notes like it is given for other design questions.
@irtizahafiz2 жыл бұрын
Hi! Unfortunately, I don't have the notes PDF anymore. I started adding a PDF link of the notes starting a few videos after this one. Sorry :(
@mansimishra7089 Жыл бұрын
Hey ! Very Nice Explanation :) Can you please provide the used docs in the video?
@irtizahafiz Жыл бұрын
For the notes, I recovered several of them. If you want them, please subscribe to irtiza.io. I am using that list to keep track of whoever wants the notes now and moving forward.
@veerendrashukla2 жыл бұрын
How does server know what all ids need to be saved against the user? In the facebook we know friends and that helps in storing the newsfeed for the users. Here in this design, if someone uploads the video, how do we know this video id should be also stored for other users?
@irtizahafiz Жыл бұрын
You can use concepts from the Facebook design. The KZbin equivalent of "Friends" is subscribers. So you can push videos to the subscribers "feed" whenever a channel they follow uploads a video.
@arihantjain32742 жыл бұрын
Why use Kafka instead just trigger transcoding lambda when S3 put object