Skip to content

Conversation

@AdrianEddy
Copy link
Collaborator

@AdrianEddy AdrianEddy commented Oct 23, 2025

This PR adds a way to create inputs and outputs by providing a standard Rust Read/Write/Seek streams.

It allows using ffmpeg with arbitrary data sources like filesystem, network, memory etc

examples:

let file = std::fs::File::open("test.mp4")?;
let input_ctx = format::input_from_stream(format::context::StreamIo::from_read_seek(file)?, None, None)?;
let mut vec = Vec::new();
let mut cursor = std::io::Cursor::new(&mut vec);
let mut output_ctx = format::output_to_stream(format::context::StreamIo::from_read_write_seek(cursor)?, None, Some("mp4")).unwrap();

@nrbnlulu
Copy link

nrbnlulu commented Dec 9, 2025

@AdrianEddy I am maintaining a fork here if you want https://github.com/nrbnlulu/rffmpeg

@AdrianEddy
Copy link
Collaborator Author

@nrbnlulu I recently got rights to maintain this repository and I'm planning to merge this and some other outstanding PRs soon.
I need a few days to finish other things and I'll take care of this. If you have some specific needs, please open PRs here - we already have way too many ffmpeg forks - I'll do my best to merge all needed PRs to this repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants