@norskvideo/norsk-studio-built-ins 1.27.0-2025-03-25-b3450d18 → 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 +14888 -13757
- package/client/style.css +6 -10
- package/lib/info.js +6 -4
- package/lib/info.js.map +1 -1
- package/lib/input.rtmp/info.js +2 -0
- package/lib/input.rtmp/info.js.map +1 -1
- package/lib/input.silence/info.js +2 -0
- package/lib/input.silence/info.js.map +1 -1
- package/lib/input.srt-caller/info.d.ts +2 -2
- package/lib/input.srt-caller/info.js +39 -0
- package/lib/input.srt-caller/info.js.map +1 -1
- package/lib/input.srt-caller/inline-view.d.ts +6 -0
- package/lib/input.srt-caller/inline-view.js +10 -0
- package/lib/input.srt-caller/inline-view.js.map +1 -0
- package/lib/input.srt-caller/runtime.d.ts +25 -5
- package/lib/input.srt-caller/runtime.js +56 -24
- package/lib/input.srt-caller/runtime.js.map +1 -1
- package/lib/input.srt-listener/info.js +27 -1
- package/lib/input.srt-listener/info.js.map +1 -1
- package/lib/input.srt-listener/inline-view.js +1 -1
- package/lib/input.srt-listener/inline-view.js.map +1 -1
- package/lib/input.srt-listener/runtime.d.ts +8 -1
- package/lib/input.srt-listener/runtime.js +14 -3
- package/lib/input.srt-listener/runtime.js.map +1 -1
- package/lib/input.udp-ts/info.js +2 -0
- package/lib/input.udp-ts/info.js.map +1 -1
- package/lib/input.videoTestCard/info.js +2 -0
- package/lib/input.videoTestCard/info.js.map +1 -1
- package/lib/output.autoCmaf/info.js +2 -0
- package/lib/output.autoCmaf/info.js.map +1 -1
- package/lib/output.autoHls/info.js +2 -0
- package/lib/output.autoHls/info.js.map +1 -1
- package/lib/output.facebook/info.js +2 -0
- package/lib/output.facebook/info.js.map +1 -1
- package/lib/output.linkedin/info.js +2 -0
- package/lib/output.linkedin/info.js.map +1 -1
- package/lib/output.preview/info.js +2 -0
- package/lib/output.preview/info.js.map +1 -1
- package/lib/output.rtmp/info.d.ts +2 -0
- package/lib/output.rtmp/info.js +10 -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 +12 -4
- 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 +7 -7
- package/lib/output.srt-caller/runtime.js +7 -7
- package/lib/output.srt-caller/runtime.js.map +1 -1
- package/lib/output.srt-listener/info.js +10 -4
- 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 +7 -7
- package/lib/output.srt-listener/runtime.js +7 -10
- package/lib/output.srt-listener/runtime.js.map +1 -1
- package/lib/output.statistics/info.js +2 -0
- package/lib/output.statistics/info.js.map +1 -1
- package/lib/output.twitch/info.js +2 -0
- package/lib/output.twitch/info.js.map +1 -1
- package/lib/output.udpTs/info.d.ts +2 -2
- package/lib/output.udpTs/info.js +26 -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/output.whep/info.js +2 -0
- package/lib/output.whep/info.js.map +1 -1
- package/lib/output.youtube/info.js +2 -0
- package/lib/output.youtube/info.js.map +1 -1
- package/lib/processor.audioEncoder/info.js +2 -0
- package/lib/processor.audioEncoder/info.js.map +1 -1
- package/lib/processor.browserOverlay/info.js +2 -0
- package/lib/processor.browserOverlay/info.js.map +1 -1
- package/lib/processor.cascadingSwitch/info.js +2 -0
- package/lib/processor.cascadingSwitch/info.js.map +1 -1
- package/lib/processor.fixedLadder/info.js +2 -0
- package/lib/processor.fixedLadder/info.js.map +1 -1
- package/lib/processor.makeProgram/info.js +2 -0
- package/lib/processor.makeProgram/info.js.map +1 -1
- package/lib/processor.multiview/info.d.ts +21 -0
- package/lib/processor.multiview/info.js +130 -0
- package/lib/processor.multiview/info.js.map +1 -0
- package/lib/processor.multiview/runtime.d.ts +43 -0
- package/lib/processor.multiview/runtime.js +254 -0
- package/lib/processor.multiview/runtime.js.map +1 -0
- package/lib/processor.onscreenGraphic/info.js +2 -0
- package/lib/processor.onscreenGraphic/info.js.map +1 -1
- package/lib/processor.streamKeyOverride/info.js +2 -0
- package/lib/processor.streamKeyOverride/info.js.map +1 -1
- package/lib/processor.videoDecoder/info.js +2 -0
- package/lib/processor.videoDecoder/info.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/srt-caller-metrics.d.ts +8 -0
- package/lib/shared/srt-caller-metrics.js +13 -0
- package/lib/shared/srt-caller-metrics.js.map +1 -0
- package/lib/shared/srt-listener-metrics.d.ts +9 -0
- package/lib/shared/srt-listener-metrics.js +12 -0
- package/lib/shared/srt-listener-metrics.js.map +1 -0
- package/lib/shared/srt-types.d.ts +17 -0
- package/lib/shared/srt-types.js +25 -0
- package/lib/shared/srt-types.js.map +1 -1
- package/lib/shared/stream-statistics-view.d.ts +3 -0
- package/lib/shared/stream-statistics-view.js +132 -0
- package/lib/shared/stream-statistics-view.js.map +1 -0
- package/lib/test/multiview.d.ts +1 -0
- package/lib/test/multiview.js +237 -0
- package/lib/test/multiview.js.map +1 -0
- package/lib/test/udp-output.js +1 -1
- package/lib/test/udp-output.js.map +1 -1
- package/lib/util.stats.latency/info.js +2 -0
- package/lib/util.stats.latency/info.js.map +1 -1
- package/package.json +7 -5
- package/lib/output.srt-caller/srt-packet-metrics.d.ts +0 -4
- package/lib/output.srt-caller/srt-packet-metrics.js +0 -10
- package/lib/output.srt-caller/srt-packet-metrics.js.map +0 -1
- package/lib/output.srt-listener/srt-packet-metrics.d.ts +0 -4
- package/lib/output.srt-listener/srt-packet-metrics.js +0 -12
- package/lib/output.srt-listener/srt-packet-metrics.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.srt-caller/runtime.ts"],"names":[],"mappings":";;;;;AAEA,kFAAmF;AACnF,yEAAuE;
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.srt-caller/runtime.ts"],"names":[],"mappings":"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"}
|
@@ -8,8 +8,9 @@ const srt_socket_options_1 = __importDefault(require("../shared/srt-socket-optio
|
|
8
8
|
const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
|
9
9
|
const summary_view_1 = __importDefault(require("./summary-view"));
|
10
10
|
const inline_view_1 = __importDefault(require("./inline-view"));
|
11
|
-
const
|
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;
|
@@ -39,8 +40,10 @@ function default_1(registration) {
|
|
39
40
|
connectionCount: 0,
|
40
41
|
packetsLost: [],
|
41
42
|
packetsResent: [],
|
42
|
-
packetsSent: []
|
43
|
-
|
43
|
+
packetsSent: [],
|
44
|
+
packetsReceived: []
|
45
|
+
},
|
46
|
+
jitterBuffer: (0, jitter_buffer_inline_1.initialJitterBufferState)()
|
44
47
|
}),
|
45
48
|
handleEvent(ev, state) {
|
46
49
|
const evType = ev.type;
|
@@ -54,6 +57,9 @@ function default_1(registration) {
|
|
54
57
|
case 'metrics-updated':
|
55
58
|
state.metrics = ev.metrics;
|
56
59
|
break;
|
60
|
+
case 'jitter-buffer-updated':
|
61
|
+
state.jitterBuffer = ev.buffer;
|
62
|
+
break;
|
57
63
|
default:
|
58
64
|
(0, util_1.assertUnreachable)(evType);
|
59
65
|
}
|
@@ -62,7 +68,7 @@ function default_1(registration) {
|
|
62
68
|
summary: summary_view_1.default,
|
63
69
|
inline: inline_view_1.default,
|
64
70
|
metrics: [
|
65
|
-
{ title: "SRT Transmission", view:
|
71
|
+
{ title: "SRT Transmission", view: srt_listener_metrics_1.default }
|
66
72
|
]
|
67
73
|
},
|
68
74
|
configForm: {
|
@@ -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":";;;;;AAUA,4BAmGC;AA3GD,sFAA4D;AAC5D,mEAA6E;AAC7E,kEAAyC;AACzC,gEAAuC;AACvC,0FAAiE;AACjE,6DAA8D;AAC9D,yEAA0E;AAE1E,mBAAwB,YAA0B;IAChD,MAAM,EACJ,eAAe,EACf,GAAG,EACH,UAAU,GACX,GAAG,YAAY,CAAC;IACjB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAEhF,OAAO,eAAe,CAAsE;QAC1F,UAAU,EAAE,qBAAqB;QACjC,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,wOAAwO;QACrP,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,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,MAAM;aAC/D,CAAA;QACH,CAAC;QACD,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP,eAAe,EAAE,CAAC;oBAClB,WAAW,EAAE,EAAE;oBACf,aAAa,EAAE,EAAE;oBACjB,WAAW,EAAE,EAAE;oBACf,eAAe,EAAE,EAAE;iBACpB;gBACD,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,gBAAgB;wBACnB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;wBACrB,MAAM;oBACR,KAAK,iBAAiB;wBACpB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;wBACtB,MAAM;oBACR,KAAK,iBAAiB;wBACpB,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;wBAC3B,MAAM;oBACR,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,OAAO,EAAE,sBAAW;YACpB,MAAM,EAAE,qBAAU;YAClB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,8BAAoB,EAAE;aAC1D;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yCAAyC;oBAC/C,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,UAAU,EAAE,IAAI;wBAChB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE;4BACN,UAAU,EAAE,QAAQ;4BACpB,GAAG,EAAE,MAAM;yBACZ;qBACF;iBACF;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,wDAAwD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;gBAC/I,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,4EAA4E,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC1K,UAAU,EAAE,EAAE,IAAI,EAAE,8CAA8C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE;gBACvI,QAAQ,EAAE,EAAE,IAAI,EAAE,0DAA0D,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE;gBAC/I,aAAa,EAAE;oBACb,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE;wBACJ,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,oCAAmB;wBACzB,IAAI,EAAE,IAAA,4BAAgB,EAAC,UAAU,CAAC;qBACnC;iBACF;gBACD,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"}
|
@@ -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"}
|
@@ -1,22 +1,19 @@
|
|
1
1
|
import { Norsk, SrtOutputSettings as SdkSettings, SrtOutputNode } from '@norskvideo/norsk-sdk';
|
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
|
-
import type
|
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;
|
8
9
|
notes?: string;
|
9
10
|
socketOptions: SocketOptions;
|
10
11
|
};
|
12
|
+
export type SrtMetrics = SrtListenerMetrics;
|
11
13
|
export type SrtOutputState = {
|
12
14
|
enabled: boolean;
|
13
15
|
metrics: SrtMetrics;
|
14
|
-
|
15
|
-
export type SrtMetrics = {
|
16
|
-
connectionCount: number;
|
17
|
-
packetsLost: number[];
|
18
|
-
packetsResent: number[];
|
19
|
-
packetsSent: number[];
|
16
|
+
jitterBuffer: JitterBufferState;
|
20
17
|
};
|
21
18
|
export type SrtOutputCommand = {
|
22
19
|
type: 'enable-output' | 'disable-output';
|
@@ -26,6 +23,9 @@ export type SrtOutputEvent = {
|
|
26
23
|
} | {
|
27
24
|
type: 'metrics-updated';
|
28
25
|
metrics: SrtMetrics;
|
26
|
+
} | {
|
27
|
+
type: 'jitter-buffer-updated';
|
28
|
+
buffer: JitterBufferState;
|
29
29
|
};
|
30
30
|
declare class SrtOutput extends CustomSinkNode {
|
31
31
|
norsk: Norsk;
|
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const base_nodes_1 = require("@norskvideo/norsk-studio/lib/extension/base-nodes");
|
7
7
|
const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
|
8
|
+
const srt_types_1 = require("../shared/srt-types");
|
8
9
|
const path_1 = __importDefault(require("path"));
|
9
10
|
const api_1 = require("@norskvideo/norsk-studio/lib/server/api");
|
11
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
10
12
|
class SrtOutput extends base_nodes_1.CustomSinkNode {
|
11
13
|
norsk;
|
12
14
|
cfg;
|
@@ -93,19 +95,14 @@ class SrtOutputDefinition {
|
|
93
95
|
const targetNodeId = node.srtOutputNode?.id;
|
94
96
|
if (!targetNodeId)
|
95
97
|
return;
|
96
|
-
const matching = latest.filter((l) => l.nodeId == targetNodeId);
|
97
98
|
node.runtime.updates.raiseEvent({
|
98
99
|
type: 'metrics-updated',
|
99
|
-
metrics:
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
}
|
100
|
+
metrics: (0, srt_types_1.extractSrtListenerMetricsForNode)(targetNodeId, latest)
|
101
|
+
});
|
102
|
+
node.runtime.updates.raiseEvent({
|
103
|
+
type: 'jitter-buffer-updated',
|
104
|
+
buffer: (0, jitter_buffer_inline_1.extractJitterBufferFromMetrics)(latest)
|
105
105
|
});
|
106
|
-
function byIndex(l, r) {
|
107
|
-
return (l.labels['index'] ?? "").localeCompare(r.labels['index'] ?? "");
|
108
|
-
}
|
109
106
|
}
|
110
107
|
async instanceRoutes() {
|
111
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;
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.srt-listener/runtime.ts"],"names":[],"mappings":"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"}
|
@@ -6,12 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = default_1;
|
7
7
|
exports.assertUnreachable = assertUnreachable;
|
8
8
|
const inline_view_1 = __importDefault(require("./inline-view"));
|
9
|
+
const FaChartBar_1 = require("@react-icons/all-files/fa/FaChartBar");
|
9
10
|
function default_1({ defineComponent, All }) {
|
10
11
|
return defineComponent({
|
11
12
|
identifier: 'output.statistics',
|
12
13
|
category: 'output',
|
13
14
|
name: "Statistics",
|
14
15
|
description: "This component accepts multiple media streams, captures and reports metrics or statistical data related to the media streams.",
|
16
|
+
icon: FaChartBar_1.FaChartBar,
|
15
17
|
subscription: {
|
16
18
|
accepts: {
|
17
19
|
type: "dynamic-streams",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.statistics/info.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.statistics/info.ts"],"names":[],"mappings":";;;;;AAKA,4BAwCC;AAED,8CAEC;AA/CD,gEAAuC;AACvC,qEAAkE;AAElE,mBAAwB,EACtB,eAAe,EACf,GAAG,EACU;IAGb,OAAO,eAAe,CAAkG;QACtH,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+HAA+H;QAC5I,IAAI,EAAE,uBAAU;QAChB,YAAY,EAAE;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,iBAAiB;gBACvB,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,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,EAAE,EAAE,KAAK;gBACnB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,SAAS;wBACZ,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;wBAC5B,MAAM;oBACR;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,EAAE,qBAAU;SACnB;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;aACtF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAQ;IACxC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
|
@@ -2,11 +2,13 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.default = default_1;
|
4
4
|
const info_1 = require("../output.rtmp/info");
|
5
|
+
const FaTwitch_1 = require("@react-icons/all-files/fa/FaTwitch");
|
5
6
|
function default_1(r) {
|
6
7
|
const { validation: { Z } } = r;
|
7
8
|
return (0, info_1.defineRtmpOutputComponent)(r, {
|
8
9
|
identifier: 'output.twitch',
|
9
10
|
name: "Twitch Live",
|
11
|
+
icon: FaTwitch_1.FaTwitch,
|
10
12
|
description: "Stream directly to Twitch using RTMP",
|
11
13
|
configForm: {
|
12
14
|
form: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.twitch/info.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.twitch/info.ts"],"names":[],"mappings":";;AAKA,4BA0BC;AA/BD,8CAAgE;AAGhE,iEAA8D;AAE9D,mBAAwB,CAAe;IACrC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,IAAA,gCAAyB,EAAuB,CAAC,EAAE;QACxD,UAAU,EAAE,eAAe;QAC3B,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,mBAAQ;QACd,WAAW,EAAE,sCAAsC;QACnD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,SAAS,EAAE;oBACT,IAAI,EAAE,mDAAmD;oBACzD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC9B;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
@@ -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,12 +1,20 @@
|
|
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");
|
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"));
|
4
11
|
function default_1({ defineComponent, All, validation: { Port, Hostname, JitterBuffer, Iface, Z }, }) {
|
5
12
|
return defineComponent({
|
6
13
|
identifier: 'output.udpTs',
|
7
14
|
category: 'output',
|
8
15
|
name: "UDP TS Egest",
|
9
16
|
description: "This component outputs multiple media streams over UDP in TS (Transport Stream) format. It accepts multiple input streams and sends them to a specified IP address and port.",
|
17
|
+
icon: FaNetworkWired_1.FaNetworkWired,
|
10
18
|
subscription: {
|
11
19
|
accepts: {
|
12
20
|
type: 'dynamic-streams',
|
@@ -14,6 +22,24 @@ function default_1({ defineComponent, All, validation: { Port, Hostname, JitterB
|
|
14
22
|
streams: () => All.map((media) => ({ media }))
|
15
23
|
},
|
16
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
|
+
},
|
17
43
|
display: (desc) => {
|
18
44
|
return {
|
19
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
|
}
|
@@ -1,14 +1,46 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.UdpTsOutput = void 0;
|
3
4
|
const base_nodes_1 = require("@norskvideo/norsk-studio/lib/extension/base-nodes");
|
5
|
+
const jitter_buffer_inline_1 = require("../shared/jitter-buffer-inline");
|
4
6
|
class UdpTsOutputDefinition {
|
5
|
-
async create(norsk, cfg, cb) {
|
6
|
-
const wrapper =
|
7
|
-
return await norsk.output.udpTs(cfg);
|
8
|
-
});
|
7
|
+
async create(norsk, cfg, cb, runtime) {
|
8
|
+
const wrapper = await UdpTsOutput.create(norsk, cfg, runtime);
|
9
9
|
await wrapper.initialised;
|
10
10
|
cb(wrapper);
|
11
11
|
}
|
12
|
+
async handleMetricsUpdate(node) {
|
13
|
+
const latest = node.runtime.updates.latestMetrics();
|
14
|
+
node.runtime.updates.raiseEvent({
|
15
|
+
type: 'jitter-buffer-updated',
|
16
|
+
buffer: (0, jitter_buffer_inline_1.extractJitterBufferFromMetrics)(latest)
|
17
|
+
});
|
18
|
+
}
|
12
19
|
}
|
13
20
|
exports.default = UdpTsOutputDefinition;
|
21
|
+
class UdpTsOutput extends base_nodes_1.CustomSinkNode {
|
22
|
+
norsk;
|
23
|
+
cfg;
|
24
|
+
node = null;
|
25
|
+
initialised;
|
26
|
+
runtime;
|
27
|
+
static async create(norsk, cfg, runtime) {
|
28
|
+
const node = new UdpTsOutput(cfg, norsk, runtime);
|
29
|
+
await node.initialised;
|
30
|
+
return node;
|
31
|
+
}
|
32
|
+
constructor(cfg, norsk, runtime) {
|
33
|
+
super(cfg.id);
|
34
|
+
this.cfg = cfg;
|
35
|
+
this.id = cfg.id;
|
36
|
+
this.norsk = norsk;
|
37
|
+
this.runtime = runtime;
|
38
|
+
this.initialised = this.initialise();
|
39
|
+
}
|
40
|
+
async initialise() {
|
41
|
+
this.node = await this.norsk.output.udpTs(this.cfg);
|
42
|
+
this.setup({ sink: this.node, updates: this.runtime.updates });
|
43
|
+
}
|
44
|
+
}
|
45
|
+
exports.UdpTsOutput = UdpTsOutput;
|
14
46
|
//# sourceMappingURL=runtime.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.udpTs/runtime.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/output.udpTs/runtime.ts"],"names":[],"mappings":";;;AAEA,kFAAmF;AACnF,yEAAmG;AAoBnG,MAAqB,qBAAqB;IACxC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,GAAwB,EAAE,EAA0B,EAAE,OAA8E;QAC7J,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,OAAO,CAAC,WAAW,CAAC;QAC1B,EAAE,CAAC,OAAO,CAAC,CAAC;IACd,CAAC;IAGD,KAAK,CAAC,mBAAmB,CAAC,IAAiB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9B,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,IAAA,qDAA8B,EAAC,MAAM,CAAC;SAC/C,CAAC,CAAA;IACJ,CAAC;CACF;AAfD,wCAeC;AAED,MAAa,WAAY,SAAQ,2BAAsE;IACrG,KAAK,CAAQ;IACb,GAAG,CAAsB;IACzB,IAAI,GAA2B,IAAI,CAAC;IACpC,WAAW,CAAgB;IAC3B,OAAO,CAAwE;IAE/E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,GAAwB,EAAE,OAA8E;QACxI,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,WAAW,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,GAAwB,EAAE,KAAY,EAAE,OAA8E;QAChI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAChE,CAAC;CACF;AA1BD,kCA0BC"}
|
package/lib/output.whep/info.js
CHANGED
@@ -7,6 +7,7 @@ exports.default = default_1;
|
|
7
7
|
const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
|
8
8
|
const inline_view_1 = __importDefault(require("./inline-view"));
|
9
9
|
const summary_view_1 = __importDefault(require("./summary-view"));
|
10
|
+
const FaBroadcastTower_1 = require("@react-icons/all-files/fa/FaBroadcastTower");
|
10
11
|
function default_1(R) {
|
11
12
|
const { defineComponent, validation: { JitterBuffer }, } = R;
|
12
13
|
return defineComponent({
|
@@ -14,6 +15,7 @@ function default_1(R) {
|
|
14
15
|
category: 'output',
|
15
16
|
name: "WHEP Egest",
|
16
17
|
description: "This component allows us to use WebRTC egress for outputs.",
|
18
|
+
icon: FaBroadcastTower_1.FaBroadcastTower,
|
17
19
|
subscription: {
|
18
20
|
accepts: {
|
19
21
|
type: 'simple-stream',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.whep/info.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.whep/info.ts"],"names":[],"mappings":";;;;;AAUA,4BAwDC;AA/DD,uEAA6E;AAC7E,gEAAuC;AACvC,kEAAyC;AACzC,iFAA8E;AAI9E,mBAAwB,CAAe;IACrC,MAAM,EACJ,eAAe,EACf,UAAU,EAAE,EAAE,YAAY,EAAE,GAC7B,GAAG,CAAC,CAAC;IACN,OAAO,eAAe,CAA0E;QAC9F,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,mCAAgB;QACtB,YAAY,EAAE;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;aACZ;SACF;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAClC,GAAG,EAAE,CAAC,YAAY,CAAC;QACnB,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACvC,WAAW,CAAC,EAAE,EAAE,KAAK;gBACnB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,eAAe;wBAClB,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;wBACnB,MAAM;oBACR,KAAK,gBAAgB;wBACnB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;wBACrB,MAAM;oBACR,KAAK,iBAAiB;wBACpB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;wBACtB,MAAM;oBACR;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,EAAE,qBAAU;YAClB,OAAO,EAAE,sBAAW;SACrB;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,UAAU,EAAE,IAAA,yBAAgB,EAAC,CAAC,CAAC;aAChC;YACD,IAAI,EAAE;gBACJ,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,WAAW,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC1F,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;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
|
@@ -2,12 +2,14 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.default = default_1;
|
4
4
|
const info_1 = require("../output.rtmp/info");
|
5
|
+
const FaYoutube_1 = require("@react-icons/all-files/fa/FaYoutube");
|
5
6
|
function default_1(r) {
|
6
7
|
const { validation: { Z } } = r;
|
7
8
|
return (0, info_1.defineRtmpOutputComponent)(r, {
|
8
9
|
identifier: 'output.youtube',
|
9
10
|
name: "YouTube Live",
|
10
11
|
description: "Stream directly to YouTube Live using RTMP",
|
12
|
+
icon: FaYoutube_1.FaYoutube,
|
11
13
|
configForm: {
|
12
14
|
form: {
|
13
15
|
streamKey: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.youtube/info.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.youtube/info.ts"],"names":[],"mappings":";;AAKA,4BA0BC;AA/BD,8CAAgE;AAGhE,mEAAgE;AAEhE,mBAAwB,CAAe;IACrC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,IAAA,gCAAyB,EAAwB,CAAC,EAAE;QACzD,UAAU,EAAE,gBAAgB;QAC5B,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,qBAAS;QACf,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,SAAS,EAAE;oBACT,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC9B;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = default_1;
|
7
7
|
const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
|
8
8
|
const form_views_1 = __importDefault(require("./form-views"));
|
9
|
+
const FaMicrophone_1 = require("@react-icons/all-files/fa/FaMicrophone");
|
9
10
|
function default_1({ defineComponent, validation: { Z }, }) {
|
10
11
|
const format = (stat) => Math.floor(stat).toLocaleString('en-US', { maximumFractionDigits: 0 });
|
11
12
|
const Hz = (v) => ({ display: `${format(v)}Hz`, value: v });
|
@@ -14,6 +15,7 @@ function default_1({ defineComponent, validation: { Z }, }) {
|
|
14
15
|
category: 'processor',
|
15
16
|
name: "Audio Encoder",
|
16
17
|
description: "Explicit audio encode.",
|
18
|
+
icon: FaMicrophone_1.FaMicrophone,
|
17
19
|
subscription: {
|
18
20
|
accepts: {
|
19
21
|
type: 'simple-stream',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.audioEncoder/info.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.audioEncoder/info.ts"],"names":[],"mappings":"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"}
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.default = default_1;
|
7
7
|
const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
|
8
|
+
const FaWindowRestore_1 = require("@react-icons/all-files/fa/FaWindowRestore");
|
8
9
|
const summary_view_1 = __importDefault(require("./summary-view"));
|
9
10
|
const inline_view_1 = __importDefault(require("./inline-view"));
|
10
11
|
function default_1({ defineComponent, validation: { Z }, }) {
|
@@ -13,6 +14,7 @@ function default_1({ defineComponent, validation: { Z }, }) {
|
|
13
14
|
category: 'processor',
|
14
15
|
name: "Browser Overlay",
|
15
16
|
description: 'Capture a live URL and overlay onto a video',
|
17
|
+
icon: FaWindowRestore_1.FaWindowRestore,
|
16
18
|
subscription: {
|
17
19
|
accepts: {
|
18
20
|
type: 'simple-stream',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/info.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/info.ts"],"names":[],"mappings":";;;;;AAQA,4BA4DC;AAlED,uEAA+E;AAC/E,+EAA4E;AAE5E,kEAAyC;AACzC,gEAAuC;AAEvC,mBAAwB,EACtB,eAAe,EACf,UAAU,EAAE,EAAE,CAAC,EAAE,GACJ;IACb,OAAO,eAAe,CAAwF;QAC5G,UAAU,EAAE,0BAA0B;QACtC,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,iCAAe;QACrB,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,IAAI;aACZ;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,IAAI;aACZ;SACF;QACD,eAAe,EAAE,UAAS,GAAG;YAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;aACrB,CAAA;QACH,CAAC;QACD,OAAO,EAAE;YACP,OAAO,EAAE,sBAAW;YACpB,MAAM,EAAE,qBAAU;YAClB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI;aACd,CAAC;YACF,WAAW,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,aAAa;wBAChB,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;oBAC1C,KAAK,SAAS;wBACZ,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBACrC,KAAK,UAAU;wBACb,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;oBACtC;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;SACF;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAA,0BAAiB,GAAE;aAC9B;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;gBAC1H,KAAK,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;aACtF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
|
@@ -6,12 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = default_1;
|
7
7
|
const source_selection_1 = __importDefault(require("./source-selection"));
|
8
8
|
const inline_view_1 = __importDefault(require("./inline-view"));
|
9
|
+
const FaSlidersH_1 = require("@react-icons/all-files/fa/FaSlidersH");
|
9
10
|
function default_1({ defineComponent, Av, common: { Resolutions, FrameRates }, }) {
|
10
11
|
return defineComponent({
|
11
12
|
identifier: 'processor.cascadingSwitch',
|
12
13
|
category: 'processor',
|
13
14
|
name: "Cascading Switch",
|
14
15
|
description: "This component manages multiple A/V (audio and video) sources based on priority, allowing for the configuration of settings such as resolution, frame rate, sample rate, and channel layout.",
|
16
|
+
icon: FaSlidersH_1.FaSlidersH,
|
15
17
|
subscription: {
|
16
18
|
accepts: {
|
17
19
|
type: 'dynamic-streams',
|