Skip to content

sloev/spiralvision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpiralVision-10

Tests Release

SpiralVision-10 is a highly lossy, analog-oriented video protocol designed to encode 10 fps, 4:3 color video over a 2-channel (stereo) audio waveform. It is designed to be precise and performant, capable of running on low-power hardware like a Raspberry Pi.

Example Output

Watch an example of the decoded SpiralVision-10 signal here:
SpiralVision-10 Example Output

Prerequisites (Ubuntu/Debian)

To run SpiralVision-10, you need ffmpeg for video processing and some system libraries for audio and UI.

# Update and install system dependencies
sudo apt update
sudo apt install -y ffmpeg libasound2-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev libfontconfig1-dev

Virtual Webcam (Optional)

If you want to use the Decoder Mode to output to a virtual webcam, install v4l2loopback:

sudo apt install -y v4l2loopback-dkms
sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="SpiralVision" exclusive_caps=1

This will create /dev/video10 which you can use as an output in Decoder Mode.

Installation

  1. Install Rust: If you don't have Rust installed, get it from rustup.rs:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Clone and Build:

    # From the project root
    cargo build --release

Running the Application

For best performance, always run in release mode:

cargo run --release

Usage

  • Encoder Mode: Convert a video file or live camera feed into SpiralVision audio. You can output to your speakers or save to a .wav file.
  • Decoder Mode: Convert SpiralVision audio (from a file or microphone) back into video. You can output to a video file or a virtual webcam.
  • Preview: Both modes provide a real-time preview of the signal processing.

About

spiral encoded pixels via audio

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages