This repo contains some experiments that involve encoding arbitrary data into video files that survive Youtube compression.

Live demo you can try yourself: https://iancaling.com/steg/

The current solution works 99% of the time and only rarely encounters errors in practice. It works 100% of the time under ideal conditions (i.e. when not round-tripped through Youtube).

When encoding some data, each byte is converted to a “tile”, which is a rectangle of arbitrary size filled with one of 256 colors. The “palette” used for these colors was specifically tuned to maximize resistance to Youtube’s compression.

One “frame” of video is made up of as many tiles as will fit. In a 720p (1280x720) video, for example, we can fit 3600 16x16 tiles, or 3.6kB o…

Similar Posts

Loading similar posts...

Keyboard Shortcuts

Navigation
Next / previous item
j/k
Open post
oorEnter
Preview post
v
Post Actions
Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Recommendations
Add interest / feed
Enter
Not interested
x
Go to
Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Browse
gb
Search
/
General
Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help