Skip to content

r4v3n6101/rairplay

Repository files navigation

rairplay

rairplay is a Rust library for receiving and processing audio and video streams from Apple’s AirPlay2 protocol.

Features

  • RTSP server for handling AirPlay2 commands (e.g. changing volume, setting up streams)
  • Decrypting audio streams (both real-time and buffered is supported)
  • Decrypting video streams
  • Legacy pairing (using X25519, ED25519 and DH)
  • FairPlay (v3) using shairplay
  • HomeKit pairing (WIP)
  • "DJ mode" for managing many devices at once
  • Example implementation using GStreamer library to pipe stream data into a file
  • GStreamer plugin creating streams according to rairplay's API.

Getting Started

# Clone it locally
git clone https://github.com/r4v3n6101/rairplay.git
cd rairplay

# Set up dev environment via `nix`
nix develop .

# Run or `cargo build` if you need
cargo run

Used resources

License

rairplay is distributed under the GNU General Public License, version 3 (GPL-3.0).
You may use, modify, and redistribute the software under the terms of this license.
A full copy of the license text is available in the LICENSE file included with the project.

About

Rust implementation of Apple's AirPlay2 receiver

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •