From 8dd754c76735417305c4b68e2ada6f623e9d7650 Mon Sep 17 00:00:00 2001 From: Florian CUNY Date: Fri, 5 Nov 2021 10:23:02 +0100 Subject: Added 144p encoding (#4492) * Added 144p encoding Implements https://github.com/Chocobozzz/PeerTube/issues/4428 * Fixed typo in core-utils * Increased BitPerPixel for 144p * Disabled 144p by default in test.yaml * Another try at fixing tests * Fixed test in video-transcoder (api-3) * Fixed test in video-imports (api-4) * Fixed test in live-constraints (api-2) * Tried to fix tests in api-3 again * Revert "Tried to fix tests in api-3 again" This reverts commit 266e1143fa37f333d149c2c2791c7bd33621ac14. * Fixed test in config.ts (api-2) * Try to fix test in video-hls.ts (api-3) * Fixed test in video-transcoder.ts (api-3) * Fix tests Co-authored-by: Chocobozzz --- shared/core-utils/videos/bitrate.ts | 3 +++ shared/extra-utils/server/config-command.ts | 3 +++ shared/models/server/custom-config.model.ts | 1 + shared/models/videos/video-resolution.enum.ts | 1 + 4 files changed, 8 insertions(+) (limited to 'shared') diff --git a/shared/core-utils/videos/bitrate.ts b/shared/core-utils/videos/bitrate.ts index a6712f8a4..18c6e2f6c 100644 --- a/shared/core-utils/videos/bitrate.ts +++ b/shared/core-utils/videos/bitrate.ts @@ -6,6 +6,7 @@ type BitPerPixel = { [ id in VideoResolution ]: number } const averageBitPerPixel: BitPerPixel = { [VideoResolution.H_NOVIDEO]: 0, + [VideoResolution.H_144P]: 0.19, [VideoResolution.H_240P]: 0.17, [VideoResolution.H_360P]: 0.15, [VideoResolution.H_480P]: 0.12, @@ -17,6 +18,7 @@ const averageBitPerPixel: BitPerPixel = { const maxBitPerPixel: BitPerPixel = { [VideoResolution.H_NOVIDEO]: 0, + [VideoResolution.H_144P]: 0.32, [VideoResolution.H_240P]: 0.29, [VideoResolution.H_360P]: 0.26, [VideoResolution.H_480P]: 0.22, @@ -73,6 +75,7 @@ function calculateBitrate (options: { VideoResolution.H_480P, VideoResolution.H_360P, VideoResolution.H_240P, + VideoResolution.H_144P, VideoResolution.H_NOVIDEO ] diff --git a/shared/extra-utils/server/config-command.ts b/shared/extra-utils/server/config-command.ts index 2746e9ac4..7a768b4df 100644 --- a/shared/extra-utils/server/config-command.ts +++ b/shared/extra-utils/server/config-command.ts @@ -8,6 +8,7 @@ export class ConfigCommand extends AbstractCommand { static getCustomConfigResolutions (enabled: boolean) { return { + '144p': enabled, '240p': enabled, '360p': enabled, '480p': enabled, @@ -232,6 +233,7 @@ export class ConfigCommand extends AbstractCommand { profile: 'default', resolutions: { '0p': false, + '144p': false, '240p': false, '360p': true, '480p': true, @@ -258,6 +260,7 @@ export class ConfigCommand extends AbstractCommand { threads: 4, profile: 'default', resolutions: { + '144p': true, '240p': true, '360p': true, '480p': true, diff --git a/shared/models/server/custom-config.model.ts b/shared/models/server/custom-config.model.ts index 322fbb797..3ed932494 100644 --- a/shared/models/server/custom-config.model.ts +++ b/shared/models/server/custom-config.model.ts @@ -2,6 +2,7 @@ import { NSFWPolicyType } from '../videos/nsfw-policy.type' import { BroadcastMessageLevel } from './broadcast-message-level.type' export type ConfigResolutions = { + '144p': boolean '240p': boolean '360p': boolean '480p': boolean diff --git a/shared/models/videos/video-resolution.enum.ts b/shared/models/videos/video-resolution.enum.ts index 24cd2d04d..5b48ad353 100644 --- a/shared/models/videos/video-resolution.enum.ts +++ b/shared/models/videos/video-resolution.enum.ts @@ -1,5 +1,6 @@ export const enum VideoResolution { H_NOVIDEO = 0, + H_144P = 144, H_240P = 240, H_360P = 360, H_480P = 480, -- cgit v1.2.3