Nimble DVR storage on mounted S3 resulting in frozen playback

Jon 2023-03-10 00:21:03 UTC in Nimble Streamer

We've got Nimble DVR running on an EC2 instance, and set up to store the DVR files on a mounted S3 drive. This seems to work OK for a single stream, but we have now added three more streams (the plan is to have approximately 100 DVR streams) and the playback is choppy and freezes very often and isn't usable. Our developer says this is caused by the S3 I/O speed, and that we can't use S3. Just wanted to run it past this forum. Because of the large number of DVR streams we are hoping to record, using SSD EBS volumes is too expensive for us.

Has anybody successfully integrated S3 with Nimble DVR playback? Or does anybody have any tips or solution that might help us out?


Sergei 2023-03-10 01:31:23 UTC 

Hello, Jon.

Your Devs are absolutely right, there are no guarantees it will work reliably, and scaling would be probably difficult. We are not aware of any success stories about such a usage.
Multiple DVR streams are heavy writers (and readers), so it's best to have locally connected storage system to a server for storing its data.
I recommend contacting Amazon's support to clarify, what exactly in and out bandwidth allowed for a S3 storage, and divide it by an average bitrate of a DVR stream you use. It will give you insight on the maximum number of streams you may put and get from S3.
Anyway, I doubt it will be reliable, as some network issues may ruin your DVR recordings.

Jon 2023-03-22 04:52:14 UTC 

Just a further note to this, in case anybody is interested. We have used a different technique and set up AWS Storage Gateway to mount the S3 bucket as a drive on our Nimble EC2 instance. We are now testing with around 100 DVR streams and the DVR playback is running smoothly. Next step is to do more testing under production loads as we begin to integrate some replays into our front-ends, I'll report back when we have some results.

Sergei 2023-03-22 09:46:48 UTC 

Hello, Jon.

Thank you for sharing your success.
We actually never tried AWS Storage Gateway.
It sounds it will work fine if sufficient bandwidth provided, but does AWS guarantee constant availability of such a storage?
I suggest checking some corner cases, like Nimble failure (just kill -9 it from a console) after recording lets say a dozen of streams which were recorded for at least a day. How fast after start does Nimble allow viewing recorded streams in such a case?

Post a reply

Post a new question


This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the Privacy Policy. If you want to know more or withdraw your consent to all or some of the cookies, please refer to the Privacy Policy.
By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to the use of cookies.