Repository navigation
cast v0.7
cast v0.7
Cast now has three independent outputs: Virtual camera for conferencing, Recording
for files, and Streaming for one RTMP/RTMPS destination. The native control panel
follows the supplied Operate/Compose design with pinned lane states and privacy
controls, dedicated Compose pages, explicit drafts, Apply/Revert and acknowledgement.
The floating preview has three target pills and local lane status outside outgoing
video, plus bundled Inter countdown numerals and Cancel. Both windows retain their
utility classes for floating window managers.
- Compose uses a flat seven-section list with inline labeled controls, sticky Back,
Alt+1…7 section jumps, 1/2 tabs, sheet-first Escape and Enter to apply a draft. - Per-view scroll and navigation survive panel close/reopen for the same daemon
session. New daemon sessions reset navigation; no configuration is written. - The compact two-row header and pinned current-section draft bar leave more room
for settings. A two-row status bar provides composition links, zoom reset,
connection state and marked command feedback, with ellipses for long text.
Streaming sends H.264/AAC FLV with bounded raw queues, lag/write deadlines, finite
reconnects and independent audio privacy. Start connects in solid pause; Resume
explicitly reveals the composition. Network and encoder work run in an isolated
worker so blocked DNS, TLS or writes cannot hold capture, controls or recording.
TLS verifies certificates and hostnames. Stream keys are read only from owned
regular mode-0600 files; configuration, CLI, snapshots and logs contain no secret.
Twitch/YouTube quality presets and setup recipes use current official guidance.
Migration
This release deliberately removes the old virtual-camera spelling without aliases:
cast live …→cast virtual …;--no-live→--no-virtual.- Preview target
live→virtual; annotations lanelive→virtual. [annotations] live_keys/live_clicks→virtual_keys/virtual_clicks.- Status JSON uses
virtualandvirtual_*fields; consumers must update.
Stop the old daemon before updating and restart it afterward; panel and daemon must
come from the same build. Runtime settings remain session-only. Existing user config
is never overwritten. See the complete configuration and
streaming guide.
New config fields are [annotations] stream_keys/stream_clicks and [stream]
service, server_url, key_file, tls_ca_file, video_bitrate_kbps,
audio_bitrate_kbps, encoder_preset, queue_frames, lag_ms,
connect_timeout_ms, write_timeout_ms, reconnect_attempts,
reconnect_initial_ms, reconnect_max_ms. Preview target also accepts stream.
Empty server/key defaults leave streaming unconfigured and never start a broadcast.
Verification and distribution
Private synthetic fixtures cover decoded H.264/AAC cadence and silence, independent
three-output effects/group restoration, atomic locks, retired queued/in-flight media,
reconnect freshness, rejected publish, TLS trust/hostname, blocked DNS/TLS/write
cancellation, native panel workflow/density/resize, and Xorg preview/countdown.
Verification details distinguish measured protocol behavior
from account/device acceptance.
Release assets target current Arch Linux x86_64 with Xorg, Wayland and the native
Clay/SDL3 panel. Install with the README's curl command or update with
cast update v0.7. Source and checksum/provenance assets accompany the package.
FFmpeg/PipeWire/Fontconfig/FreeType remain required; optional GUI dependencies are
SDL3/SDL3_ttf. No new runtime library is introduced for streaming.
No real Twitch/YouTube account, public broadcast, webcam or user desktop is used in
these release fixtures. Actual service acceptance, physical AV latency and real
Wayland compositor behavior remain user-run acceptance. Already accepted network
media cannot be retracted; blur is a presentation effect rather than confidentiality.