Skip to content

Releases: schwwaaa/scheng

scheng v0.1.0

25 Mar 03:11

Choose a tag to compare

GPU-accelerated video synthesis SDK for Rust. Build real-time shader instruments
with full professional I/O.

Core Engine

  • wgpu Metal/DX12/Vulkan render pipeline with hot-reload GLSL shaders
  • Rgba16Float internal render targets (16-bit precision, no banding)
  • MSAA anti-aliasing (--msaa 4)
  • 4K resolution support
  • bt.709 colorspace throughout
  • Custom shader uniforms (u_*) wired to MIDI/OSC via NodeConfig
  • Graph-based node system with multi-input/output routing

Inputs

  • MIDI CC → uniform parameters (real-time, smoothed)
  • OSC → uniform parameters
  • Webcam (nokhwa, MJPEG/YUYV fallback)
  • Video file playback (ffmpeg-next 8, looping, BICUBIC scaling)
  • NDI receive (grafton-ndi 0.11)
  • Syphon receive (ObjC Metal bridge, macOS)
  • RTMP/RTSP/SRT live stream receive (ffmpeg subprocess)

Outputs

  • Syphon (Metal texture sharing, macOS)
  • NDI (NewTek SDK)
  • Spout (Windows, stub)
  • RTMP stream (→ OBS, Twitch, YouTube, nginx-rtmp)
  • RTSP stream (→ mediamtx, VLC)
  • File recording (H.264/ProRes via ffmpeg pipe)

Templates

  • scheng-gradient — minimal hot-reload shader starter
  • scheng-mixer — two Syphon inputs, MIDI T-bar crossfade
  • scheng-processor — webcam + solarize effect, MIDI controls
  • scheng-video-mixer — two video files, MIDI T-bar crossfade

Quality

  • Rgba16Float pipeline eliminates quantization error across processing passes
  • bt.709 colorspace tags on all FFmpeg output
  • BGRA→RGBA swap for Syphon Metal textures
  • Persistent SyphonServerDirectory (no re-entrancy crashes)
  • Zero warnings across workspace

Requirements

  • Rust 1.75+
  • macOS (Metal), Windows (DX12), Linux (Vulkan)
  • ffmpeg in PATH for video/stream features
  • Syphon.framework in vendor/ for Syphon I/O (macOS)
  • NDI SDK installed for NDI I/O

New GUI Editor

26 Feb 04:49

Choose a tag to compare

gui-v1

added new GUI/editor system