6 releases
0.1.0 | Feb 26, 2024 |
---|---|
0.0.5 | Feb 2, 2024 |
0.0.4 | Jan 30, 2024 |
#4 in #live-streaming
133 downloads per month
125KB
3.5K
SLoC
Scuffle
A next-generation open-source cloud provider
[!WARNING]
This repository is under active development and may not be stable.
Welcome to Scuffleโa next-generation open-source cloud provider! ๐
We're on a mission to revolutionize video streaming solutions with cutting-edge tools and libraries. Dive in and explore what we have to offer! ๐ Visit our website to learn more.
๐ ๏ธ Crates
This repository houses a collection of crates, purpose-built libraries designed to simplify development and enhance functionality:
- โก scuffle-batching: Optimized batching and dataloading for external services.
- ๐ scuffle-bootstrap: A utility crate for creating binaries.
- ๐ง scuffle-bootstrap-derive: Derive macros for
scuffle-bootstrap
. - ๐ญ scuffle-bootstrap-telemetry: Telemetry utilities for
scuffle-bootstrap
.
- ๐ง scuffle-bootstrap-derive: Derive macros for
- ๐ฆ scuffle-bytes-util: Some helpful utilities for working with bits and bytes.
- ๐งญ scuffle-context: Go-like context utilities for Rust.
- โ scuffle-future-ext: Extensions for working with futures.
- ๐ฆ scuffle-http: A high-performance HTTP server supporting HTTP/1.1, HTTP/2, and HTTP/3.
- ๐ scuffle-metrics: Helper crate to instrument your code with metrics.
- ๐ง scuffle-metrics-derive: Derive macros for
scuffle-metrics
.
- ๐ง scuffle-metrics-derive: Derive macros for
- ๐ฆ postcompile: A macro for compiling Rust code at runtime. Useful for snapshot testing.
- ๐ scuffle-pprof: Helper crate for adding pprof support to your application.
- โ๏ธ scuffle-settings: Tools for managing configuration from environment variables or config files.
- ๐ถ scuffle-signal: Ergonomic async signal handling.
๐ฅ Multimedia Crates
Apart from utility crates, we also offer a range of multimedia crates to encode, decode, and transmux media files and streams:
- ๐ scuffle-aac: A crate for decoding AAC audio headers.
- ๐๏ธ scuffle-amf0: A pure-rust implementation of AMF0 encoder and decoder.
- ๐ฅ scuffle-av1: A crate for decoding and encoding AV1 video headers.
- ๐งฎ scuffle-expgolomb: A set of helper functions to encode and decode exponential-golomb values.
- ๐๏ธ scuffle-ffmpeg: A safe Rust wrapper around FFmpeg C-bindings.
- ๐ฅ scuffle-flv: A pure Rust implementation of the FLV format, allowing for demuxing of FLV files or streams.
๐ค Join the Scuffle Community
We โค๏ธ contributions! Check out our CONTRIBUTING.md for detailed guidelines on submitting improvements or bug fixes.
Join our Discord to chat with the team and other contributors.
Sign the Contributor License Agreement (CLA)
To contribute, please sign our Contributor License Agreement.
It's quick and easyโsign here before submitting a pull request.
Code of Conduct
We believe in fostering an inclusive and respectful community.
Please read our Code of Conduct for more details.
๐ Support Us
If you find Scuffle valuable, consider supporting us on Open Collective. Your contributions help us continue to improve and maintain this open-source project.
๐ Licensing Overview
Scuffle uses different licenses for various components. Here's a quick general overview:
- Libraries: Licensed under MIT or Apache-2.0.
- Executable Binaries: Licensed under AGPL-3.0.
Each component includes specific licensing details in its README.md
and corresponding license files. For any questions, feel free to open an issue or email us at legal@scuffle.cloud.
๐ก๏ธ Security Matters
Your security is our priority. ๐ Refer to our Security Policy for guidelines on reporting vulnerabilities.
๐ Additional Resources
- ๐ Public Issue Tracker
- ๐ Kanban Board
- ๐ฐ Scuffle Blog
โญ Star History
Thank you for being part of our journey! Let's build something amazing together. โจ
Dependencies
~0.4โ13MB
~150K SLoC