diff --git a/README.md b/README.md index ceb20998..1439df05 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,15 @@ +
+ +> :warning: **This repository is not meant to be used for local development but serves as source for the code samples shown at [bitmovin.com/demos](https://bitmovin.com/demos/).** + +
+
+ # Bitmovin Demos [![bitmovin](http://bitmovin-a.akamaihd.net/webpages/bitmovin-logo-github.png)](http://www.bitmovin.com) # Introduction Welcome to Bitmovin demos. Our demo page is hosted at [bitmovin.com/demos](https://bitmovin.com/demos/). -This repository is meant to be used as a reference when integrating our player into your products. ## Testing a demo diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 5d17e092..93ed179f 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -16,8 +16,8 @@

Inputs

$
@@ -26,28 +26,13 @@

Inputs

Based on Bitmovin flexible pricing
-
- -
- -
$
-
-
-   -
-
$
@@ -58,7 +43,7 @@

Inputs

- + Inputs
- - -
+
-
Break-even point - H.264+AV1 vs H.264 only
--
@@ -107,14 +89,24 @@

Inputs

Break-even point - H.265+AV1 vs H.265 only
--
-
-
+ +

Starting from these numbers of views, supplementing encodings with AV1 becomes more profitable than the respective codec alone.

+

+ For ease of comparison this calculator uses a fixed ladder. + We recommend to use + Per-Title + as it can help reduce the break-even point further. + It will optimize each ladder individually, usually resulting in a reduced number of + renditions for more advanced codecs, hence reduced encoding and storage costs + compared to a fixed ladder. +

+

Calculation multipliers

These are the multipliers and factors used in our calculation. @@ -124,14 +116,14 @@

Calculation multipliers

- - - + + + - + @@ -139,16 +131,22 @@

Calculation multipliers

- - + - - + + + + + + - - + + + + + @@ -157,12 +155,17 @@

Calculation multipliers

- - + + + + + + - + +
Multipliers
Resolution factors
SD HDUHD4k UHD
1 4
PerTitle3-PassFeature factors
1.123-Pass
2
H264H265Codec factors
H.264H.265 AV1
10
AV1 efficiency improvement over H.264AV1 efficiency improvement over H.265Efficiency improvements
AV1 over H.264AV1 over H.265
50%30%30%
@@ -173,7 +176,10 @@

Calculation multipliers

  1. - Simplified formula break-even point: ( [AV1 encoding cost] + [AV1 ingress cost] ) / ( [H.26X CDN delivery cost] - [AV1 CDN delivery cost] ) + For the break-even point calculation we calculated the number of views such as: + ([views] * [H.26X CDN delivery cost]) + [H.26X encoding cost] + is equal to + ([views] * [AV1 CDN delivery cost]) + [H.26X encoding cost] + [AV1 encoding cost]
diff --git a/encoding/av1-break-even-calculator/js/av1-break-even-calculator.js b/encoding/av1-break-even-calculator/js/av1-break-even-calculator.js index 97fb2244..c22c0a7f 100644 --- a/encoding/av1-break-even-calculator/js/av1-break-even-calculator.js +++ b/encoding/av1-break-even-calculator/js/av1-break-even-calculator.js @@ -35,7 +35,7 @@ $(function() { var numberValue = Number(e.target.value); if (isNaN(numberValue) || numberValue < 0 - || countDecimals(numberValue) > 2) { + || countDecimals(numberValue) > 4) { inputEl.addClass('is-invalid'); onInputValue(NaN); return; @@ -48,21 +48,20 @@ $(function() { (function initAv1Form() { // form values for calculation let encodingCostPerMinute = 0.02; - let ingressCostPerGb = 0.00; let egressCostPerGb = 0.04; - + let numberOfStreamsUhd = 2; let numberOfStreamsHd = 3; let numberOfStreamsSd = 4; - + const multiplierStreamUhd = 4; const multiplierStreamHd = 2; const multiplierStreamSd = 1; - const multiplierTechPerTitle = 1.1; const multiplierTech3Pass = 2; // Multipass const multiplierCodecAv1 = 10; - + // streams/renditions + const ingressCostPerGb = 0.00; const improvementsAv1H264 = 0.5; // 50% const improvementsAv1H265 = 0.7; // 30% const mbpsH264Uhd = 12; @@ -82,7 +81,7 @@ $(function() { + numberOfStreamsHd * multiplierStreamHd + numberOfStreamsSd * multiplierStreamSd; const encodingCostPerMinuteAv1 = encodingCostPerMinute * multiplierStreamComposition - * multiplierTech3Pass * multiplierTechPerTitle * multiplierCodecAv1; + * multiplierTech3Pass * multiplierCodecAv1; // all stream bandwidth const multiplierStreamCompositionMbps = numberOfStreamsUhd * mbpsH264Uhd @@ -121,12 +120,6 @@ $(function() { calculateBreakEvenPoints(); })); - $('input#ingressCostPerGb', formElement).val(ingressCostPerGb) - .on('input', inputEventHandler((value) => { - ingressCostPerGb = value; - calculateBreakEvenPoints(); - })); - $('input#egressCostPerGb', formElement).val(egressCostPerGb) .on('input', inputEventHandler((value) => { egressCostPerGb = value;