This commit is contained in:
CDrummond 2025-03-17 18:16:39 +00:00
parent 2468a83d4b
commit db9b12be3f
2 changed files with 49 additions and 43 deletions

View File

@ -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.

View File

@ -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