From 05579993ea93f851a3ce5901bdf30bfcbb37bc30 Mon Sep 17 00:00:00 2001 From: EricGuic Date: Tue, 10 Oct 2023 07:22:30 +0000 Subject: [PATCH] Update README.md with more details on the CRF value used by each label, and with some explanations on CRF method (with a source link to ffmpeg.org) --- .../README.md | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/peertube-plugin-transcoding-custom-quality/README.md b/peertube-plugin-transcoding-custom-quality/README.md index e949881..ad31d1f 100644 --- a/peertube-plugin-transcoding-custom-quality/README.md +++ b/peertube-plugin-transcoding-custom-quality/README.md @@ -1,3 +1,31 @@ # PeerTube transcoding custom quality This plugin creates a transcoding profile in which admins can decide the quality of the transcoding process. +Here are the CRF value used by ffmpeg for each label : + +- 'Low' -> CRF = 36 +- 'Medium' -> CRF = 33 +- 'Good (Peertube default)' -> CRF = 30 +- 'Very good' -> CRF = 27 +- 'Excellent' -> CRF = 24 +- 'Perfect' -> CRF = 21 +- 'Unreasonnable' -> CRF = 18 +- 'Insane' -> CRF = 15 + +**Increasing quality will result in bigger video sizes**. + +-------------------- + +Once installed and your value set in the plugin parameters, you have to choose "**custom-quality**" option in Administration/Configuration/VOD Transcoding/Transcoding profile. + +-------------------- + +Explanations (source : https://trac.ffmpeg.org/wiki/Encode/H.264) + +CRF means _Constant Rate Factor_. +This method allows the encoder to attempt to achieve a certain output quality for the whole file when output file size is of less importance. This provides maximum compression efficiency with a single pass. By adjusting the so-called quantizer for each frame, it gets the bitrate it needs to keep the requested quality level. The downside is that you can't tell it to get a specific filesize or not go over a specific size or bitrate, which means that this method is not recommended for encoding videos for streaming. +The range of the CRF scale is 0–51, where 0 is lossless, 23 is the default (for ffmpeg), and 51 is worst quality possible. A lower value generally leads to higher quality, and a subjectively sane range is 17–28. Consider 17 or 18 to be visually lossless or nearly so; it should look the same or nearly the same as the input but it isn't technically lossless. +The range is exponential, so increasing the CRF value +6 results in roughly half the bitrate / file size, while -6 leads to roughly twice the bitrate. +Choose the highest CRF value that still provides an acceptable quality. If the output looks good, then try a higher value. If it looks bad, choose a lower value. + +Note: The 0–51 CRF quantizer scale mentioned on this page only applies to 8-bit x264. For 10-bit support, refer to the documentation on ffmpeg.org