1 unstable release
new 0.1.0 | Nov 2, 2024 |
---|
#366 in Concurrency
114 downloads per month
Used in 6 crates
34KB
657 lines
Hylarana
Pure software screen projection is different from Miracast, AirPlay, etc., which need to rely on hardware support. This project was not designed to work on a wide area network, but works well in a local area network environment.
The project is cross-platform, but the priority platforms supported are Windows and Android, Unlike a solution like DLAN, this project is more akin to airplay, so low latency is the main goal, currently the latency is controlled at around 150-250ms (with some variations on different platforms with different codecs), and maintains a highly easy to use API and very few external dependencies.
Documentation
- Rust: There are still some obstacles to releasing to crates.io, so for rust the documentation is being updated.
- C/C++: This project also compiles dynamic link libraries, so for C/C++ projects, use this header file hylarana.h
Examples
Automated builds can be downloaded from the github release page.
- Android - this is an android studio project.
- C++ - the build product is
example-cpp
. - Rust - the build product is
example
.
Build Instructions
Requirements
- Git
- Rust: Rust stable toolchain.
- C++20 or above compliant compiler. (G++/Clang/MSVC)
- CMake: CMake 3.16 or above as a build system.
- Node.js: Node.js 16 or above as a auto build script.
- Cargo NDK: Cargo NDK is optional and required for Android Studio projects.
Linux (Ubuntu/Debian)
For Linux, you need to install additional dependencies to build SRT and other.
sudo apt-get update
sudo apt-get install tclsh pkg-config cmake libssl-dev build-essential libasound2-dev libsdl2-dev libva-dev v4l-utils
Macos
brew install cmake ffmpeg@7
Build
Examples and SDK library files can be automatically packaged by running an automatic compilation script.
npm run build:release
The Release version is compiled by default. If you need the Debug version, just run npm run build:debug
.
For android, there is no need to manually call compilation. You can directly use Android Studio to open android.
License
LGPL Copyright (c) 2024 mycrl.
Dependencies
~3–41MB
~623K SLoC