Embed files into images/videos

Hey there. I posted here a few other times over the months during development of my Python library, BitGlitter. It gives you the ability to embed files and folders into a supercharged QR code-like format, and can either have a video stream, or a series of images. You essentially have the ability to host files in videos.

I'm here to say it's officially done, but I'll be announcing in a few more days once documentation is complete.

github.com/MarkMichon1/BitGlitter

My previous threads had a pretty large response, although this time I'm starting this thread pretty late at night. I'm here to answer any questions or comments you may have on this. I'm really happy to be releasing this to the world.

Attached: 2019-05-23 01-13-32 - 1.png (500x350, 8K)

Other urls found in this thread:

youtube.com/watch?v=fUK90ocIZQU
encyclopediadramatica.rs/Gmask
twitter.com/NSFWRedditGif

Here's a test video of it in action:

youtube.com/watch?v=fUK90ocIZQU

In this configuration, it's streaming 81KB/s of binary data. Throughput can get way higher if you don't have to compensate for compression.

Attached: 2019-05-22 11-17-50 - 17.png (700x700, 4K)

I forgot to mention, im a trap by the way so if anyone wants to ask me about that then that's okay too ;)

lol, this wasn't me

What makes this different than other steganographic libraries?
Also would like to know more about this.

Actually pretty neat, too bad your coc doesn't represent LGBTQ and women. I might study your logic this weekend

Hiya hun, how can i be more inclusive? *kisses*

Other methods to encode data in imagery rely on zero corruption. Put another way, the file must be in its raw, unchanged format for it to be read. Depending on the configs, the streams from BitGlitter can be highly resistant to compression and corruption. The files can be changed in size, format, or otherwise compressed, and they can still be read. I can go further into this if you'd like me to.

I would love it if you could.

Okay, about what though?

Also, do you guys ever wonder about 5g? I wonder if the government has made me a trap

Attached: 1558302009362.jpg (720x699, 46K)

How do you manage to make the data robust through compression?

So one of the main results of compression is distorted colors within the blocks and around the edges. Even though the black square looks black and the red square looks red, there are minute changes.

I'll continue once I get a tripcode so this doesn't lead to any confusion.

I don't know lol someone else did it. Thinking is hard lol!

test

Attached: 2019-05-22 11-17-50 - 2.png (700x700, 4K)

>embed files into images
just use Cornelia you retard

Attached: Cornelia_format_tools.png (532x315, 16K)

I did try that.
Basically i didn't want anyone to find my crossdressing pics or porn so this is how i wound up here. What about you honey?

Show your legs now, faggot.

(Continued)

So in order to decode the binary values from that particular color, several steps must be done. First of all, only the inner 50% of the block's pixels are scanned. Around the edges of blocks can become fuzzy, and I've noticed through experimentation that most artifacts appear near the edges. So that reduces a lot of the noise.

Then we're left with a "cleaner" group of RGB values to read from. First I take the average of each of the red, green and blue channels so I'm left with a single RGB value. So all that's left is to see which color is it closest to. (continued)

Attached: gNMti.jpg (774x236, 24K)

5g is bad, they can essentially "fry" your clitty from a distance.

Attached: 1558296396986.png (271x152, 112K)

It helps a lot to map the colorspace into three dimensions. And it makes sense too, RGB can serve as X/Y/Z coordinates. So what we're trying to figure out is which point in 3D space is closest to my average RGB value I derived from the block. So you run through all of the colors available, and whichever one is the shortest distance (or zero if it's the exact color), that one is selected, and then since each color is linked to a certain binary sequence via a dictionary, out comes the bit string for that block.

So to put it shortly, by using palettes outside of 24 bit color, you have wiggle room in the distortion to resist corruption. Fewer colors are much more rugged to corruption yet carry less bits per block. More colors can hold a lot more data per block, yet are more sensitive to the environment they are in, perhaps requiring something lossless. I hope I adequately explained.

Hmm, that does explain it to an extent, but what if a pixel DOES get changed?

Where's the win32 build?

I'm assuming you mean it's changed beyond the point of recovery. There are several safety mechanisms in place to prevent corrupted data from being accepted.

There are headers at the beginning of each frame that carry important information to orient the reader, such as the SHA-256 hash of the frame. Each of the headers have its own CRC-32 checksum as well, so the reader can very quickly tell the frame is corrupted without having to read the entire thing.

Attached: 20190214_001220[1].jpg (2000x1125, 503K)

Hmmm, that's fine, your're just going to have to change it back

Refer to my previous posts. No other existing techs account for compression or distortion of the file.

There's plans to turn this into an app with a GUI, for now it's only this library. I can verify all required libraries work on Windows 10 as well as Ubuntu.

Dude I ain't touching that code shit, I don't want a virus. Call me when you've got a safe exe verified by the Microsoft Store

Open source is a big lie anyway. I hear you.

Very cool. I thought about something like this when they announced that GPhotos was going to store your 16mp photos for free.
I definitely remember there being some images uploaded to here being like: Save this image as a bmp and rename it to .exe

Thanks. And yeah, when 1 pixel blocks and 24 bit color is used, it does the same thing with some added metadata. This wasn't the point of my library, but rather just a step along the way. Pic related as an example.

Attached: output_000001.png (1920x1080, 1.42M)

been fallowing your posts for a while. seems neat. though i don't use linux so let us normies know when you get a nice gui up and running for the masses.

Thanks. I've been developing it on W10 so I guarantee the library will work on that. But I completely understand.... the idea from the beginning was to get the tech to people who don't know programming. I've had plans to do a GUI since last fall, but it was just too much work for one person (and new to programming). Getting this will be a much easier target to reach once I get some contributors to the project starting in a few days.

making sure there are no holes for malicious code to worm it's way though would be nice too.

At least from a dev perspective, the fact it's completely open source will make it very hard to sneak anything malicious into the codebase. As for the streams themselves, there's already a fair bit of safety mechanisms built in to prevent purposely corrupt frame data from causing too much damage. I'm sure more attack vectors will become apparent as more people use it, and those will be patched as well.

op your a smart kid how can we (you) make a program to deflect the 5g rays

Im not too sure about this to be honest, i can't prove it but i just know.
I think they are the ones that are turning me gay against my will.

nvm, I sucks cocks

And what error correction algorithm are you using, user?

>inb4 cp
encyclopediadramatica.rs/Gmask

it's retarded that this is banned in the technology board

Oh God, it's you again. No offense but this shit is completely useless. There are many pre-existing libraries that do this sort of stuff better. Even if you were the first one, it's quite useless and inneficent.

That's a great idea. You encode the data as actual colors, then leave a little "wiggle room" in color space (kind of as if you were processing an analog signal) for each symbol, so you can recover even after some compression. I got it right?

Show us some examples with actual images, preferably dick pics

>programmed in python
lol, pass
learn a real language faggot, and maybe come back.
Although, its probably better to just leave, and never come back. We would all prefer this.

Attached: 1557146913652.gif (540x266, 1.42M)

This. It's even made in Python. So single core and shit performance on top of that.

Pretty sure you could take this and use cython or manually rewrite it in a non-shit language.

I don't want to scare you user but threads like these can get you b&.

Post your programmer socks

How is yours different than this?
convert audio.png rgb:audio.opus

Attached: audio.png (1024x1200, 3.23M)