Does storj even work for VIDEO STREAMING?

0 Storj nodes are storing a piece of this file

I am looking at the example video files that storj provided and none of them seem to be using Nodes.

And with all the marketing talk on the website that this is the cheapest service, at $4TB + $7TB egress, it actually isn’t that much cheaper. Sure a CDN provider would negotiate lower, bunny.net stream is pretty close, within a few dollars.

So, does this decentralised storage even work in the real world? Or is this actually just using a CDN.

1 Like

It seems that the map is broken. I can assure you it works.
Here is some example from one of my buckets:
Fireplace 10 hours full HD.mp4 | Storj DCS
sintel | Storj DCS
And one from the Boonji NFT project:

There are many services already using Storj DCS as storage backend, for example https://transfer.sh/ which works quite well.

Edit: BTW, never heard of https://bunny.net/, very interesting.

2 Likes

This video file is playing from your node? I am in Australia. The response time is not that good, if I used Cloudflare or google cdn for example that response to the server would be 30ms. This is nearly 2 seconds.

Storj
Screenshot 2023-01-11 at 3.07.59 pm

Call me absolutely bonkers, but it doesn’t seem to be streaming in HLS or DASH, it’s delivering chunks of the entire MP4 from someones HDD sitting in a random house or server? (Not that that is a bad thing) just really don’t get it. You would never do that on a traditional CDN as the user would have the download the entire MP4 for it to start playing.

It must be that the map is broken, as these files would just be delivered by a CDN in another case.

Cloudflare
Screenshot 2023-01-11 at 3.10.21 pm

It really is bananas to me that these files are delivered as the entire file, video should be encoded into HLS or something & delivered in trailing bits, not as a huge chunk or you’ll choke the browser cache. :sweat_smile:

Also not to poopoo on the parade of being ground breaking-ly cheap. There are tons of CDN’s with lower prices. Especially under contracts. Mega corp X isn’t paying Cloudfront retail prices.

I mean wasabi.com egress is free, and https://www.cloudflare.com/products/r2/ is $0.015 with free unlimited egress with global distribution. Beluga cdn is like $6TB etc

Guess storj is good for storage, but not really for video distribution.

Oh I don’t know if my node has (parts of) this file. No node is storing an entire file, only pieces.
The linkshare where the map shows is the is the Storj Gateway. For better performance there is the native Uplink CLI tool, which interacts directly with the Storj network.
Maybe this additional info here is interesting for you:

2 Likes

Hmm sadly (or I guess, thankfully) it only took me 10 minutes to find out this is in fact NOT good for video delivery. Doesn’t work with HLS/DASH chunk streaming and takes about 1-2 seconds to load the file as it needs to load a pure container and start playing it instead of loading a fragmented chunk.

Netflix, Google, Amazon, Disney, they would NEVER deliver video like this. This video link claim as such should be changed to “Can deliver entire video files as if they were an entire download”

Doesn’t play nice with fragmented streaming media formats

You mean, free until suspended?

1 Like

You can fill the form on this page and Storj will get back to you.

1 Like

That’s only true if you’re on their non reserved product. And only true if you don’t use something like the free egress to https://www.cloudflare.com/bandwidth-alliance/ through the alliance. But yeah, if you’re running it like S3, you’ll get kicked.

So, yeah, with Storj you won’t get kicked.

1 Like

But Storj is no Netflix.
Did you expect Storj DCS to transcode your data into various formats or something?
That is not what they do. Storj DCS is an object storage that simply stores and serves what has been uploaded to it and what gets requested. So if you upload an Mp4 then you can download an Mp4.
They couldn’t even ‘mess’ with your files and transcode them as they are all encrypted and only the user has the keys. So if you want to download a HLS stream you would probably have to upload it first.

Storj DCS can also be used as storage origin in conjunction with a S3-compatible CDN like for example Fastly.
Wasabi.com has a short list of S3 compatible CDNs, there are probably many more:

https://wasabi-support.zendesk.com/hc/en-us/articles/360035344092-What-CDNs-has-Wasabi-been-validated-to-work-with-

3 Likes

That’s not the point. Don’t put messaging and branding, obviously written by people who don’t deliver video, or know video, pertaining to be a video delivery service when the service doesn’t seem to support the delivery of streaming media formats.

I signed up for video. Because of the messaging.

RTMP,SRT, WebRTC (WHIP) obviously not included. HLS/DASH etc

I transcoded and uploaded an m3u8 playlist with a folder/file structure, it doesn’t play it, because it can’t play STREAMING VIDEO FILES. It only delivers container format files.

I didn’t make the claim, storj does. Video streaming, video delivery, video this & that, is not delivered in singular MP4 files unless it’s a tiny file. You certainly never watch YouTube and have it delivered as a single MP4. :sweat_smile:

I am just curious what happens if you upload the same thing to Wasabi object storage?
Does it play there?

Yes it does as Wasabi acts the same as S3 by design. It allows you to read the entire folder and then it can iterate over every .ts fragment and the browser with the playlist pieces it back together. I tried it with bunny cdn before, it worked fine. As others have said they’re like Storj, they’re for delivery. After testing withdrawal and upload speeds of Storj, video delivery is very much not the right medium for Storj. It needs ms retrieval from hot servers located ultra close, and finely tuned CDN cache nodes. Disney for example would be using 4-5 different CDN brands.

Storj delivers an entire file, pieced from max 64mb files on different HDD/SSD’s I get from reading around?

Not really the purpose of Storj to deliver these kinds of files maybe? Best to make that clear.

As if you delivered a large singular MP4 file to a client with bad wifi, internet, it will spin endlessly, or you deliver to a low power device, it will choke depending it’s power resource.

Not really a negative, I am sure for video STORAGE it’s a great option, but at that stage it’s not really video streaming anymore.

That’s interesting. Well I cannot say why it does not work or what changes would be required to make it work.
I am sure others can add more to that. We have some really skilled forum members and also Storj employees are around.
Let’s see what they can add to that, however the US-based people are probably still at sleep. : :sleeping:
@bre @Jacob @Dominick
Normally also @Alexey and @BrightSilence are around at this time.

I’ll keep poking, even cloudflare R2 takes a serverless worker to make their public buckets do iteration, I will see if anything changes.

I’d also love to know why google drive uploads are 10-20x faster than Storj, but that’s for another time.

Here is a good illustration, both videos are delivered the same size and format, from Cloudflare R2 & Storj, Cloudflare delivers the file only from Singapore for now (It will distribute this to EU/US within a few minutes). Storj times out or is slow to most points.

Same file, same video, just faster on traditional servers.

You rang?
:rofl:

I was actually already reading this topic when you mentioned me, but to be honest a little hesitant to respond as I’m not getting the vibe of someone who is genuinely asking for help, but rather just venting. (including digging up old posts just to say that it’s slow without context)

But I’ll provide some context from what I know. However, I’ve never worked on optimizing streaming video for Storj, so it won’t be a complete answer.

Let’s start out by saying that Storj absolutely supports streaming parts of files. Each file is indeed uplaoded in 64MB segments, but those segments are subdivided in small stripes, which can be individually requested and downloaded. What I don’t know is how that works with the S3 gateway implementation. I believe partial requests are supported over that, but it’s possible the web video player doesn’t support that. Lets keep in mind that Storj is NOT a video streaming platform, it’s a storage platform. The correct use of it for video streaming is to encode the videos yourself and build your own application/site to play the videos. The preview page that Storj provides is a preview of a file and nothing more. Comparing to youtube is therefor quite nonsense.

Furthermore, if you want to stream your videos with HLS, it’s up to you to encode it in HLS and upload it the correct way. You can’t just use link sharing or the preview to play that video then though as that uses an access that doesn’t have access to all files in the folder. Instead you’ll have to create an access grant with read access to the entire file prefix used for all the video files.

But to be honest… I feel like I’ve wasted my time posting this. Even though I’m certain things can be tuned to have excellent video streaming performance, I’m almost as certain that I’m responding to someone who isn’t interested in doing the work, but rather just compains.

6 Likes

Thanks for answering my question.

I wrote part of the implementation to make Cloudflare R2 stream HLS files, as it natively doesn’t do it, most people don’t know how to get it to work, so that’s a hilarious take.

As always. :joy: :joy:

1 Like