feat: Add 720p simulcast middle layer, note VP9/SVC incompatibility
Default was only [180p, 360p] simulcast fallback layers - a big quality cliff straight to blocky 360p on minor network hiccups instead of gracefully stepping down from the 1440p top layer. Added a 720p middle rung. Also documented the likely real reason forcing video_codec: vp9 broke calls (2026-07-28): LiveKit uses SVC for vp9/av1, not classic simulcast, but buildPublishOptions() always builds simulcast-shaped layers regardless of codec - needs a code fix before retrying vp9.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@sorb/threadnet-call-embedded",
|
"name": "@sorb/threadnet-call-embedded",
|
||||||
"version": "0.19.2-threadnet.1",
|
"version": "0.19.2-threadnet.3",
|
||||||
"files": [
|
"files": [
|
||||||
"README.md",
|
"README.md",
|
||||||
"LICENSE-AGPL-3.0",
|
"LICENSE-AGPL-3.0",
|
||||||
|
|||||||
+13
-3
@@ -31,13 +31,23 @@ export default defineConfig((env) =>
|
|||||||
delayed_leave_event_delay_ms: 18000,
|
delayed_leave_event_delay_ms: 18000,
|
||||||
},
|
},
|
||||||
media_quality: {
|
media_quality: {
|
||||||
// video_codec intentionally left unset (defaults to vp8) - setting it
|
// video_codec intentionally left unset (defaults to vp8) - setting it to
|
||||||
// to "vp9" broke calls entirely in production (2026-07-28, no audio/video
|
// "vp9" broke calls entirely in production (2026-07-28, no audio/video
|
||||||
// transmitted). Root cause not confirmed; revisit once isolated.
|
// transmitted). Likely cause: LiveKit uses SVC for vp9/av1 instead of
|
||||||
|
// classic simulcast, but buildPublishOptions() in src/livekit/options.ts
|
||||||
|
// always sets simulcast-shaped videoSimulcastLayers regardless of codec -
|
||||||
|
// needs a code fix in that function before vp9 can be retried safely.
|
||||||
video: {
|
video: {
|
||||||
max_resolution: 1440,
|
max_resolution: 1440,
|
||||||
max_bitrate: 8_000_000,
|
max_bitrate: 8_000_000,
|
||||||
max_framerate: 60,
|
max_framerate: 60,
|
||||||
|
// Without this, the code default is only [180p, 360p] - a huge quality
|
||||||
|
// cliff straight to blocky 360p on any minor network hiccup instead of
|
||||||
|
// gracefully stepping down. Added a 720p middle rung.
|
||||||
|
simulcast_layers: [
|
||||||
|
{ height: 180, bitrate: 150_000 },
|
||||||
|
{ height: 720, bitrate: 2_500_000 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
screen_share: {
|
screen_share: {
|
||||||
max_resolution: 1440,
|
max_resolution: 1440,
|
||||||
|
|||||||
Reference in New Issue
Block a user