utsuru

Crates.ioutsuru
lib.rsutsuru
version0.2.1
created_at2025-06-13 19:21:45.954034+00
updated_at2025-09-30 22:19:48.254269+00
descriptionA WebRTC utility for forwarding track packets from a single source to multiple mirrors.
homepage
repositoryhttps://github.com/VincentVerdynanta/utsuru
max_upload_size
id1711785
size522,827
(VincentVerdynanta)

documentation

README

Icon of utsuru utsuru

License CI Crates.io Deps.rs Discord

A screenshot of utsuru's Web UI

Overview

utsuru is a WebRTC utility that accepts track packets from a single source and forwards it to multiple mirrors.

Some situations you might want to use utsuru include:

  • You want to broadcast to Discord without being limited to screen sharing.
  • You want to broadcast a single feed to multiple Discord calls simultaneously.
  • You want to use OBS to broadcast to a WebRTC remote peer that does not provide a WHIP endpoint.

Features

  • Portable and lightweight:
    • The entire application fits in a single binary.
    • Minimal CPU and memory footprint.
  • Web UI and REST API for managing mirrors.
  • Track packets are sent from source to mirrors as is, no transcoding.
  • Discord Live is implemented using the WebRTC protocol (same as Discord web client).

Installation

With cargo

$ cargo install utsuru

Binaries on Windows, Linux, and macOS

You can download prebuilt utsuru from Github Releases.

CLI

Usage: utsuru [OPTIONS]

Options:
  -h, --host <host>                Specify bind address [default: 127.0.0.1]
  -p, --port <port>                Specify port to listen on [default: 3000]
  -v, --verbosity <verbosity>      Log verbosity [default: off]
      --completions <completions>  Print shell completion script for <shell> [possible values: bash, elvish, fish, powershell, zsh]
      --help                       Print help
  -V, --version                    Print version

Getting started

See docs/getting-started.md for basic usage.

Adapters

Mirrors

  • Discord Live

Sources

  • WHIP

Video codecs

  • H.264
  • H.265
  • VP8
  • VP9
  • AV1

Join us

Thanks for your involvement in developing this project! We are so happy to have you! To get started, don't hesitate to check our

  • Discord: Real-time Broadcast Discord server.

Code of Conduct

This project has adopted the Rust Code of Conduct. Please check CODE_OF_CONDUCT.md for more details.

The entire utsuru community is expected to abide by the code of conduct when contributing or participating in discussions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in utsuru by you, shall be licensed as MIT, without any additional terms or conditions.

Commit count: 12

cargo fmt