Video player that can stream full movies at low resolution

Took a couple days off with a friend and we made something cool just for fun. It won’t be used in a public game or anything.

By uploading movies to an external database, we created a GUI frame based video player that has audio and syncs between clients. The resolution is poor but it was still pretty fun to make. Could double it without destroying performance but at the cost of more data to stream.

Simple break down of how it works is I made a Java bot to take an mp4, scale it down to 90p, break it down into its constituent frames, then upload those frames in packets of 300 to an external database as bitmaps.

The server then fetches those packets from the database, and streams frames over time to the client.

The client then parses those bitmaps to get the pixel info , and for every pixel on the canvas it sets the color to the corresponding color. At 90p most devices can run it at 50 FPS, which is way higher than we need for smooth playback(most movies are 24)

Theres also some room lighting that colors based on the average color of the pixels on that frame.

The server and client both dump old frames from memory, so doing this with a stable connection means groups of people are able to sit through entire movies together with no issues!

Again , I probably won’t use this in a public game for obvious reasons but it was still cool seeing that it was possible

86 Likes

This is really cool, My favorite part is where it colors the room lightning with what’s on screen.
Good job!

11 Likes

It looks super cool! Would you be interested in creating a detailed tutorial on how to do this for fun on the Dev Forum? Keep up the good work!

4 Likes

Nice, if it rally streams an entire movie, then you could make players pay with robux a ticket to see films, like minimun 25 rs x film, calculate the price based on which film you broadcast, for example: a film like transformers will cost more than a lesser known film, call the game like " The Robloxian Cinema" or something like that

2 Likes

I could easily make a public cinema game with this.

But due to the legal concerns and potential terms of service violations with content sharing in doing so, that will never happen.

2 Likes

Super cool experiment! I love everything about this. All those details… :heart_eyes:

1 Like

unfortunately, but that would have been very popular

2 Likes

What if the “movies” were made by yourself? This would be a very good way to use that advantage.

1 Like

At that point it may be better to just stitch together segments of a video with the upcoming video frame object

1 Like

The VideoFrame feature could take another year or so until public release, this would be a worthy substitute until then.

2 Likes

You mean like, roblox animations?

1 Like

Wow! this looks amazing, especially the lightning :wink:

2 Likes

Yes!,that looked really amazing

1 Like

Oh god! Its so good! I like it

oh my god. wha- I didn’t think this was possible… THIS IS AMAZING GOOD WORK BUD!!! :+1: :grin: :rofl: :rofl: :sweat_smile:

Pirating movies is one thing, making a game where you illegally sell ‘tickets’ to see a movie is another…

4 Likes

I appreciate the fact that the movie you chose to test this was Shrek.

All jokes aside, this is a very interesting project. Nice work. :+1:

2 Likes

Plus, the whole control over pixels adds more benefit for this sort of project than VideoFrames would. The lights make it so cosy!

2 Likes

Piracy is not a party!

What would be nice is being able to make your own movies and then play it in the cinema! Have a few free movies, but others you have to pay for.

2 Likes

That’s something incredible, it’s a good idea for a weekend in your cinema in your luxurious Roblox mansion, popcorn, a velvety armchair and a big movie screen.

Roblox doesn’t identify copyrighted movies?

1 Like