1 unstable release
0.1.0 | Dec 5, 2024 |
---|
#704 in Video
1,457 downloads per month
Used in 37 crates
(36 directly)
2KB
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
⭐ Star History
Thank you for being part of our journey! Let's build something amazing together. ✨