diff --git a/README.md b/README.md index 8a3ea7d..54ea176 100644 --- a/README.md +++ b/README.md @@ -9,45 +9,24 @@ bliss analysis. This is then intended to be used by [Bliss Mixer](https://github This application can be built in 4 variants: -1. Using command-line `ffmpeg` to decode files. -2. Using `libavcodec`, etc, to decode files. -3. Using `libavcodec`, etc, to decode files, but statically linked to `libavcodec`, etc. -24. Using `symphonia` to decode files. +1. Using `libavcodec`, etc, to decode files. +2. Using `libavcodec`, etc, to decode files, but statically linked to `libavcodec`, etc. +3. Using `symphonia` to decode files. +4. Using command-line `ffmpeg` to decode files. -`libavcodec` is the fastest (about 70% faster than `ffmpeg` commandline, and about -3 times faster than `symphonia`), but might have issues with library, versioning, etc., -unless these libraries are statically linked in. +`libavcodec` is the fastest (~15% faster than `symphonia`, ~50% faster than `ffmpeg` +commandline), but might have issues with library, versioning, etc., unless these +libraries are statically linked in. `libavcodec` statically linked may reduce supported +file formats, but is more portable. -`libavcodec` statically linked may reduce supported file formats. +`symphonia` also produces a more portable application, is only slightly slower to decode +files, but has more limited codec support, and does not produce identical analysis results. +Therefore, it is not advisable to mix files analysed with `ffmpeg` (any variant) and +`symphonia`. -`ffmpeg` whilst slower then `libavcodec` produces a more portable application. - -`symphonia` also produced a more portable application, but is slightly slower to decode -files, and does not produce identical analysis results. Therefore, it is not advisable -to mix files analysed with `ffmpeg` (any variant) and `symphonia`. - - -## 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 --features=ffmpeg` - -`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` +Command-line `ffmpeg` whilst being the slowest, produces a more portable application, and +supports a wider range of codecs. ## Build for 'libavcodec' library usage @@ -118,6 +97,30 @@ dnf install clang pkg-config Build with `cargo build --release --features=symphonia` + +## 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 --features=ffmpeg` + +`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` + + + # Usage Please refer to `UserGuide.md` for details of how this tool may be used. diff --git a/UserGuide.md b/UserGuide.md index c854538..12ce412 100644 --- a/UserGuide.md +++ b/UserGuide.md @@ -27,23 +27,24 @@ with the `ffmpeg` libraries - but these have been statically linked. This allows faster decoding of files, and a more portable binary - however, this _may_ reduce the number of supported file formats. -If the package used ended with `-ffmpeg`, then `bliss-analyser` requires you -also have the `ffmpeg` application installed and in your `$PATH`. These -builds are roughly 46% slower at analysis, but are more portable as they can -use any `ffmpeg` version. - If the package used ended with `-symphonia` then `bliss-analyser` has been built with the `symphonia` libraries. This allows a more portable binary, but at a slightly slower decoding speed (than `libav`) and produces analysis results that are not the same as those produced by `ffmpeg`/`libav`. +If the package used ended with `-ffmpeg`, then `bliss-analyser` requires you +also have the `ffmpeg` application installed and in your `$PATH`. These +builds are roughly 50% slower at analysis, but are more portable as they can +use (alomost) any `ffmpeg` version. + Quick guide =========== 1. Install the `Bliss Mixer` LMS plugin. -2. Install ffmpeg if using Linux or macOS. +2. Install `ffmpeg` if using Linux or macOS (and using `-libav` or `-ffmpeg` +package (see `Varaints` (above))). 3. Edit the supplied `config.ini` in the current folder to set appropriate values for `music` and `lms` - e.g.: @@ -73,8 +74,10 @@ Installation ============ For Windows no extra installation steps are required, as all dependencies are -bundled within its ZIP file. However, both the Linux and macOS versions require -that `ffmpeg` be installed. +bundled within its ZIP file. However, if using a `-libav` or `-ffmpeg` package (see +`Varaints` (above)), both the Linux and macOS versions require that `ffmpeg` be +installed - if using a `-static` or `-symphinia` package, then no additional +dependencies are used. Linux