From 051f7bcb5a4561282bd79beccc568ae1114e02b9 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 19 Jul 2022 09:27:01 +0200 Subject: [PATCH 01/12] fix: remove ingressCostPerGb --- encoding/av1-break-even-calculator/index.html | 24 +++---------------- .../js/av1-break-even-calculator.js | 14 ++++------- 2 files changed, 7 insertions(+), 31 deletions(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 5d17e092..9df1b049 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -26,21 +26,6 @@

Inputs

Based on Bitmovin flexible pricing -
- -
- -
$
-
-
-   -
-
@@ -93,11 +78,8 @@

Inputs

- - -
+
-
Break-even point - H.264+AV1 vs H.264 only
--
@@ -107,9 +89,9 @@

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. 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..731b1bde 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 @@ -48,21 +48,21 @@ $(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; @@ -121,12 +121,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; From ffdfea2c5c1b75bd8cec9f62000813148da78e95 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 19 Jul 2022 09:42:36 +0200 Subject: [PATCH 02/12] fix: allow 4 digits for dollar inputs --- encoding/av1-break-even-calculator/index.html | 10 +++++----- .../js/av1-break-even-calculator.js | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 9df1b049..2dc7f662 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -16,10 +16,10 @@

Inputs

+ value="0.020" />
$
@@ -31,8 +31,8 @@

Inputs

$
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 731b1bde..6066f17a 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; From 77306c8addca3fc13bd43be58540cb07f38fd074 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 19 Jul 2022 10:16:28 +0200 Subject: [PATCH 03/12] fix: add fixed ladder note --- encoding/av1-break-even-calculator/index.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 2dc7f662..45ce9f1c 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -97,6 +97,14 @@

Inputs

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. From f6aa7bacf175633b86213bd59909beaa1335b0e0 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 19 Jul 2022 10:28:22 +0200 Subject: [PATCH 04/12] fix: adjust footnote formula --- encoding/av1-break-even-calculator/index.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 45ce9f1c..5f877725 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -163,7 +163,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: + [H.26X encoding cost] + ( [views] * [H.26X CDN delivery cost] ) + is equal to + [H.26X encoding cost] + [AV1 encoding cost] + ( [views] * [AV1 CDN delivery cost] )
From 3d5d13f06c3e4a11f2fcd4e240490c6d02db5135 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 19 Jul 2022 10:34:31 +0200 Subject: [PATCH 05/12] fix: remove unnecessary digit --- encoding/av1-break-even-calculator/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 5f877725..8e61ec40 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -19,7 +19,7 @@

Inputs

min="0.00" step="0.0001" type="number" - value="0.020" /> + value="0.02" />
$
From b61aea14f354c43287d55efb3761fa3b803af43c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Kr=C3=B6pfl?= Date: Tue, 19 Jul 2022 11:56:36 +0200 Subject: [PATCH 06/12] add banner for clarity of usage --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 From 12629765dcaadc132f50f744d5da2f3921381b0f Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 20 Jul 2022 10:51:35 +0200 Subject: [PATCH 07/12] fix: remove Per-Title factor --- encoding/av1-break-even-calculator/index.html | 14 ++++++++------ .../js/av1-break-even-calculator.js | 3 +-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 8e61ec40..942f9b33 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -129,12 +129,12 @@

Calculation multipliers

4 - PerTitle - 3-Pass + 3-Pass + - 1.1 - 2 + 2 + H264 @@ -148,11 +148,13 @@

Calculation multipliers

AV1 efficiency improvement over H.264 - AV1 efficiency improvement over H.265 + AV1 efficiency improvement over H.265 + 50% - 30% + 30% + 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 6066f17a..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 @@ -57,7 +57,6 @@ $(function() { const multiplierStreamUhd = 4; const multiplierStreamHd = 2; const multiplierStreamSd = 1; - const multiplierTechPerTitle = 1.1; const multiplierTech3Pass = 2; // Multipass const multiplierCodecAv1 = 10; @@ -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 From 589b7aee17887bd304ecf67c6b0f89c1f1df7358 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 20 Jul 2022 10:54:54 +0200 Subject: [PATCH 08/12] fix: add Per-Title link --- encoding/av1-break-even-calculator/index.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 942f9b33..670ac62f 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -99,7 +99,9 @@

Inputs

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. + 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. From ee5e4339724cfdbd166a21367296d8241765ff16 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 20 Jul 2022 10:57:33 +0200 Subject: [PATCH 09/12] fix: format footnote formula --- encoding/av1-break-even-calculator/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 670ac62f..534c47e0 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -168,9 +168,9 @@

Calculation multipliers

  • For the break-even point calculation we calculated the number of views such as: - [H.26X encoding cost] + ( [views] * [H.26X CDN delivery cost] ) + ([views] * [H.26X CDN delivery cost]) + [H.26X encoding cost] is equal to - [H.26X encoding cost] + [AV1 encoding cost] + ( [views] * [AV1 CDN delivery cost] ) + ([views] * [AV1 CDN delivery cost]) + [H.26X encoding cost] + [AV1 encoding cost]
  • From 137d18b7ea7d06f082365b7a81bfa546b12f144a Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 20 Jul 2022 10:58:13 +0200 Subject: [PATCH 10/12] fix: use 4k UHD label --- encoding/av1-break-even-calculator/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 534c47e0..1199547f 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -43,7 +43,7 @@

    Inputs

    - + Calculation multipliers SD HD - UHD + 4k UHD 1 From 79c85b809fd3aa7de416c812a311743c4f2a45d3 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 20 Jul 2022 11:03:49 +0200 Subject: [PATCH 11/12] fix: structure table factors --- encoding/av1-break-even-calculator/index.html | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index 1199547f..f3e67a6a 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -116,11 +116,14 @@

    Calculation multipliers

    - + + + + @@ -131,6 +134,9 @@

    Calculation multipliers

    + + + @@ -139,8 +145,11 @@

    Calculation multipliers

    - - + + + + + @@ -149,8 +158,11 @@

    Calculation multipliers

    - - + + + + + From c8b961242c14e19eaea8fec774460dfb7db4ba95 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 20 Jul 2022 15:15:06 +0200 Subject: [PATCH 12/12] chore: remove unused code --- encoding/av1-break-even-calculator/index.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/encoding/av1-break-even-calculator/index.html b/encoding/av1-break-even-calculator/index.html index f3e67a6a..93ed179f 100644 --- a/encoding/av1-break-even-calculator/index.html +++ b/encoding/av1-break-even-calculator/index.html @@ -116,9 +116,6 @@

    Calculation multipliers

    Resolution factors
    SD HD 4k UHD 4
    Feature factors
    3-Pass
    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
    -
    Resolution factors