| Crates.io | flowly-codec-openh264 |
| lib.rs | flowly-codec-openh264 |
| version | 0.1.3 |
| created_at | 2025-09-08 16:46:22.172965+00 |
| updated_at | 2025-09-10 14:36:47.74249+00 |
| description | Flowly OpenH264 bindings |
| homepage | https://github.com/flowly-team/flowly-codec-openh264 |
| repository | https://github.com/flowly-team/flowly-codec-openh264 |
| max_upload_size | |
| id | 1829501 |
| size | 32,095 |
A Rust crate that provides bindings for OpenH264 in collaboration with the Flowly team. This library is designed to decode H.264 video streams efficiently.
Add this crate as a dependency in your Cargo.toml:
[dependencies]
flowly-codec-openh264 = "0.1"
Here's a basic example of how to use flowly-codec-openh264:
use flowly_codec_openh264::{Openh264Decoder, DecodedFrame};
use bytes::Bytes;
fn main() {
let mut decoder = Openh264Decoder::<i32>::new(1);
// Assume `encoded_data` is some H.264 encoded data and `timestamp` is the corresponding timestamp
let encoded_data: Bytes = vec![0; 100].into(); // Replace with actual encoded data
let timestamp = 0;
let source_id = 0;
tokio::block_on(async {
decoder.push_data(encoded_data, timestamp, source_id).await.unwrap();
if let Some(decoded_frame) = decoder.pull_frame().unwrap() {
println!("Decoded frame dimensions: {}x{}", decoded_frame.width, decoded_frame.height);
}
});
}
You can find the full documentation at https://docs.rs/flowly-mp4.
This project is licensed under the MIT license. See the LICENSE file for more details.
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
For any questions or inquiries, please contact:
We appreciate your interest and support!