@norskvideo/norsk-studio-built-ins 1.27.0-2025-03-27-419657f2 → 1.27.0-2025-03-27-1a33b215
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/client/info.js +205 -148
- package/lib/output.rtmp/info.js +8 -1
- package/lib/output.rtmp/info.js.map +1 -1
- package/lib/output.rtmp/inline-view.js +5 -1
- package/lib/output.rtmp/inline-view.js.map +1 -1
- package/lib/output.rtmp/runtime.d.ts +6 -0
- package/lib/output.rtmp/runtime.js +8 -0
- package/lib/output.rtmp/runtime.js.map +1 -1
- package/lib/output.srt-caller/info.js +6 -1
- package/lib/output.srt-caller/info.js.map +1 -1
- package/lib/output.srt-caller/inline-view.js +5 -1
- package/lib/output.srt-caller/inline-view.js.map +1 -1
- package/lib/output.srt-caller/runtime.d.ts +5 -0
- package/lib/output.srt-caller/runtime.js +5 -0
- package/lib/output.srt-caller/runtime.js.map +1 -1
- package/lib/output.srt-listener/info.js +6 -1
- package/lib/output.srt-listener/info.js.map +1 -1
- package/lib/output.srt-listener/inline-view.d.ts +3 -4
- package/lib/output.srt-listener/inline-view.js +5 -1
- package/lib/output.srt-listener/inline-view.js.map +1 -1
- package/lib/output.srt-listener/runtime.d.ts +5 -0
- package/lib/output.srt-listener/runtime.js +5 -0
- package/lib/output.srt-listener/runtime.js.map +1 -1
- package/lib/output.udpTs/info.d.ts +2 -2
- package/lib/output.udpTs/info.js +24 -0
- package/lib/output.udpTs/info.js.map +1 -1
- package/lib/output.udpTs/inline-view.d.ts +6 -0
- package/lib/output.udpTs/inline-view.js +12 -0
- package/lib/output.udpTs/inline-view.js.map +1 -0
- package/lib/output.udpTs/runtime.d.ts +25 -5
- package/lib/output.udpTs/runtime.js +36 -4
- package/lib/output.udpTs/runtime.js.map +1 -1
- package/lib/shared/jitter-buffer-inline.d.ts +15 -0
- package/lib/shared/jitter-buffer-inline.js +26 -0
- package/lib/shared/jitter-buffer-inline.js.map +1 -0
- package/lib/shared/stream-statistics-view.d.ts +1 -1
- package/lib/shared/stream-statistics-view.js +9 -41
- package/lib/shared/stream-statistics-view.js.map +1 -1
- package/lib/test/udp-output.js +1 -1
- package/lib/test/udp-output.js.map +1 -1
- package/package.json +2 -2
package/lib/output.rtmp/info.js
CHANGED
@@ -8,6 +8,7 @@ exports.defineRtmpOutputComponent = defineRtmpOutputComponent;
|
|
8
8
|
const summary_view_1 = __importDefault(require("./summary-view"));
|
9
9
|
const inline_view_1 = __importDefault(require("./inline-view"));
|
10
10
|
const FaVideoSlash_1 = require("@react-icons/all-files/fa/FaVideoSlash");
|
11
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
11
12
|
function default_1(r) {
|
12
13
|
const { validation: { JitterBuffer, Z } } = r;
|
13
14
|
return defineRtmpOutputComponent(r, {
|
@@ -44,7 +45,10 @@ function defineRtmpOutputComponent({ defineComponent, }, settings) {
|
|
44
45
|
return {};
|
45
46
|
},
|
46
47
|
runtime: {
|
47
|
-
initialState: () => ({
|
48
|
+
initialState: () => ({
|
49
|
+
connected: false, connectRetries: 0, enabled: true,
|
50
|
+
jitterBuffer: (0, jitter_buffer_inline_1.initialJitterBufferState)()
|
51
|
+
}),
|
48
52
|
handleEvent: (ev, state) => {
|
49
53
|
const evType = ev.type;
|
50
54
|
switch (evType) {
|
@@ -61,6 +65,9 @@ function defineRtmpOutputComponent({ defineComponent, }, settings) {
|
|
61
65
|
case "output-disabled":
|
62
66
|
state.enabled = false;
|
63
67
|
break;
|
68
|
+
case 'jitter-buffer-updated':
|
69
|
+
state.jitterBuffer = ev.buffer;
|
70
|
+
break;
|
64
71
|
default:
|
65
72
|
assertUnreachable(evType);
|
66
73
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.rtmp/info.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.rtmp/info.ts"],"names":[],"mappings":"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"}
|
@@ -1,11 +1,15 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const jitter_buffer_inline_1 = __importDefault(require("../shared/jitter-buffer-inline"));
|
4
8
|
function InlineView({ state, config }) {
|
5
9
|
if (!state.enabled) {
|
6
10
|
return (0, jsx_runtime_1.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" });
|
7
11
|
}
|
8
|
-
const connected = (0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected and publishing" });
|
12
|
+
const connected = (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected and publishing" }), (0, jsx_runtime_1.jsx)(jitter_buffer_inline_1.default, { ...state.jitterBuffer })] });
|
9
13
|
const disconnected = (0, jsx_runtime_1.jsxs)("div", { className: "inactive text-orange-500 dark:text-orange-300", children: ["Disconnected ", state.connectRetries > 0 ? `- retrying(${state.connectRetries})` : ""] });
|
10
14
|
return (0, jsx_runtime_1.jsx)("div", { className: "rtmp-output", id: `rtmp-output-${config.id}`, children: state.connected ? connected : disconnected });
|
11
15
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.rtmp/inline-view.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.rtmp/inline-view.tsx"],"names":[],"mappings":";;;;;;AAEA,0FAAgE;AAEhE,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAkD;IACnF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,gCAAK,SAAS,EAAC,2CAA2C,gCAAsB,CAAA;IACzF,CAAC;IACD,MAAM,SAAS,GAAG,4CAAK,gCAAK,SAAS,EAAC,2CAA2C,yCAA+B,EAC9G,uBAAC,8BAAkB,OAAK,KAAK,CAAC,YAAY,GAAI,IAC1C,CAAA;IACN,MAAM,YAAY,GAAG,iCAAK,SAAS,EAAC,+CAA+C,8BAAe,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,IAAO,CAAA;IAC9K,OAAO,gCAAK,SAAS,EAAC,aAAa,EAAC,EAAE,EAAE,eAAe,MAAM,CAAC,EAAE,EAAE,YAC/D,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GACvC,CAAA;AACR,CAAC;AAED,kBAAe,UAAU,CAAC"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Norsk, RtmpOutputNode, RtmpOutputSettings as SdkSettings } from '@norskvideo/norsk-sdk';
|
2
2
|
import { CreatedMediaNode, InstanceRouteInfo, OnCreated, RelatedMediaNodes, ServerComponentDefinition, StudioComponentInputStream, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
|
3
3
|
import { BaseConfig } from '@norskvideo/norsk-studio/lib/extension/client-types';
|
4
|
+
import { JitterBufferState } from '../shared/jitter-buffer-inline';
|
4
5
|
export type RtmpOutputSettings = {
|
5
6
|
id: string;
|
6
7
|
displayName: string;
|
@@ -14,6 +15,7 @@ export type RtmpOutputState = {
|
|
14
15
|
enabled: boolean;
|
15
16
|
connected: boolean;
|
16
17
|
connectRetries: number;
|
18
|
+
jitterBuffer: JitterBufferState;
|
17
19
|
};
|
18
20
|
export type RtmpOutputEvent = {
|
19
21
|
type: "rtmp-server-connected-and-publishing";
|
@@ -21,6 +23,9 @@ export type RtmpOutputEvent = {
|
|
21
23
|
type: "rtmp-server-connection-failed-retry";
|
22
24
|
} | {
|
23
25
|
type: "output-enabled" | "output-disabled";
|
26
|
+
} | {
|
27
|
+
type: 'jitter-buffer-updated';
|
28
|
+
buffer: JitterBufferState;
|
24
29
|
};
|
25
30
|
export type RtmpOutputCommand = {
|
26
31
|
type: "enable-output" | "disable-output";
|
@@ -29,6 +34,7 @@ export declare abstract class BaseRtmpOutputDefinition<Settings extends BaseConf
|
|
29
34
|
abstract getConfig(input: Settings): Promise<SdkSettings>;
|
30
35
|
create(norsk: Norsk, cfg: Settings, cb: OnCreated<RtmpOutput>, runtime: StudioRuntime<RtmpOutputState, RtmpOutputCommand, RtmpOutputEvent>): Promise<void>;
|
31
36
|
handleCommand(node: RtmpOutput, command: RtmpOutputCommand): Promise<void>;
|
37
|
+
handleMetricsUpdate(node: RtmpOutput): Promise<void>;
|
32
38
|
instanceRoutes(): Promise<InstanceRouteInfo<Settings, RtmpOutput, RtmpOutputState, RtmpOutputCommand, RtmpOutputEvent>[]>;
|
33
39
|
}
|
34
40
|
export default class RtmpOutputDefinition extends BaseRtmpOutputDefinition<RtmpOutputSettings> {
|
@@ -9,6 +9,7 @@ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-
|
|
9
9
|
const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
|
10
10
|
const path_1 = __importDefault(require("path"));
|
11
11
|
const api_1 = require("@norskvideo/norsk-studio/lib/server/api");
|
12
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
12
13
|
class BaseRtmpOutputDefinition {
|
13
14
|
async create(norsk, cfg, cb, runtime) {
|
14
15
|
const node = new RtmpOutput(norsk, runtime, cfg, async () => this.getConfig(cfg));
|
@@ -25,6 +26,13 @@ class BaseRtmpOutputDefinition {
|
|
25
26
|
break;
|
26
27
|
}
|
27
28
|
}
|
29
|
+
async handleMetricsUpdate(node) {
|
30
|
+
const latest = node.runtime.updates.latestMetrics();
|
31
|
+
node.runtime.updates.raiseEvent({
|
32
|
+
type: 'jitter-buffer-updated',
|
33
|
+
buffer: (0, jitter_buffer_inline_1.extractJitterBufferFromMetrics)(latest)
|
34
|
+
});
|
35
|
+
}
|
28
36
|
async instanceRoutes() {
|
29
37
|
return (0, api_1.defineApi)(path_1.default.join(__dirname, 'types.yaml'), {
|
30
38
|
"/enable": {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.rtmp/runtime.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA8H;AAE9H,wFAAkO;AAClO,yEAAuE;AACvE,gDAAwB;AAGxB,iEAAoE;
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.rtmp/runtime.ts"],"names":[],"mappings":"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"}
|
@@ -11,6 +11,7 @@ const inline_view_1 = __importDefault(require("./inline-view"));
|
|
11
11
|
const srt_form_views_1 = require("../shared/srt-form-views");
|
12
12
|
const FaHeadphones_1 = require("@react-icons/all-files/fa/FaHeadphones");
|
13
13
|
const srt_caller_metrics_1 = __importDefault(require("../shared/srt-caller-metrics"));
|
14
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
14
15
|
function default_1(registration) {
|
15
16
|
const { defineComponent, All, validation, } = registration;
|
16
17
|
const { Port, Hostname, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
|
@@ -43,7 +44,8 @@ function default_1(registration) {
|
|
43
44
|
packetsResent: 0,
|
44
45
|
packetsSent: 0,
|
45
46
|
packetsReceived: 0
|
46
|
-
}
|
47
|
+
},
|
48
|
+
jitterBuffer: (0, jitter_buffer_inline_1.initialJitterBufferState)()
|
47
49
|
}),
|
48
50
|
handleEvent(ev, state) {
|
49
51
|
const evType = ev.type;
|
@@ -57,6 +59,9 @@ function default_1(registration) {
|
|
57
59
|
case 'metrics-updated':
|
58
60
|
state.metrics = ev.metrics;
|
59
61
|
break;
|
62
|
+
case 'jitter-buffer-updated':
|
63
|
+
state.jitterBuffer = ev.buffer;
|
64
|
+
break;
|
60
65
|
default:
|
61
66
|
(0, util_1.assertUnreachable)(evType);
|
62
67
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.srt-caller/info.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.srt-caller/info.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,14 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const jitter_buffer_inline_1 = __importDefault(require("../shared/jitter-buffer-inline"));
|
4
8
|
function InlineView({ state }) {
|
5
9
|
return ((0, jsx_runtime_1.jsx)("div", { className: "srt-output", children: state.enabled ? ((0, jsx_runtime_1.jsx)("div", { children: state.metrics.connectionCount == 0 ?
|
6
10
|
(0, jsx_runtime_1.jsx)("div", { className: "active text-red-300 dark:text-red-300", children: "Not Connected" })
|
7
|
-
: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected" }), (0, jsx_runtime_1.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent] }), (0, jsx_runtime_1.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost, "/", state.metrics.packetsResent] })] }) })) : ((0, jsx_runtime_1.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" })) }));
|
11
|
+
: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected" }), (0, jsx_runtime_1.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent] }), (0, jsx_runtime_1.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost, "/", state.metrics.packetsResent] }), (0, jsx_runtime_1.jsx)(jitter_buffer_inline_1.default, { ...state.jitterBuffer })] }) })) : ((0, jsx_runtime_1.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" })) }));
|
8
12
|
}
|
9
13
|
exports.default = InlineView;
|
10
14
|
//# sourceMappingURL=inline-view.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.srt-caller/inline-view.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.srt-caller/inline-view.tsx"],"names":[],"mappings":";;;;;;AAAA,0FAAgE;AAIhE,SAAS,UAAU,CAAC,EAAE,KAAK,EAA6B;IACtD,OAAO,CACL,gCAAK,SAAS,EAAC,YAAY,YACxB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,0CACG,KAAK,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;gBACnC,gCAAK,SAAS,EAAC,uCAAuC,8BAEhD;gBACN,CAAC,CAAC,6DACA,gCAAK,SAAS,EAAC,2CAA2C,0BAEpD,EACN,sDAAY,KAAK,CAAC,OAAO,CAAC,WAAW,IAAO,EAC5C,6DAAmB,KAAK,CAAC,OAAO,CAAC,WAAW,OAAG,KAAK,CAAC,OAAO,CAAC,aAAa,IAAO,EACjF,uBAAC,8BAAkB,OAAK,KAAK,CAAC,YAAY,GAAI,IAC7C,GACD,CACP,CAAC,CAAC,CAAC,CACF,gCAAK,SAAS,EAAC,2CAA2C,gCAEpD,CACP,GACG,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
|
@@ -2,6 +2,7 @@ import { Norsk, SrtOutputSettings as SdkSettings, SrtOutputNode } from '@norskvi
|
|
2
2
|
import { InstanceRouteInfo, OnCreated, ServerComponentDefinition, StudioRuntime, StudioComponentInputStream } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
|
3
3
|
import { CustomSinkNode } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
|
4
4
|
import { type SocketOptions, type SrtCallerMetrics } from '../shared/srt-types';
|
5
|
+
import { JitterBufferState } from '../shared/jitter-buffer-inline';
|
5
6
|
export type SrtOutputSettings = Pick<SdkSettings, 'port' | 'host' | 'passphrase' | 'streamId' | 'bufferDelayMs' | 'avDelayMs'> & {
|
6
7
|
id: string;
|
7
8
|
displayName: string;
|
@@ -11,6 +12,7 @@ export type SrtOutputSettings = Pick<SdkSettings, 'port' | 'host' | 'passphrase'
|
|
11
12
|
export type SrtOutputState = {
|
12
13
|
enabled: boolean;
|
13
14
|
metrics: SrtMetrics;
|
15
|
+
jitterBuffer: JitterBufferState;
|
14
16
|
};
|
15
17
|
export type SrtMetrics = SrtCallerMetrics;
|
16
18
|
export type SrtOutputCommand = {
|
@@ -21,6 +23,9 @@ export type SrtOutputEvent = {
|
|
21
23
|
} | {
|
22
24
|
type: 'metrics-updated';
|
23
25
|
metrics: SrtMetrics;
|
26
|
+
} | {
|
27
|
+
type: 'jitter-buffer-updated';
|
28
|
+
buffer: JitterBufferState;
|
24
29
|
};
|
25
30
|
declare class SrtOutput extends CustomSinkNode {
|
26
31
|
norsk: Norsk;
|
@@ -8,6 +8,7 @@ const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
|
|
8
8
|
const srt_types_1 = require("../shared/srt-types");
|
9
9
|
const path_1 = __importDefault(require("path"));
|
10
10
|
const api_1 = require("@norskvideo/norsk-studio/lib/server/api");
|
11
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
11
12
|
class SrtOutput extends base_nodes_1.CustomSinkNode {
|
12
13
|
norsk;
|
13
14
|
cfg;
|
@@ -98,6 +99,10 @@ class SrtOutputDefinition {
|
|
98
99
|
type: 'metrics-updated',
|
99
100
|
metrics: (0, srt_types_1.extractSrtCallerMetricsForNode)(targetNodeId, latest)
|
100
101
|
});
|
102
|
+
node.runtime.updates.raiseEvent({
|
103
|
+
type: 'jitter-buffer-updated',
|
104
|
+
buffer: (0, jitter_buffer_inline_1.extractJitterBufferFromMetrics)(latest)
|
105
|
+
});
|
101
106
|
}
|
102
107
|
async instanceRoutes() {
|
103
108
|
return (0, api_1.defineApi)(path_1.default.join(__dirname, 'types.yaml'), {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.srt-caller/runtime.ts"],"names":[],"mappings":";;;;;AAEA,kFAAmF;AACnF,yEAAuE;AACvE,mDAAgH;AAEhH,gDAAwB;AAExB,iEAAoE;
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.srt-caller/runtime.ts"],"names":[],"mappings":"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"}
|
@@ -10,6 +10,7 @@ const summary_view_1 = __importDefault(require("./summary-view"));
|
|
10
10
|
const inline_view_1 = __importDefault(require("./inline-view"));
|
11
11
|
const srt_listener_metrics_1 = __importDefault(require("../shared/srt-listener-metrics"));
|
12
12
|
const srt_form_views_1 = require("../shared/srt-form-views");
|
13
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
13
14
|
function default_1(registration) {
|
14
15
|
const { defineComponent, All, validation, } = registration;
|
15
16
|
const { Port, Hostname, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
|
@@ -41,7 +42,8 @@ function default_1(registration) {
|
|
41
42
|
packetsResent: [],
|
42
43
|
packetsSent: [],
|
43
44
|
packetsReceived: []
|
44
|
-
}
|
45
|
+
},
|
46
|
+
jitterBuffer: (0, jitter_buffer_inline_1.initialJitterBufferState)()
|
45
47
|
}),
|
46
48
|
handleEvent(ev, state) {
|
47
49
|
const evType = ev.type;
|
@@ -55,6 +57,9 @@ function default_1(registration) {
|
|
55
57
|
case 'metrics-updated':
|
56
58
|
state.metrics = ev.metrics;
|
57
59
|
break;
|
60
|
+
case 'jitter-buffer-updated':
|
61
|
+
state.jitterBuffer = ev.buffer;
|
62
|
+
break;
|
58
63
|
default:
|
59
64
|
(0, util_1.assertUnreachable)(evType);
|
60
65
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.srt-listener/info.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.srt-listener/info.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import { SrtOutputState } from "./runtime";
|
1
|
+
import { SrtOutputCommand, SrtOutputSettings, SrtOutputState } from "./runtime";
|
2
2
|
import React from "react";
|
3
|
-
|
4
|
-
|
5
|
-
}): React.JSX.Element;
|
3
|
+
import { ViewProps } from "@norskvideo/norsk-studio/lib/extension/client-types";
|
4
|
+
declare function InlineView({ state }: ViewProps<SrtOutputSettings, SrtOutputState, SrtOutputCommand>): React.JSX.Element;
|
6
5
|
export default InlineView;
|
@@ -1,10 +1,14 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const jitter_buffer_inline_1 = __importDefault(require("../shared/jitter-buffer-inline"));
|
4
8
|
function InlineView({ state }) {
|
5
9
|
return ((0, jsx_runtime_1.jsx)("div", { className: "srt-output", children: state.enabled ? (state.metrics.connectionCount == 0 ?
|
6
10
|
(0, jsx_runtime_1.jsx)("div", { className: "active text-red-300 dark:text-red-300", children: "No connections" })
|
7
|
-
: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Output enabled" }), (0, jsx_runtime_1.jsxs)("div", { children: ["Connections: ", state.metrics.connectionCount] }), (0, jsx_runtime_1.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent.reduce((a, i) => a + i, 0)] }), (0, jsx_runtime_1.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost.reduce((a, i) => a + i, 0), "/", state.metrics.packetsResent.reduce((a, i) => a + i, 0)] })] })) : ((0, jsx_runtime_1.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" })) }));
|
11
|
+
: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Output enabled" }), (0, jsx_runtime_1.jsxs)("div", { children: ["Connections: ", state.metrics.connectionCount] }), (0, jsx_runtime_1.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent.reduce((a, i) => a + i, 0)] }), (0, jsx_runtime_1.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost.reduce((a, i) => a + i, 0), "/", state.metrics.packetsResent.reduce((a, i) => a + i, 0)] }), (0, jsx_runtime_1.jsx)(jitter_buffer_inline_1.default, { ...state.jitterBuffer })] })) : ((0, jsx_runtime_1.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" })) }));
|
8
12
|
}
|
9
13
|
exports.default = InlineView;
|
10
14
|
//# sourceMappingURL=inline-view.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.srt-listener/inline-view.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.srt-listener/inline-view.tsx"],"names":[],"mappings":";;;;;;AAEA,0FAAgE;AAGhE,SAAS,UAAU,CAAC,EAAE,KAAK,EAAkE;IAC3F,OAAO,CACL,gCAAK,SAAS,EAAC,YAAY,YACxB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,KAAK,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;YAClC,gCAAK,SAAS,EAAC,uCAAuC,+BAEhD;YACN,CAAC,CAAC,6DACA,gCAAK,SAAS,EAAC,2CAA2C,+BAEpD,EACN,6DAAmB,KAAK,CAAC,OAAO,CAAC,eAAe,IAAO,EACvD,sDAAY,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAO,EACvE,6DAAmB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAO,EACvI,uBAAC,8BAAkB,OAAK,KAAK,CAAC,YAAY,GAAI,IAC7C,CACN,CAAC,CAAC,CAAC,CACF,gCAAK,SAAS,EAAC,2CAA2C,gCAEpD,CACP,GACG,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
|
@@ -2,6 +2,7 @@ import { Norsk, SrtOutputSettings as SdkSettings, SrtOutputNode } from '@norskvi
|
|
2
2
|
import { InstanceRouteInfo, OnCreated, ServerComponentDefinition, StudioRuntime, StudioComponentInputStream } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
|
3
3
|
import { CustomSinkNode } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
|
4
4
|
import { type SocketOptions, type SrtListenerMetrics } from '../shared/srt-types';
|
5
|
+
import { JitterBufferState } from '../shared/jitter-buffer-inline';
|
5
6
|
export type SrtOutputSettings = Pick<SdkSettings, 'port' | 'host' | 'passphrase' | 'streamId' | 'bufferDelayMs' | 'avDelayMs'> & {
|
6
7
|
id: string;
|
7
8
|
displayName: string;
|
@@ -12,6 +13,7 @@ export type SrtMetrics = SrtListenerMetrics;
|
|
12
13
|
export type SrtOutputState = {
|
13
14
|
enabled: boolean;
|
14
15
|
metrics: SrtMetrics;
|
16
|
+
jitterBuffer: JitterBufferState;
|
15
17
|
};
|
16
18
|
export type SrtOutputCommand = {
|
17
19
|
type: 'enable-output' | 'disable-output';
|
@@ -21,6 +23,9 @@ export type SrtOutputEvent = {
|
|
21
23
|
} | {
|
22
24
|
type: 'metrics-updated';
|
23
25
|
metrics: SrtMetrics;
|
26
|
+
} | {
|
27
|
+
type: 'jitter-buffer-updated';
|
28
|
+
buffer: JitterBufferState;
|
24
29
|
};
|
25
30
|
declare class SrtOutput extends CustomSinkNode {
|
26
31
|
norsk: Norsk;
|
@@ -8,6 +8,7 @@ const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
|
|
8
8
|
const srt_types_1 = require("../shared/srt-types");
|
9
9
|
const path_1 = __importDefault(require("path"));
|
10
10
|
const api_1 = require("@norskvideo/norsk-studio/lib/server/api");
|
11
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
11
12
|
class SrtOutput extends base_nodes_1.CustomSinkNode {
|
12
13
|
norsk;
|
13
14
|
cfg;
|
@@ -98,6 +99,10 @@ class SrtOutputDefinition {
|
|
98
99
|
type: 'metrics-updated',
|
99
100
|
metrics: (0, srt_types_1.extractSrtListenerMetricsForNode)(targetNodeId, latest)
|
100
101
|
});
|
102
|
+
node.runtime.updates.raiseEvent({
|
103
|
+
type: 'jitter-buffer-updated',
|
104
|
+
buffer: (0, jitter_buffer_inline_1.extractJitterBufferFromMetrics)(latest)
|
105
|
+
});
|
101
106
|
}
|
102
107
|
async instanceRoutes() {
|
103
108
|
return (0, api_1.defineApi)(path_1.default.join(__dirname, 'types.yaml'), {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.srt-listener/runtime.ts"],"names":[],"mappings":";;;;;AAEA,kFAAmF;AACnF,yEAAuE;AACvE,mDAAoH;AACpH,gDAAwB;AAExB,iEAAoE;
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.srt-listener/runtime.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import type { UdpTsOutputSettings } from "./runtime";
|
1
|
+
import type { UdpTsOutputEvent, UdpTsOutputSettings, UdpTsOutputState } from "./runtime";
|
2
2
|
import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
|
3
|
-
export default function ({ defineComponent, All, validation: { Port, Hostname, JitterBuffer, Iface, Z }, }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<UdpTsOutputSettings,
|
3
|
+
export default function ({ defineComponent, All, validation: { Port, Hostname, JitterBuffer, Iface, Z }, }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<UdpTsOutputSettings, UdpTsOutputState, object, UdpTsOutputEvent>;
|
package/lib/output.udpTs/info.js
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
exports.default = default_1;
|
7
|
+
const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
|
4
8
|
const FaNetworkWired_1 = require("@react-icons/all-files/fa/FaNetworkWired");
|
9
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
10
|
+
const inline_view_1 = __importDefault(require("./inline-view"));
|
5
11
|
function default_1({ defineComponent, All, validation: { Port, Hostname, JitterBuffer, Iface, Z }, }) {
|
6
12
|
return defineComponent({
|
7
13
|
identifier: 'output.udpTs',
|
@@ -16,6 +22,24 @@ function default_1({ defineComponent, All, validation: { Port, Hostname, JitterB
|
|
16
22
|
streams: () => All.map((media) => ({ media }))
|
17
23
|
},
|
18
24
|
},
|
25
|
+
runtime: {
|
26
|
+
initialState: () => ({
|
27
|
+
jitterBuffer: (0, jitter_buffer_inline_1.initialJitterBufferState)()
|
28
|
+
}),
|
29
|
+
handleEvent(ev, state) {
|
30
|
+
const evType = ev.type;
|
31
|
+
switch (evType) {
|
32
|
+
case 'jitter-buffer-updated':
|
33
|
+
state.jitterBuffer = ev.buffer;
|
34
|
+
break;
|
35
|
+
default:
|
36
|
+
(0, util_1.assertUnreachable)(evType);
|
37
|
+
}
|
38
|
+
return { ...state };
|
39
|
+
},
|
40
|
+
inline: inline_view_1.default,
|
41
|
+
metrics: []
|
42
|
+
},
|
19
43
|
display: (desc) => {
|
20
44
|
return {
|
21
45
|
port: desc.config.port.toString(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.udpTs/info.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.udpTs/info.ts"],"names":[],"mappings":";;;;;AAQA,4BA2DC;AAjED,mEAA6E;AAC7E,6EAA0E;AAC1E,yEAA0E;AAC1E,gEAAuC;AAGvC,mBAAwB,EACtB,eAAe,EACf,GAAG,EACH,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,GACzC;IACb,OAAO,eAAe,CAA8E;QAClG,UAAU,EAAE,cAAc;QAC1B,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8KAA8K;QAC3L,IAAI,EAAE,+BAAc;QACpB,YAAY,EAAE;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C;SACF;QACD,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnB,YAAY,EAAE,IAAA,+CAAwB,GAAE;aACzC,CAAC;YACF,WAAW,CAAC,EAAE,EAAE,KAAK;gBACnB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,uBAAuB;wBAC1B,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC;wBAC/B,MAAM;oBACR;wBACE,IAAA,wBAAiB,EAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,EAAE,qBAAU;YAClB,OAAO,EAAE,EAER;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACjC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;gBAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,MAAM;aAC/D,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,0CAA0C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC3H,eAAe,EAAE,EAAE,IAAI,EAAE,yDAAyD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;gBAC7J,aAAa,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBAC/I,SAAS,EAAE,EAAE,IAAI,EAAE,2CAA2C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBACjK,KAAK,EAAE;oBACL,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACvC;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const jitter_buffer_inline_1 = __importDefault(require("../shared/jitter-buffer-inline"));
|
8
|
+
function InlineView({ state }) {
|
9
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "srt-output", children: (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(jitter_buffer_inline_1.default, { ...state.jitterBuffer }) }) }));
|
10
|
+
}
|
11
|
+
exports.default = InlineView;
|
12
|
+
//# sourceMappingURL=inline-view.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.udpTs/inline-view.tsx"],"names":[],"mappings":";;;;;;AAAA,0FAAgE;AAIhE,SAAS,UAAU,CAAC,EAAE,KAAK,EAA+B;IACxD,OAAO,CACL,gCAAK,SAAS,EAAC,YAAY,YACzB,0CACE,uBAAC,8BAAkB,OAAK,KAAK,CAAC,YAAY,GAAI,GAC1C,GACF,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
|
@@ -1,11 +1,31 @@
|
|
1
|
-
import { Norsk, UdpTsOutputSettings as SdkSettings } from '@norskvideo/norsk-sdk';
|
2
|
-
import { OnCreated, ServerComponentDefinition } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
|
3
|
-
import {
|
1
|
+
import { Norsk, UdpTsOutputSettings as SdkSettings, UdpTsOutputNode } from '@norskvideo/norsk-sdk';
|
2
|
+
import { OnCreated, ServerComponentDefinition, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
|
3
|
+
import { CustomSinkNode } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
|
4
|
+
import { JitterBufferState } from '../shared/jitter-buffer-inline';
|
4
5
|
export type UdpTsOutputSettings = Pick<SdkSettings, 'port' | 'destinationHost' | 'interface' | 'bufferDelayMs' | 'avDelayMs'> & {
|
5
6
|
id: string;
|
6
7
|
displayName: string;
|
7
8
|
notes?: string;
|
8
9
|
};
|
9
|
-
export
|
10
|
-
|
10
|
+
export type UdpTsOutputState = {
|
11
|
+
jitterBuffer: JitterBufferState;
|
12
|
+
};
|
13
|
+
export type UdpTsOutputEvent = {
|
14
|
+
type: 'jitter-buffer-updated';
|
15
|
+
buffer: JitterBufferState;
|
16
|
+
};
|
17
|
+
export type UdpTsOutputCommand = object;
|
18
|
+
export default class UdpTsOutputDefinition implements ServerComponentDefinition<UdpTsOutputSettings, UdpTsOutput, UdpTsOutputState, UdpTsOutputCommand, UdpTsOutputEvent> {
|
19
|
+
create(norsk: Norsk, cfg: UdpTsOutputSettings, cb: OnCreated<UdpTsOutput>, runtime: StudioRuntime<UdpTsOutputState, UdpTsOutputCommand, UdpTsOutputEvent>): Promise<void>;
|
20
|
+
handleMetricsUpdate(node: UdpTsOutput): Promise<void>;
|
21
|
+
}
|
22
|
+
export declare class UdpTsOutput extends CustomSinkNode<UdpTsOutputState, UdpTsOutputCommand, UdpTsOutputEvent> {
|
23
|
+
norsk: Norsk;
|
24
|
+
cfg: UdpTsOutputSettings;
|
25
|
+
node: UdpTsOutputNode | null;
|
26
|
+
initialised: Promise<void>;
|
27
|
+
runtime: StudioRuntime<UdpTsOutputState, UdpTsOutputCommand, UdpTsOutputEvent>;
|
28
|
+
static create(norsk: Norsk, cfg: UdpTsOutputSettings, runtime: StudioRuntime<UdpTsOutputState, UdpTsOutputCommand, UdpTsOutputEvent>): Promise<UdpTsOutput>;
|
29
|
+
constructor(cfg: UdpTsOutputSettings, norsk: Norsk, runtime: StudioRuntime<UdpTsOutputState, UdpTsOutputCommand, UdpTsOutputEvent>);
|
30
|
+
initialise(): Promise<void>;
|
11
31
|
}
|