@voltkit-rtc/client 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/cjs/diagnostics.d.ts +1 -1
- package/dist/cjs/diagnostics.js +1 -1
- package/dist/cjs/quality.d.ts +7 -1
- package/dist/cjs/quality.d.ts.map +1 -1
- package/dist/cjs/quality.js +2 -1
- package/dist/cjs/quality.js.map +1 -1
- package/dist/esm/diagnostics.d.ts +1 -1
- package/dist/esm/diagnostics.js +1 -1
- package/dist/esm/quality.d.ts +7 -1
- package/dist/esm/quality.d.ts.map +1 -1
- package/dist/esm/quality.js +2 -1
- package/dist/esm/quality.js.map +1 -1
- package/package.json +1 -1
- package/src/diagnostics.ts +1 -1
- package/src/quality.ts +9 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.1
|
|
4
|
+
|
|
5
|
+
- **Viewers get smooth video, not a slideshow.** A camera's simulcast layers are now sent as one full-frame-rate
|
|
6
|
+
stream each (`L1T1`) instead of three frame-rate steps (`L1T3`). With the steps, the media server forwarded the
|
|
7
|
+
bigger picture at a quarter of the frame rate whenever a viewer's bandwidth estimate fell short of the top layer:
|
|
8
|
+
measured on a fast local network, a viewer of a 1080p host got 1920×1080 at 7.5 fps much of the time, instead of
|
|
9
|
+
960×540 at 30. Now a viewer gets the largest layer its connection carries, always at the full frame rate. Screen
|
|
10
|
+
shares keep the steps: for slides, sharp beats smooth.
|
|
11
|
+
|
|
3
12
|
## 0.9.0
|
|
4
13
|
|
|
5
14
|
- **AI noise suppression: `@voltkit-rtc/client/noise-suppression`** (Agora AI Denoiser, LiveKit Krisp, ZEGOCLOUD
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* attach to a support ticket: the SDK's recent events (a ring buffer) and its state now.
|
|
7
7
|
*/
|
|
8
8
|
/** This package's version; kept equal to package.json by a test. */
|
|
9
|
-
export declare const SDK_VERSION = "0.9.
|
|
9
|
+
export declare const SDK_VERSION = "0.9.1";
|
|
10
10
|
/** How many recent events the log keeps. */
|
|
11
11
|
export declare const DIAGNOSTICS_LOG_SIZE = 200;
|
|
12
12
|
export interface DiagnosticsEntry {
|
package/dist/cjs/diagnostics.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.DiagnosticsLog = exports.DIAGNOSTICS_LOG_SIZE = exports.SDK_VERSION = void 0;
|
|
11
11
|
/** This package's version; kept equal to package.json by a test. */
|
|
12
|
-
exports.SDK_VERSION = '0.9.
|
|
12
|
+
exports.SDK_VERSION = '0.9.1';
|
|
13
13
|
/** How many recent events the log keeps. */
|
|
14
14
|
exports.DIAGNOSTICS_LOG_SIZE = 200;
|
|
15
15
|
/** The events worth keeping for support, and how to summarise each. */
|
package/dist/cjs/quality.d.ts
CHANGED
|
@@ -20,7 +20,13 @@ export interface VideoEncoding {
|
|
|
20
20
|
rid?: string;
|
|
21
21
|
scaleResolutionDownBy: number;
|
|
22
22
|
maxBitrate: number;
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* A camera's layers are one full-frame-rate stream each (L1T1); a screen keeps three frame-rate steps (L1T3).
|
|
25
|
+
* With steps on a camera, mediasoup forwards the bigger picture at a quarter of the frame rate whenever a
|
|
26
|
+
* viewer's bandwidth estimate falls short of the top layer: on a fast local network a viewer got 1080p at
|
|
27
|
+
* 7.5 fps instead of 540p at 30 (2026-10-20). For a face, smooth beats sharp; for slides, sharp beats smooth.
|
|
28
|
+
*/
|
|
29
|
+
scalabilityMode: 'L1T1' | 'L1T3';
|
|
24
30
|
maxFramerate: number;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/quality.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAA8B,CAAC;AAElF,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEnC,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,EAAE,WAAuD,CAAC;AAW3F,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,MAAM,GAAE,WAAkC,GAAG,YAAY,CAI5H;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/quality.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAA8B,CAAC;AAElF,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEnC,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,EAAE,WAAuD,CAAC;AAW3F,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,MAAM,GAAE,WAAkC,GAAG,YAAY,CAI5H;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOnI;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,GAAE,UAAc,EAAE,SAAS,GAAE,EAAE,GAAG,EAAO,GAAG,aAAa,EAAE,CAkBxJ;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,aAAa,EAAE,EAAE,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAE5F;AAED,4FAA4F;AAC5F,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7C,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAQhG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,GAAE,YAAsB,GAAG,UAAU,EAAE,CAKrJ;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAqB,GAAG,aAAa,EAAE,CAY3G"}
|
package/dist/cjs/quality.js
CHANGED
|
@@ -83,7 +83,8 @@ function videoEncodings(width, height, quality, maxLayers = 3, frameRate = 30) {
|
|
|
83
83
|
scaleResolutionDownBy: round(scale * divisor),
|
|
84
84
|
maxBitrate: layerBitrate(top / (divisor * divisor)) * (divisor === 1 && frameRate === 60 ? 1.5 : 1),
|
|
85
85
|
maxFramerate: divisor === 1 ? frameRate : 30,
|
|
86
|
-
|
|
86
|
+
// One step per layer: the media server chooses among sizes, each at the full frame rate (see VideoEncoding).
|
|
87
|
+
scalabilityMode: 'L1T1',
|
|
87
88
|
});
|
|
88
89
|
if (layers === 3)
|
|
89
90
|
return [layer(4, 'q'), layer(2, 'h'), layer(1, 'f')];
|
package/dist/cjs/quality.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../../src/quality.ts"],"names":[],"mappings":";AAAA,oGAAoG;;;AA8BpG,wCAIC;AAGD,oCAQC;
|
|
1
|
+
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../../src/quality.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* attach to a support ticket: the SDK's recent events (a ring buffer) and its state now.
|
|
7
7
|
*/
|
|
8
8
|
/** This package's version; kept equal to package.json by a test. */
|
|
9
|
-
export declare const SDK_VERSION = "0.9.
|
|
9
|
+
export declare const SDK_VERSION = "0.9.1";
|
|
10
10
|
/** How many recent events the log keeps. */
|
|
11
11
|
export declare const DIAGNOSTICS_LOG_SIZE = 200;
|
|
12
12
|
export interface DiagnosticsEntry {
|
package/dist/esm/diagnostics.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* attach to a support ticket: the SDK's recent events (a ring buffer) and its state now.
|
|
7
7
|
*/
|
|
8
8
|
/** This package's version; kept equal to package.json by a test. */
|
|
9
|
-
export const SDK_VERSION = '0.9.
|
|
9
|
+
export const SDK_VERSION = '0.9.1';
|
|
10
10
|
/** How many recent events the log keeps. */
|
|
11
11
|
export const DIAGNOSTICS_LOG_SIZE = 200;
|
|
12
12
|
/** The events worth keeping for support, and how to summarise each. */
|
package/dist/esm/quality.d.ts
CHANGED
|
@@ -20,7 +20,13 @@ export interface VideoEncoding {
|
|
|
20
20
|
rid?: string;
|
|
21
21
|
scaleResolutionDownBy: number;
|
|
22
22
|
maxBitrate: number;
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* A camera's layers are one full-frame-rate stream each (L1T1); a screen keeps three frame-rate steps (L1T3).
|
|
25
|
+
* With steps on a camera, mediasoup forwards the bigger picture at a quarter of the frame rate whenever a
|
|
26
|
+
* viewer's bandwidth estimate falls short of the top layer: on a fast local network a viewer got 1080p at
|
|
27
|
+
* 7.5 fps instead of 540p at 30 (2026-10-20). For a face, smooth beats sharp; for slides, sharp beats smooth.
|
|
28
|
+
*/
|
|
29
|
+
scalabilityMode: 'L1T1' | 'L1T3';
|
|
24
30
|
maxFramerate: number;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/quality.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAA8B,CAAC;AAElF,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEnC,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,EAAE,WAAuD,CAAC;AAW3F,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,MAAM,GAAE,WAAkC,GAAG,YAAY,CAI5H;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/quality.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAA8B,CAAC;AAElF,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEnC,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,EAAE,WAAuD,CAAC;AAW3F,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,MAAM,GAAE,WAAkC,GAAG,YAAY,CAI5H;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOnI;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,GAAE,UAAc,EAAE,SAAS,GAAE,EAAE,GAAG,EAAO,GAAG,aAAa,EAAE,CAkBxJ;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,aAAa,EAAE,EAAE,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAE5F;AAED,4FAA4F;AAC5F,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7C,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAQhG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,GAAE,YAAsB,GAAG,UAAU,EAAE,CAKrJ;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAqB,GAAG,aAAa,EAAE,CAY3G"}
|
package/dist/esm/quality.js
CHANGED
|
@@ -72,7 +72,8 @@ export function videoEncodings(width, height, quality, maxLayers = 3, frameRate
|
|
|
72
72
|
scaleResolutionDownBy: round(scale * divisor),
|
|
73
73
|
maxBitrate: layerBitrate(top / (divisor * divisor)) * (divisor === 1 && frameRate === 60 ? 1.5 : 1),
|
|
74
74
|
maxFramerate: divisor === 1 ? frameRate : 30,
|
|
75
|
-
|
|
75
|
+
// One step per layer: the media server chooses among sizes, each at the full frame rate (see VideoEncoding).
|
|
76
|
+
scalabilityMode: 'L1T1',
|
|
76
77
|
});
|
|
77
78
|
if (layers === 3)
|
|
78
79
|
return [layer(4, 'q'), layer(2, 'h'), layer(1, 'f')];
|
package/dist/esm/quality.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../../src/quality.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAIpG,MAAM,CAAC,MAAM,eAAe,GAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAalF,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AAE3F,8BAA8B;AAC9B,MAAM,SAAS,GAA4D;IACzE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACtC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IACpC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;CACpC,CAAC;AAEF,MAAM,IAAI,GAAiC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAEhF,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,SAAmC,EAAE,SAAsB,oBAAoB;IAC5G,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IACpE,MAAM,MAAM,GAAG,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAChE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,MAAM,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,MAAM,IAAI,OAAO;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,MAAM,IAAI,OAAO;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,MAAM,IAAI,OAAO;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,MAAM,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IACtC,IAAI,MAAM,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../../src/quality.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/diagnostics.ts
CHANGED
package/src/quality.ts
CHANGED
|
@@ -49,7 +49,13 @@ export interface VideoEncoding {
|
|
|
49
49
|
rid?: string;
|
|
50
50
|
scaleResolutionDownBy: number;
|
|
51
51
|
maxBitrate: number;
|
|
52
|
-
|
|
52
|
+
/**
|
|
53
|
+
* A camera's layers are one full-frame-rate stream each (L1T1); a screen keeps three frame-rate steps (L1T3).
|
|
54
|
+
* With steps on a camera, mediasoup forwards the bigger picture at a quarter of the frame rate whenever a
|
|
55
|
+
* viewer's bandwidth estimate falls short of the top layer: on a fast local network a viewer got 1080p at
|
|
56
|
+
* 7.5 fps instead of 540p at 30 (2026-10-20). For a face, smooth beats sharp; for slides, sharp beats smooth.
|
|
57
|
+
*/
|
|
58
|
+
scalabilityMode: 'L1T1' | 'L1T3';
|
|
53
59
|
maxFramerate: number;
|
|
54
60
|
}
|
|
55
61
|
|
|
@@ -95,7 +101,8 @@ export function videoEncodings(width: number, height: number, quality: VideoQual
|
|
|
95
101
|
scaleResolutionDownBy: round(scale * divisor),
|
|
96
102
|
maxBitrate: layerBitrate(top / (divisor * divisor)) * (divisor === 1 && frameRate === 60 ? 1.5 : 1),
|
|
97
103
|
maxFramerate: divisor === 1 ? frameRate : 30,
|
|
98
|
-
|
|
104
|
+
// One step per layer: the media server chooses among sizes, each at the full frame rate (see VideoEncoding).
|
|
105
|
+
scalabilityMode: 'L1T1',
|
|
99
106
|
});
|
|
100
107
|
if (layers === 3) return [layer(4, 'q'), layer(2, 'h'), layer(1, 'f')];
|
|
101
108
|
if (layers === 2) return [layer(2, 'h'), layer(1, 'f')];
|