VLC upgrade #927
Replies: 3 comments 3 replies
-
|
Lfg |
Beta Was this translation helpful? Give feedback.
-
|
Hi, I think this is seriously interesting work, especially the way you combined 256 hue encoding, complement polarity, and impossible color clashes while still keeping the screen visually black. I’ve been working around AI agents / signal systems recently, and your approach to stealth VLC feels like a really clever blend of perception hacks + encoding theory. I’d genuinely be interested in collaborating or experimenting with this further — particularly around decoder robustness, adaptive synchronization, higher-density modulation, or real-world camera recovery under noisy conditions. Do you have a decoder implementation or roadmap planned already? Would love to contribute if you’re open to collaboration. |
Beta Was this translation helpful? Give feedback.
-
|
https://ai.studio/apps/3618fd58-9a6c-4568-924b-dd9b616d550b check it out
..
…On Sat, May 30, 2026, 7:57 AM Alex ***@***.***> wrote:
Hi, can you tell me more specifically ?
we can meet and discuss it each other
—
Reply to this email directly, view it on GitHub
<#927?email_source=notifications&email_token=BMRPQ7E7WUN7PYFJQDB67V345LEDDA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZRGE2TOMJVUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-17115715>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BMRPQ7AQ4C52UDCTV6SXRT345LEDDAVCNFSM6AAAAACWXGSZZKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTOMJRGU3TCNI>
.
You are receiving this because you commented.Message ID:
<ethereum-optimism/developers/repo-discussions/927/comments/17115715@
github.com>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Idea
Stealth Black-Spectrum VLC Transmitter
Screen looks completely black to human eyes
Camera decodes hidden data using 256 hues + complement flips + impossible clashes
What This Does
The screen stays pure black the entire time (very dim colors your eyes blend into black).
Inside that blackness it hides data using:
White flashes at the start send the encryption seed key.
After that the screen turns black forever while data keeps flowing invisibly.
Key Improvements (Simple Numbers)
Features
Requirements
pip install reedsolomon(only extra package)How to Run
black_spectrum_vlc.pymessageline with whatever you want to send"""
Stealth Black-Spectrum VLC Transmitter
256 hues + complement channel + impossible clashes
Screen looks pure black. Camera decodes hidden data.
"""
import tkinter as tk
import colorsys
import random
import reedsolomon
==================== CONFIG ====================
GRID_SIZE = 32
RS_N, RS_K = 255, 223
BRIGHTNESS = 0.07 # keeps it black to eyes
SECRET_SEED = 0xBEEFCAFEDEADBEEF
message = b"Your secret message here - works with 256 hues + complements + clashes!"
==================== RS ENCODE ====================
data_bytes = bytearray(message)
blocks_needed = (len(data_bytes) + RS_K - 1) // RS_K
encoder = reedsolomon.RSCodec(RS_N - RS_K)
all_symbols = []
for i in range(blocks_needed):
block = data_bytes[iRS_K : (i+1)RS_K] + b'\x00'(RS_K - len(data_bytes[iRS_K:(i+1)*RS_K]))
encoded = encoder.encode(block)
all_symbols.extend(list(encoded))
while len(all_symbols) < GRID_SIZE * GRID_SIZE:
all_symbols.append(0)
==================== SEED PREAMBLE (WHITE) ====================
seed_bits = bin(SECRET_SEED)[2:].zfill(64)
sync = "1010101010" * 4
preamble_bits = sync + seed_bits
==================== 256 HUES + COMPLEMENT + CLASHES ====================
hue_cycle_gen = (random.seed(SECRET_SEED) or (random.uniform(0,1) for _ in range(999999)))
def symbol_to_rgb(sym):
base_hue = sym / 255.0 # 256 hues
==================== TKINTER ====================
root = tk.Tk()
root.attributes('-fullscreen', True)
root.attributes('-topmost', True)
canvas = tk.Canvas(root, bg='black', highlightthickness=0)
canvas.pack(fill='both', expand=True)
cell_w = root.winfo_screenwidth() // GRID_SIZE
cell_h = root.winfo_screenheight() // GRID_SIZE
def hex_color(r, g, b):
return f'#{r:02x}{g:02x}{b:02x}'
def show_preamble(i=0):
if i >= len(preamble_bits):
draw_grid()
return
color = '#ffffff' if preamble_bits[i] == '1' else '#000000'
canvas.config(bg=color)
root.after(80, show_preamble, i+1)
def draw_grid():
for y in range(GRID_SIZE):
for x in range(GRID_SIZE):
sym = all_symbols[y*GRID_SIZE + x]
r, g, b = symbol_to_rgb(sym)
color = hex_color(r, g, b)
x1 = x * cell_w
y1 = y * cell_h
canvas.create_rectangle(x1, y1, x1+cell_w, y1+cell_h, fill=color, outline='')
print("Starting: White preamble (seed) → then black hidden grid")
root.after(500, show_preamble)
root.mainloop()
Beta Was this translation helpful? Give feedback.
All reactions