RLE Video Player (No video loaded - Demo video codes in description)
This code is over 6 months old. The code may have expired and might no longer function.
It's a video player that works in overwatch workshop
this code doesn't contain a video, but the test codes do, this is just the video player, just scroll down if you don't care about this gibberish and just want to see the trash working
monochrome only video with pixels only black or white, best format now technically 96 x 54 ~ 5 fps (0.192s/f), but since something (either the server or my computer) starts starts running slow and shows frames at a lower rate than it should, best practical format is now 80 x 45, 5 fps (0.192s/f) which still may run slower than 72 x 41, same framerate, not sure.
previous best format was 72 x 41 pixels at ~5 fps (0.192s/f). however, the biggest performance is that the new code can play video indefinitely (given workshop can actually load all the code you give it and the video is under the element limit) and is much more stable.
perhaps 64 x 36 or even a bit higher at ~10 fps (0.096s/f) could look spicy, but i haven't tested it yet, have tested 72 x 41 at 10 fps to not work, but 72 x 41 at ~8 fps (0.128s/f) was running, but with same issues as 96 x 54 ~5 fps (0.192s/f)
previous code: https://workshop.codes/JJXXK used permutation compression, where it would have a bank of all 512 permutations of 9 pixels either on/off in a row (2^9 = 512). then it would get the permutation matching to a number and slap it onto the row
this code uses run length encoding instead, where it looks at the video like one long row with every row stacked next to each other, row by row, frame by frame, and then memorizes how many consecutive black pixels are in the run, from the start, then how many white, then black and so on. (there is some playing around the limit of characters i can fit in a single string, but its kind of trivially solved when you get the code to say that runs of 0 can exist in the video)
this means its usually stronger than the previous one, unless you feed the player white noise
maximums are based on load, not custom string limits. custom string limits included, maximum resolution is 128 wide 128 tall
no audio, but i now place the camera right next to the paris piano if anyone's willing to get some spicy midi action going
further settings in the top and a debug rule you can use to define where you want the camera to be placed and which way it faces, you might even want to consider fiddling around and making a theater if you please
no code for processing video included to prevent widespread misuse of this code
but there are some test videos codes included V V V V
Here are some test video codes. I gave them a readability score which basically means how well anyone can recognize whats going on in the video.
(press f/interact to start the video, some codes might use outdated video players, but will run anyways)
ultra - 128 x 72 - no current fps estimations (current estimation are that it crashes on loading a single frame lol)
high - 112 x 63 - no current fps estimations
legacy high - 99 x 56 probably ~2.5 fps
mid - 80 x 45 probably ~5 fps
legacy mid - 72 x 41 probably either ~8fps or ~5 fps
low - 64 x 36 usually between ~10 or ~5 fps
legacy low - 54 x 31 usually between ~10 or ~5 fps
all formats are 80 x 45 at 5
5/5 - fully readable: you can tell what's happening
4/5 - readable
3/5 - somewhat readable somewhat unreadable
2/5 - nigh unintelligible
1/5 - okay seriously what even is this
Video Codes, readability ratings and lengths
funne fartnut danseing man (i guess this is just the benchmark now)
0E1A4 - mid (0.192s/f for 7.2s) 5/5 readability
FHAHR6 - mid (0.192s/f ~ 3min 37s) 5/5
rick roll (full video this time)
B6WE3 - mid (0.192s/f ~ 3min 32s) 4/5
7 page muda
K4KDX - legacy mid for server load issues (0.192s/f ~ 1min 40s) 3/5
maybe you can ask for more videos in the comments to be converted in the future but only if i feel like it?