Releases: Proryanator/encoder-benchmark
Releases · Proryanator/encoder-benchmark
Various bugfixes and dev items
Bugfixes:
- #22: fixes issue with timestamp value affecting vmaf calculation on linux
- #29: fixed issue with throttled downloads for hosted source files
- #31: retry logic added to vmaf calculation to help reduce failures
- #16: fixed issue where uncaught error in benchmark would cause command prompt window to close
Documentation:
- #30: readme mentions specifics of using
bin
in your path for ffmpeg
Development improvements:
- added rustfmt job and details on how to run it locally when contributing
Contributors (outside of project owner):
- shoutout to @e-dong for his contributions to this release!
Full Changelog: v0.6.0-alpha...v0.6.1-alpha
Intel QSV Support including AV1, and new Decode Mode
What's Changed
- Adding in support for intel h264/hevc qsv CPU iGPU support by @Proryanator in #12
- Adding in support for decode mode; but only for Nvidia/AMD by @Proryanator in #13
- Support for Intel Arc AV1 encode/decode by @Proryanator in #14
Full Changelog: v0.5.2-alpha...v0.6.0-alpha
Use of localhost and catching error if stat listener does not connect
- using localhost instead of hard-coded local ip address (makes it clearer we're sending stats over local network)
- tool will detect issues with connecting to '-progress' output from ffmpeg and error out
- fixed issue where verbose mode for ffmpeg did not show entire command (it only showed encoder settings and not full command)
- verbose mode now logs the calculated fps (logging gets a bit noisy but still helpful for debugging when tool stops)
Non-Nvidia system bug fixed, plus verbose & ffmpeg error logging
Bugfixes
- fixed bug where on systems without an Nvidia GPU, the tool still tries to lookup Nvidia GPU's and errors out early
Improvements
- re-add in verbose mode (callable from benchmark one-click) including readme update to aid in debugging
- added in immediate re-run of ffmpeg command, with error output logged to help with troubleshooting
- README has more detailed information on applying findings to Sunshine & Moonlight
AMD AMF support, improved result file for permutations, and option to allow duplicate vmaf scores
AMD AMF support, improved result file for permutations, and option to allow duplicate vmaf scores
Pre-release
Pre-release
- Add in support for AMF encoding (on AMD GPU's)
- README update about unsupported automatic/detection of multiple AMD GPU's
- Added break in-between bitrate permutations in output file for permutation-cli for readability
- Added option to allow duplicate vmaf scoring (if you still want to see performance numbers for those)
- Pulled out codec implementations into it's own package
- Fixed issue where duplicate vmaf scores of 0 were being ignored (when not checking for quality)
Multi-GPU support & ffmpeg error catching
New
- benchmark will detect if you have more than 1 Nvidia GPU, and ask you to pick one (like it asks you to choose the encoder & source file)
- permutor-cli tool also supports specifying which GPU to run on, and defaults to the first GPU as well
Bugfixes/Improvements
- if ffmpeg fails to start, either from bad environment setup, or invalid encoder settings (should be rare), the benchmark will detect this and fail early
(before the tool would just get stuck)
Workflows added
- project is built & unit tested on every pull request
- manual release-flow setup to automate most of the release process
- workflow scripts setup to easily run on different platforms in the future
Split of Benchmark and Permutor Tool
- no longer have the option to allow duplicate vmaf scores (was kinda pointless)
- benchmark tool & permutation tool are split out into their own tool for clarity
- benchmark tool supports both one-click execution, and cli run functionality
- readme updated to reflect the new changes
- removal of reference files as they are probably out of date
- heavy splitting of shared code into sub-modules for easier unit testing and separation of responsibility
First release to the public
First alpha release to the public
This release has all of the following fully-functioning features:
- 720 - 4k Nvidia NVENC encoding benchmark that is easy to run and provides standardized encoder benchmarking across different machines
- rudimentary encoder setting & bitrate permutation engine to assist in identifying maximum encoder performance at given resolution & fps targets, as well as identify diminishing returns for high bitrates
- encode results piped into Netflix's vmaf tool to calculate quality of produced encode, targeting visually lossless quality
Much more is planned for this tool but, I hope you enjoy it's earliest form. Feel free to leave issues or feature requests as they come to you.
Note: uploaded executable is 64-bit, CI/CD pipelines for additional architectures & platforms to come.