-
v0.7.0 Stable
released this
2026-09-07 04:29:04 +02:00 | 13 commits to main since this releaseAdds a desktop client for the machines running OBS, and update checking for
the sink. Also fixes the virtual camera audio gap and the device contention
that made the first camera device fail.A client with a window
streamsink-clientdoes the same work asstreamsink-agentand is for the
other kind of machine: an operator's, rather than a rack. It shows whether the
sink is reachable, whether OBS is publishing, and above all whether capture
times are coming from OBS's timeline or merely from packet arrival, which is
the difference between a machine that stays in step and one that drifts. It
also shows the address to paste into OBS, with a button to copy it.The headless agent is unchanged and remains the right choice for a service.
Updates
The sink checks for newer releases and says so in Settings. Installing is
always a decision: replacing the program someone is relying on partway through
an event is not something to do unasked.Downloads are verified against the
SHA256SUMSpublished with each release
from this version on, and the new binaries are made to run and identify
themselves before anything is replaced. A release without checksums cannot be
installed automatically, and a download that does not match is discarded. The
previous binaries stay alongside with a.oldsuffix until the new version has
started. A private repository needs a token, set under Settings.Audio for virtual cameras
A v4l2 loopback carries video and nothing else, so a rig on virtual cameras had
no sound. Each source can now also play into a virtual audio device, whose
monitor OBS takes as an ordinary Audio Input Capture. Both outputs are driven
by one ffmpeg process, so sound stays locked to picture.Audio devices need no privileges and the interface creates them directly.
Camera devices need a kernel module, so that button asks through polkit and
prints the command to run by hand if there is no agent to ask.Why the first camera device did not work
Virtual video nodes were listed by their place in sysfs and offered regardless
of what they were. A machine can have virtual video nodes that are not
loopbacks, and OBS takes hold of video devices when it starts, so a device it
grabbed before StreamSink was running could never be written to.Devices are now interrogated with
VIDIOC_QUERYCAP, so only real v4l2loopback
nodes that accept output are offered, and StreamSink names the process holding
a device rather than reporting "busy". Setup also places devices at
video_nr=10,11, clear of the numbers OBS reaches for, which removes the
start-order dependency entirely.Check the whole path with:
./streamsink -checkDownloads
File For streamsink-0.7.0-linux-amd64.tar.gzLinux server, client and agent streamsink-0.7.0-windows-agent-amd64.zipWindows agent, headless streamsink-0.7.0-windows-server-amd64.zipWindows server and client, with the GTK4 runtime streamsink-0.7.0-windows-decoder-amd64.zipWindows decoder, for the program view SHA256SUMSchecksums, used by the updater Still unverified
Virtual camera output has not been exercised end to end here, because
v4l2loopbackis not installed on the build machine;-checktests it on a
machine that has it. The virtual audio path is tested end to end against a
real sound server. The Windows binaries have not been executed.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)