Skip to content
coreav-devPublic

About

A safe and fast media toolkit, written in Rust

Topics

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

CoreAV

The modern FFmpeg alternative

A Rust-based media toolkit, built to be safe and fast.

Documentation · Measurements · Releases

Highlights

  • Safe. Every container parser is safe Rust with limits on memory and work, so a damaged or hostile file gives an error, never a crash. Safety
  • Fast. CoreAV reads only the bytes a job needs, from a local file or an https:// URL, and every speed claim is measured against FFmpeg in the open. Measurements
  • Drop-in. coreav ffprobe and coreav ffmpeg take the command lines your scripts already run, and hand any line CoreAV doesn't run natively to the FFmpeg installed on the machine. Commands
  • Everywhere. Native binaries for Linux, macOS and Windows, and an npm package that runs as WebAssembly wherever else Node.js runs. Platforms

Installation

Today you can only build CoreAV from source. Release binaries and the npm package come with 0.1.0.

With Rust 1.89 or later, git, and a C compiler installed:

git clone https://github.com/coreav-dev/coreav
cd coreav
cargo install --locked --path crates/coreav-cli --profile dist

Cargo puts coreav in ~/.cargo/bin. Install covers build features and the planned npm and GitHub Releases packages.

Usage

coreav probe input.mp4                               # describe the file as JSON
coreav clip --start 10 --end 20 input.mp4 clip.mp4   # cut at keyframes
coreav remux input.mkv output.mp4                    # Matroska to MP4, movie header first
coreav ffprobe -v error -show_streams input.mp4      # the ffprobe command line you already use

For files you didn't make, such as uploads, add --strict-safe (coreav --strict-safe ffprobe ...): CoreAV then refuses any command line it doesn't run natively instead of handing it to FFmpeg. Strict-safe mode

Documentation

CoreAV's documentation is at coreav.dev/docs, and coreav --help lists every command.

Contributing

CoreAV takes bug reports, feature requests and sample files as issues, not code pull requests. CONTRIBUTING.md says what to send, and the design notes are in docs/design. Report a vulnerability privately, as SECURITY.md describes.

License

Licensed under either the MIT license or the Apache License 2.0, at your option.

About

A safe and fast media toolkit, written in Rust

Topics

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages