This message was deleted.
# announcements
s
This message was deleted.
s
We want to save it in DO spaces (S3 compatible storage)
Recording can only be achieved using server-sdk-go.
We're using server-sdk-js since our backend is in Node(typescript).
s
Oh. Nice. I was reading the docs https://docs.livekit.io/references/server-sdks and the note stated "The Go server SDK also has WebRTC capabilities, allowing you to build publishing, recording, and other track interactions in your apps." We assumed these services were unique to the sdk.
m
There may be some things we don't catch (and please file an issue, if discovered!), but our general philosophy/aim is for our SDKs to be consistent across all platforms. Sometimes there are differences specific to a particular platform, but that's usually with the client (not server) SDKs.
👍🏿 1
👍 1
s
hey @magnificent-art-43333, after we start recording the live stream, what is the actual flow for saving the stream? Is it something like this? • Feed keeps sending data to backend; • Backend points the feed to a S3 bucket; • End live recording, stopping the feed and record altogether. If that's the case, the server needs to be always on, meaning we can't use a serverless approach to it. Are our assumptions correct? Serveless meaning going to zero (cold start).
m
Check out the beta docs here: https://docs.livekit.io/guides/recording/
👍🏿 2
s
So, what's the difference between LiveKit Recorder and server-sdk-js? It seems the latter is easier to configure and use.
Just to be clear, We're using Flutter Client SDK for live streaming, server-sdk-js for everything "server" related. We're deploying LiveKit (PoC) using VM (Linode Hosting) as per @great-umbrella-58130 recommended. We'll move to DO with kubernetes for that and to save all records we'll use DO spaces (S3 like storage) and serve them with their CDN. The question is if We're on the right track or we're missing something else.
👍 2
Most if not all the streaming will be performed using a mobile device at least for now.
@great-umbrella-58130 Just following up on the question, do we need to configure live-recorder or can we use server-sdk-js and point it S3 bucket?
g
that’s a question for @able-gigabyte-21598 I think
m
@some-greece-49743 the recorder runs as a separate service, you can interface with that service through the server SDK, but you still have to run/maintain it.
From the docs:
Copy code
While standalone mode is easy to get started, you may want to deploy the recorder as a service for programmatic access to recording. Once deployed, rooms can be recorded by indicating as such during room creation.
@some-greece-49743 we’ve spent a lot of time (and we’ll be spending more time soon, because there’s a lot of new stuff that’s been released!) on the docs. Please give them a read over and if there’s something that doesn’t make sense, we’re happy to answer questions or offer guidance. 🙏
👍 1
s
Nice. Thanks.
👌 1
a
@some-greece-49743 Did you run this on Linode or other cloud provider? used k8s? it would be great if you can share some knowledge
s
Hi @adorable-printer-44453, We're currently running the VM implementation on Linode for our PoC. We haven't implemented live-recorder yet. Our use case doesn't need composite video support so we're following this implementation: Introduce recordbot to record stream directly by @fresh-optician-86921. For kubernetes, we're deciding between DO and Linode.
a
hmmm, very interesting, just FYI, linode nodebalaner doesn’t support UDP traffic, I had a chat with their support about that. interested to know how you guys go about it
for the record, if you go with GKE you might want to lower the spec in the sample GKE values, ref: https://livekit-users.slack.com/archives/C01KVTJH6BX/p1644281370419559
👍🏿 1
s
We're not using load balancers (yet). Thanks for the heads-up. GCP and AWS are really expensive for startups trying to implement livestreaming. That goes for Agora, etc... Now the clear choice is DO. DO has spaces (S3 compatible) + free CDN. We're using Linode for different services and we were evaluating the possibility to implement our streaming services on their platform.