https://github.com/opensight-cv/rusty-engine
Rust rewrite of FRC 3494's potential-engine
https://github.com/opensight-cv/rusty-engine
gstreamer raspberry-pi-camera rtsp-server rust
Last synced: 3 months ago
JSON representation
Rust rewrite of FRC 3494's potential-engine
- Host: GitHub
- URL: https://github.com/opensight-cv/rusty-engine
- Owner: opensight-cv
- License: mit
- Created: 2020-01-06T04:33:17.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2020-12-05T20:12:31.000Z (over 4 years ago)
- Last Synced: 2025-01-21T05:27:17.326Z (5 months ago)
- Topics: gstreamer, raspberry-pi-camera, rtsp-server, rust
- Language: Rust
- Size: 67.4 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
`rusty-engine`
===
:gear::steam_locomotive:`rusty-engine` is a Rust rewrite/redesign/reimagining of The Quadrangles' [`potential-engine` RTSP server. ](https://github.com/BHSSFRC/potential-engine) `rusty-engine` aims to be more easily extensible and added to from a developer standpoint, while Rust helps to cover most of the corner cases and ensure everything fits together. (It's also just plainly more accessible to a novice than C/C++.)
## Dependencies
Aside from what `cargo` grabs automatically, `rusty-engine` requires some C packages to link to GStreamer. On Debian and Debian derivatives, these can be fetched with the following `apt` command:
```bash
sudo apt update && sudo apt install libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstrtspserver-1.0-dev
```
## Cross-Compiling for Raspberry Pi
(because Travis won't give ARM 32 VMs...)Running `cross-build.sh` with [`cross`](https://github.com/rust-embedded/cross) and Docker installed should (eventually) produce an ARM 32 executable file suitable for use with Raspbian in `target/arm7-unknown-linux-gnueabihf/release`.
If you want an installable `.deb` file, run `deb-pack.sh` **after running `cross-build.sh`.** You need `dpkg` to run `deb-pack.sh`.
However, `rusty-engine` is not incredibly heavyweight and can almost certainly be compiled on your Pi without the use of any particular configuration beyond [installing the dependencies.](#dependencies)
Licensing
---
`rusty-engine` is made available under the MIT license. While it uses proprietary codecs, it interacts with these at arm's length via Gstreamer and does not include any implementation of an H.264 encoder or other proprietary encoders in itself.