Live data from Hacker News

Video streaming at scale with Kubernetes and RabbitMQ

alexandreolive.medium.com

31–40 of 100 posts

Re: Video streaming at scale with Kubernetes and RabbitMQ

#31
post #25

Fuck K8. You literally don't need it. Maybe he needs it because he's building on google cloud. AWS is easier, but you can do it with anything. The basic steps are: 1. Upload the file somewhere 2. Transcode it 3. Put the parts somewhere 4. Serve the parts You should really transcode everything into HLS. It's 2023, and everything that matters supports it. If you want 4k you can use HLS or the other thing (which I keep…

This post is somewhat unfairly voted down.

Cloud services like S3 and Azure Storage were invented specifically for hosting images and video. That’s their origin story, their foundation, their very reason for being.

Similarly, cloud functions / lambda were invented for background processing of blobs. The first demos were always of resizing images!

Building out this infrastructure yourself is a little insane. Unless you’re Netflix, don’t bother. Just dump your videos into blobs.

It’s like driving to your cousin’s place, but step one is building your own highway because you couldn’t be bothered to check the map to see if one already existed.

PS: Netflix serves video from BSD running directly on bare metal because at that scale efficiency matters! If efficiency doesn’t matter that much, use blobs. Kubernetes is going to be even worse.

Re: Video streaming at scale with Kubernetes and RabbitMQ

#33
OP mentions that "I would love to be a little mouse and peek at YouTube’s complete architecture to see how far we are from them." You can occasionally find posts -often linked here- from another player in streaming video which you might have heard of, discussing technical architecture. For example, this might be a little lower level that you may be interested in as it relates to kernel optimizations to jack bit throughput rates, but I dig this sort of thing -

https://www.youtube.com/watch?v=36qZYL5RlgY

Re: Video streaming at scale with Kubernetes and RabbitMQ

#34

I thoroughly appreciated this article as I've been building a short-form video content streaming service and the performance hasn't been what I expected. Granted, I knew that my service needs to be able to scale at different bottlenecks, but a lot of "build your own video service!" tutorials start with: - Build a backend, return a video file - Build a frontend, embed the video And that leaves a lot to be desired in t…

I'm the writer of the article; thanks for your lovely comment. I skipped many essential parts of the architecture in the article to keep it concise. The following articles will be about the technical implementation of what I discussed in this one.

Re: Video streaming at scale with Kubernetes and RabbitMQ

#35
post #25

Fuck K8. You literally don't need it. Maybe he needs it because he's building on google cloud. AWS is easier, but you can do it with anything. The basic steps are: 1. Upload the file somewhere 2. Transcode it 3. Put the parts somewhere 4. Serve the parts You should really transcode everything into HLS. It's 2023, and everything that matters supports it. If you want 4k you can use HLS or the other thing (which I keep…

[deleted]

Re: Video streaming at scale with Kubernetes and RabbitMQ

#36

I have to ask, why bother with Kubernetes and all the associated config and pain? Why not just start a new spot instance? I can’t see any reason for Kubernetes in this architecture even though it’s the title of the post. Also personally I wouldn’t use rabbitmq … it’s pretty heavyweight… there’s lots of lightweight queues out there. Overall this architecture looks like it could be simplified. Also, the post doesn’t me…

Hello, I'm the writer of the article. We are using Kubernetes for our whole architecture, consisting of around 40 microservices and cron jobs. I just wanted in this article to give an example of asynchronous architecture using Kubernetes and RabbitMQ. We are using RabbitMQ because it's my company target solution. There might better so lighter solution that would fit us but having just one for every solution is easier…

So Kubernetes is only in this architecture because other systems use it and its required by the parent company but not needed.

That's pretty important context.

Re: Video streaming at scale with Kubernetes and RabbitMQ

#37
post #24

I built a similar video pipeline, not on Kubernetes but using EC2 instances for those hungry FFMPEG encoder. The system differ in that it was not user generated video content. It was coming from the cameras in our fitness studio. Here is the article if anyone intereste to read about: https://dev.to/dvliman/building-a-live-streaming-app-in-cloj...

awesome article! curious -- why clojure?

Re: Video streaming at scale with Kubernetes and RabbitMQ

#38

Earlier quoted context omitted.

Hello, I'm the writer of the article. We are using Kubernetes for our whole architecture, consisting of around 40 microservices and cron jobs. I just wanted in this article to give an example of asynchronous architecture using Kubernetes and RabbitMQ. We are using RabbitMQ because it's my company target solution. There might better so lighter solution that would fit us but having just one for every solution is easier…

So Kubernetes is only in this architecture because other systems use it and its required by the parent company but not needed. That's pretty important context.

That's not what I said; sorry if that was not clear. The parent company requires RabbitMQ, we are using Kubernetes because managing 40 microservices without it would be hell. In the article, I only showed 1 user-facing API, but it's actually multiple services, I just did not want to complicate it too much.

Re: Video streaming at scale with Kubernetes and RabbitMQ

#39

I thoroughly appreciated this article as I've been building a short-form video content streaming service and the performance hasn't been what I expected. Granted, I knew that my service needs to be able to scale at different bottlenecks, but a lot of "build your own video service!" tutorials start with: - Build a backend, return a video file - Build a frontend, embed the video And that leaves a lot to be desired in t…

I built a similar project, and had great results with cloudflare stream.

Re: Video streaming at scale with Kubernetes and RabbitMQ

#40

Earlier quoted context omitted.

So Kubernetes is only in this architecture because other systems use it and its required by the parent company but not needed. That's pretty important context.

That's not what I said; sorry if that was not clear. The parent company requires RabbitMQ, we are using Kubernetes because managing 40 microservices without it would be hell. In the article, I only showed 1 user-facing API, but it's actually multiple services, I just did not want to complicate it too much.

[deleted]
Post reply on HN