From 25f399f9322198ce22c7a991e679f8346d2625c4 Mon Sep 17 00:00:00 2001 From: CDrummond Date: Mon, 3 Mar 2025 17:26:38 +0000 Subject: [PATCH] Document libav feature --- README.md | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 29690c9..75b3e5f 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,39 @@ bliss analysis. This is then intended to be used by [Bliss Mixer](https://github # Building -clang, pkg-config, and ffmpeg are required to build, as well as +This application can be built in 2 variants: + +1. Using command-line `ffmpeg` to decode files +2. Using `libavcodec`, etc, to decode files + +Using `libavcodec` is about 70% faster, but might have issues with library, versioning, etc. +Using `ffmpeg` whilst slower produces a more portable application. + +## Build for 'ffmpeg' command-line usage + +`clang` and `pkg-config` are required to build, as well as +[Rust](https://www.rust-lang.org/tools/install) + +To install dependencies on a Debian system: + +``` +apt install -y clang pkg-config +``` + +To install dependencies on a Fedora system: +``` +dnf install clang pkg-config +``` + +Build with `cargo build --release` + +`ffmpeg` is then a run-time dependency, and should be installed on any system where this application +is to be run - it should also be in the users `$PATH` + + +## Build for 'libavcodec' library usage + +`clang`, `pkg-config`, and `ffmpeg` are required to build, as well as [Rust](https://www.rust-lang.org/tools/install) To install dependencies on a Debian system: @@ -21,8 +53,10 @@ To install dependencies on a Fedora system: dnf install ffmpeg-devel clang pkg-config ``` -Build with `cargo build --release` +Build with `cargo build --release --features=libav` +The resultant application will be less portable, due to dependencies on `libavcodec` libraries (and +their dependencies). # Usage