@norskvideo/norsk-studio-built-ins 1.11.6 → 1.12.0-2025-01-27-b21c8c91
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/README.md +16 -0
- package/client/info.js +1278 -776
- package/client/output.whep/styles.css +9 -0
- package/client/style.css +501 -858
- package/lib/info.js +4 -8
- package/lib/info.js.map +1 -1
- package/lib/input.rtmp/info.js +2 -1
- package/lib/input.rtmp/info.js.map +1 -1
- package/lib/input.rtmp/openApi.d.ts +133 -0
- package/lib/input.rtmp/openApi.js +3 -0
- package/lib/input.rtmp/openApi.js.map +1 -0
- package/lib/input.rtmp/runtime.d.ts +24 -5
- package/lib/input.rtmp/runtime.js +166 -60
- package/lib/input.rtmp/runtime.js.map +1 -1
- package/lib/input.rtmp/summary-view.d.ts +3 -5
- package/lib/input.rtmp/summary-view.js +26 -6
- package/lib/input.rtmp/summary-view.js.map +1 -1
- package/lib/input.rtmp/types.yaml +99 -0
- package/lib/input.silence/info.js +3 -2
- package/lib/input.silence/info.js.map +1 -1
- package/lib/input.srt-caller/info.js +6 -5
- package/lib/input.srt-caller/info.js.map +1 -1
- package/lib/input.srt-caller/runtime.d.ts +1 -1
- package/lib/input.srt-listener/info.js +7 -5
- package/lib/input.srt-listener/info.js.map +1 -1
- package/lib/input.srt-listener/openApi.d.ts +133 -0
- package/lib/input.srt-listener/openApi.js +3 -0
- package/lib/input.srt-listener/openApi.js.map +1 -0
- package/lib/input.srt-listener/runtime.d.ts +26 -6
- package/lib/input.srt-listener/runtime.js +168 -57
- package/lib/input.srt-listener/runtime.js.map +1 -1
- package/lib/input.srt-listener/summary-view.d.ts +3 -5
- package/lib/input.srt-listener/summary-view.js +28 -4
- package/lib/input.srt-listener/summary-view.js.map +1 -1
- package/lib/input.srt-listener/types.yaml +99 -0
- package/lib/input.udp-ts/info.d.ts +1 -1
- package/lib/input.udp-ts/info.js +5 -4
- package/lib/input.udp-ts/info.js.map +1 -1
- package/lib/input.udp-ts/runtime.d.ts +1 -1
- package/lib/input.videoTestCard/info.d.ts +1 -1
- package/lib/input.videoTestCard/info.js +14 -4
- package/lib/input.videoTestCard/info.js.map +1 -1
- package/lib/output.autoCmaf/info.d.ts +2 -2
- package/lib/output.autoCmaf/info.js +65 -7
- package/lib/output.autoCmaf/info.js.map +1 -1
- package/lib/output.autoCmaf/runtime.d.ts +29 -9
- package/lib/output.autoCmaf/runtime.js +198 -60
- package/lib/output.autoCmaf/runtime.js.map +1 -1
- package/lib/output.autoCmaf/summary.js +26 -1
- package/lib/output.autoCmaf/summary.js.map +1 -1
- package/lib/output.autoCmaf/types.d.ts +101 -0
- package/lib/output.autoCmaf/types.js +3 -0
- package/lib/output.autoCmaf/types.js.map +1 -0
- package/lib/output.autoCmaf/types.yaml +28 -0
- package/lib/output.preview/info.js +4 -2
- package/lib/output.preview/info.js.map +1 -1
- package/lib/output.preview/inline-view.d.ts +2 -4
- package/lib/output.preview/inline-view.js +8 -4
- package/lib/output.preview/inline-view.js.map +1 -1
- package/lib/output.preview/runtime.d.ts +4 -3
- package/lib/output.preview/runtime.js +29 -18
- package/lib/output.preview/runtime.js.map +1 -1
- package/lib/output.rtmp/info.js +1 -0
- package/lib/output.rtmp/info.js.map +1 -1
- package/lib/output.rtmp/inline-view.js +2 -2
- package/lib/output.rtmp/runtime.d.ts +2 -2
- package/lib/output.rtmp/runtime.js.map +1 -1
- package/lib/output.srt/info.d.ts +2 -2
- package/lib/output.srt/info.js +26 -5
- package/lib/output.srt/info.js.map +1 -1
- package/lib/output.srt/runtime.d.ts +30 -5
- package/lib/output.srt/runtime.js +139 -5
- package/lib/output.srt/runtime.js.map +1 -1
- package/lib/output.srt/types.d.ts +101 -0
- package/lib/output.srt/types.js +3 -0
- package/lib/output.srt/types.js.map +1 -0
- package/lib/output.srt/types.yaml +31 -0
- package/lib/output.statistics/info.js +1 -0
- package/lib/output.statistics/info.js.map +1 -1
- package/lib/output.statistics/inline-view.js +3 -2
- package/lib/output.statistics/inline-view.js.map +1 -1
- package/lib/output.statistics/runtime.d.ts +1 -1
- package/lib/output.statistics/runtime.js.map +1 -1
- package/lib/output.udpTs/info.d.ts +1 -1
- package/lib/output.udpTs/info.js +4 -3
- package/lib/output.udpTs/info.js.map +1 -1
- package/lib/output.udpTs/runtime.d.ts +1 -1
- package/lib/output.whep/info.d.ts +2 -2
- package/lib/output.whep/info.js +48 -0
- package/lib/output.whep/info.js.map +1 -1
- package/lib/output.whep/inline-view.d.ts +4 -0
- package/lib/output.whep/inline-view.js +24 -0
- package/lib/output.whep/inline-view.js.map +1 -0
- package/lib/output.whep/runtime.d.ts +26 -5
- package/lib/output.whep/runtime.js +64 -13
- package/lib/output.whep/runtime.js.map +1 -1
- package/lib/output.whep/types.d.ts +101 -0
- package/lib/output.whep/types.js +3 -0
- package/lib/output.whep/types.js.map +1 -0
- package/lib/output.whep/types.yaml +30 -0
- package/lib/processor.browserOverlay/info.d.ts +2 -2
- package/lib/processor.browserOverlay/info.js +56 -2
- package/lib/processor.browserOverlay/info.js.map +1 -1
- package/lib/processor.browserOverlay/inline-view.d.ts +6 -0
- package/lib/processor.browserOverlay/inline-view.js +8 -0
- package/lib/processor.browserOverlay/inline-view.js.map +1 -0
- package/lib/processor.browserOverlay/openApi.d.ts +174 -0
- package/lib/processor.browserOverlay/openApi.js +3 -0
- package/lib/processor.browserOverlay/openApi.js.map +1 -0
- package/lib/processor.browserOverlay/runtime.d.ts +40 -6
- package/lib/processor.browserOverlay/runtime.js +151 -23
- package/lib/processor.browserOverlay/runtime.js.map +1 -1
- package/lib/processor.browserOverlay/summary-view.d.ts +4 -0
- package/lib/processor.browserOverlay/summary-view.js +27 -0
- package/lib/processor.browserOverlay/summary-view.js.map +1 -0
- package/lib/processor.browserOverlay/types.yaml +65 -0
- package/lib/processor.cascadingSwitch/info.js +4 -3
- package/lib/processor.cascadingSwitch/info.js.map +1 -1
- package/lib/processor.cascadingSwitch/inline-view.js +3 -3
- package/lib/processor.cascadingSwitch/runtime.d.ts +1 -1
- package/lib/processor.cascadingSwitch/runtime.js +2 -2
- package/lib/processor.cascadingSwitch/runtime.js.map +1 -1
- package/lib/processor.fixedLadder/codec-editor.js +1 -1
- package/lib/processor.fixedLadder/codec-editor.js.map +1 -1
- package/lib/processor.fixedLadder/codec-view.js +1 -1
- package/lib/processor.fixedLadder/codec-view.js.map +1 -1
- package/lib/processor.fixedLadder/info.js +4 -2
- package/lib/processor.fixedLadder/info.js.map +1 -1
- package/lib/processor.fixedLadder/rung-view.js +1 -1
- package/lib/processor.fixedLadder/rung-view.js.map +1 -1
- package/lib/processor.onscreenGraphic/image-selection.d.ts +9 -0
- package/lib/{processor.dynamicBug/bug-selection.js → processor.onscreenGraphic/image-selection.js} +10 -10
- package/lib/processor.onscreenGraphic/image-selection.js.map +1 -0
- package/lib/processor.onscreenGraphic/info.d.ts +3 -0
- package/lib/{processor.dynamicBug → processor.onscreenGraphic}/info.js +23 -16
- package/lib/processor.onscreenGraphic/info.js.map +1 -0
- package/lib/processor.onscreenGraphic/runtime.d.ts +91 -0
- package/lib/processor.onscreenGraphic/runtime.js +503 -0
- package/lib/processor.onscreenGraphic/runtime.js.map +1 -0
- package/lib/processor.onscreenGraphic/summary-view.d.ts +4 -0
- package/lib/processor.onscreenGraphic/summary-view.js +343 -0
- package/lib/processor.onscreenGraphic/summary-view.js.map +1 -0
- package/lib/processor.onscreenGraphic/types.d.ts +271 -0
- package/lib/processor.onscreenGraphic/types.js +3 -0
- package/lib/processor.onscreenGraphic/types.js.map +1 -0
- package/lib/processor.onscreenGraphic/types.yaml +211 -0
- package/lib/processor.streamKeyOverride/info.d.ts +3 -0
- package/lib/processor.streamKeyOverride/info.js +150 -0
- package/lib/processor.streamKeyOverride/info.js.map +1 -0
- package/lib/processor.streamKeyOverride/runtime.d.ts +54 -0
- package/lib/processor.streamKeyOverride/runtime.js +226 -0
- package/lib/processor.streamKeyOverride/runtime.js.map +1 -0
- package/lib/shared/drm/axinom.d.ts +2 -0
- package/lib/shared/drm/axinom.js +120 -0
- package/lib/shared/drm/axinom.js.map +1 -0
- package/lib/shared/drm/cpix.d.ts +24 -0
- package/lib/shared/drm/cpix.js +97 -0
- package/lib/shared/drm/cpix.js.map +1 -0
- package/lib/shared/drm/ezdrm.d.ts +2 -0
- package/lib/shared/drm/ezdrm.js +26 -0
- package/lib/shared/drm/ezdrm.js.map +1 -0
- package/lib/shared/srt-socket-options.js +6 -6
- package/lib/shared/srt-socket-options.js.map +1 -1
- package/lib/test/auto-cmaf.js +25 -17
- package/lib/test/auto-cmaf.js.map +1 -1
- package/lib/test/browser-overlay.js +1 -0
- package/lib/test/browser-overlay.js.map +1 -1
- package/lib/test/{dynamic-bug.js → onscreen-graphic.js} +139 -106
- package/lib/test/onscreen-graphic.js.map +1 -0
- package/lib/test/preview.js +3 -3
- package/lib/test/preview.js.map +1 -1
- package/lib/test/rtmp-input.js +6 -3
- package/lib/test/rtmp-input.js.map +1 -1
- package/lib/test/srt-input-caller.js +5 -5
- package/lib/test/srt-input-caller.js.map +1 -1
- package/lib/test/srt-input-listener.js +99 -18
- package/lib/test/srt-input-listener.js.map +1 -1
- package/lib/test/srt-output.js +2 -2
- package/lib/test/srt-output.js.map +1 -1
- package/lib/test/udp-output.js +2 -2
- package/lib/test/udp-output.js.map +1 -1
- package/lib/test/udp-ts-input.js +2 -2
- package/lib/test/udp-ts-input.js.map +1 -1
- package/lib/test/whep-output.js +8 -2
- package/lib/test/whep-output.js.map +1 -1
- package/lib/{util.latency → util.stats.latency}/info.js +2 -1
- package/lib/util.stats.latency/info.js.map +1 -0
- package/lib/util.stats.latency/inline-view.js.map +1 -0
- package/lib/{util.latency → util.stats.latency}/runtime.d.ts +1 -1
- package/lib/{util.latency → util.stats.latency}/runtime.js +2 -2
- package/lib/util.stats.latency/runtime.js.map +1 -0
- package/lib/util.stats.latency/source-node-selection.js.map +1 -0
- package/package.json +12 -5
- package/lib/processor.dynamicBug/bug-selection.d.ts +0 -9
- package/lib/processor.dynamicBug/bug-selection.js.map +0 -1
- package/lib/processor.dynamicBug/info.d.ts +0 -3
- package/lib/processor.dynamicBug/info.js.map +0 -1
- package/lib/processor.dynamicBug/runtime.d.ts +0 -64
- package/lib/processor.dynamicBug/runtime.js +0 -297
- package/lib/processor.dynamicBug/runtime.js.map +0 -1
- package/lib/processor.dynamicBug/summary-view.d.ts +0 -4
- package/lib/processor.dynamicBug/summary-view.js +0 -60
- package/lib/processor.dynamicBug/summary-view.js.map +0 -1
- package/lib/processor.whisper-transcribe/info.d.ts +0 -3
- package/lib/processor.whisper-transcribe/info.js +0 -43
- package/lib/processor.whisper-transcribe/info.js.map +0 -1
- package/lib/processor.whisper-transcribe/runtime.d.ts +0 -29
- package/lib/processor.whisper-transcribe/runtime.js +0 -83
- package/lib/processor.whisper-transcribe/runtime.js.map +0 -1
- package/lib/test/dynamic-bug.js.map +0 -1
- package/lib/util.latency/info.js.map +0 -1
- package/lib/util.latency/inline-view.js.map +0 -1
- package/lib/util.latency/runtime.js.map +0 -1
- package/lib/util.latency/source-node-selection.js.map +0 -1
- package/lib/util.ma35d/info.d.ts +0 -3
- package/lib/util.ma35d/info.js +0 -78
- package/lib/util.ma35d/info.js.map +0 -1
- package/lib/util.ma35d/inline-view.d.ts +0 -6
- package/lib/util.ma35d/inline-view.js +0 -76
- package/lib/util.ma35d/inline-view.js.map +0 -1
- package/lib/util.ma35d/runtime.d.ts +0 -21
- package/lib/util.ma35d/runtime.js +0 -49
- package/lib/util.ma35d/runtime.js.map +0 -1
- package/lib/util.timestamps/info.d.ts +0 -5
- package/lib/util.timestamps/info.js +0 -86
- package/lib/util.timestamps/info.js.map +0 -1
- package/lib/util.timestamps/inline-view.d.ts +0 -6
- package/lib/util.timestamps/inline-view.js +0 -94
- package/lib/util.timestamps/inline-view.js.map +0 -1
- package/lib/util.timestamps/runtime.d.ts +0 -29
- package/lib/util.timestamps/runtime.js +0 -40
- package/lib/util.timestamps/runtime.js.map +0 -1
- /package/lib/test/{dynamic-bug.d.ts → onscreen-graphic.d.ts} +0 -0
- /package/lib/{util.latency → util.stats.latency}/info.d.ts +0 -0
- /package/lib/{util.latency → util.stats.latency}/inline-view.d.ts +0 -0
- /package/lib/{util.latency → util.stats.latency}/inline-view.js +0 -0
- /package/lib/{util.latency → util.stats.latency}/source-node-selection.d.ts +0 -0
- /package/lib/{util.latency → util.stats.latency}/source-node-selection.js +0 -0
@@ -0,0 +1,99 @@
|
|
1
|
+
openapi: 3.0.0
|
2
|
+
info:
|
3
|
+
title: RTMP Input Component
|
4
|
+
version: 1.0.0
|
5
|
+
|
6
|
+
paths:
|
7
|
+
/disconnect:
|
8
|
+
post:
|
9
|
+
summary: Disconnect an RTMP stream
|
10
|
+
description: Disconnects an active RTMP stream by stream name
|
11
|
+
x-route-type: instance
|
12
|
+
requestBody:
|
13
|
+
description: The stream to disconnect
|
14
|
+
content:
|
15
|
+
application/json:
|
16
|
+
schema:
|
17
|
+
type: object
|
18
|
+
required: ['streamName']
|
19
|
+
properties:
|
20
|
+
streamName:
|
21
|
+
type: string
|
22
|
+
description: The name of the stream to disconnect
|
23
|
+
example: camera1
|
24
|
+
responses:
|
25
|
+
204:
|
26
|
+
description: The stream was successfully disconnected
|
27
|
+
404:
|
28
|
+
description: The specified stream was not found
|
29
|
+
content:
|
30
|
+
application/json:
|
31
|
+
schema:
|
32
|
+
type: object
|
33
|
+
properties:
|
34
|
+
error:
|
35
|
+
type: string
|
36
|
+
description: A description of the error
|
37
|
+
details:
|
38
|
+
type: string
|
39
|
+
description: Additional error details
|
40
|
+
500:
|
41
|
+
description: Failed to disconnect the stream
|
42
|
+
content:
|
43
|
+
application/json:
|
44
|
+
schema:
|
45
|
+
type: object
|
46
|
+
properties:
|
47
|
+
error:
|
48
|
+
type: string
|
49
|
+
description: A description of the error
|
50
|
+
details:
|
51
|
+
type: string
|
52
|
+
description: Additional error details
|
53
|
+
|
54
|
+
/reconnect:
|
55
|
+
post:
|
56
|
+
summary: Reconnect to an RTMP stream
|
57
|
+
description: Reconnects a previously disconnected RTMP stream
|
58
|
+
x-route-type: instance
|
59
|
+
requestBody:
|
60
|
+
description: The stream to reconnect
|
61
|
+
content:
|
62
|
+
application/json:
|
63
|
+
schema:
|
64
|
+
type: object
|
65
|
+
required: ['streamName']
|
66
|
+
properties:
|
67
|
+
streamName:
|
68
|
+
type: string
|
69
|
+
description: The name of the stream to reconnect
|
70
|
+
example: camera1
|
71
|
+
responses:
|
72
|
+
204:
|
73
|
+
description: The stream was successfully reconnected
|
74
|
+
400:
|
75
|
+
description: Stream is already connected or invalid request
|
76
|
+
content:
|
77
|
+
application/json:
|
78
|
+
schema:
|
79
|
+
type: object
|
80
|
+
properties:
|
81
|
+
error:
|
82
|
+
type: string
|
83
|
+
description: A description of the error
|
84
|
+
details:
|
85
|
+
type: string
|
86
|
+
description: Additional error details
|
87
|
+
500:
|
88
|
+
description: Failed to reconnect stream
|
89
|
+
content:
|
90
|
+
application/json:
|
91
|
+
schema:
|
92
|
+
type: object
|
93
|
+
properties:
|
94
|
+
error:
|
95
|
+
type: string
|
96
|
+
description: A description of the error
|
97
|
+
details:
|
98
|
+
type: string
|
99
|
+
description: Additional error details
|
@@ -6,6 +6,7 @@ function default_1({ defineComponent, Audio }) {
|
|
6
6
|
identifier: 'input.silence',
|
7
7
|
category: 'input',
|
8
8
|
name: "Silence Generator",
|
9
|
+
description: "A component that produces silent audio streams with configurable sample rate and channel layout.",
|
9
10
|
subscription: {
|
10
11
|
produces: {
|
11
12
|
type: "single-stream",
|
@@ -14,14 +15,14 @@ function default_1({ defineComponent, Audio }) {
|
|
14
15
|
},
|
15
16
|
display: (desc) => {
|
16
17
|
return {
|
17
|
-
sampleRate: desc.config.sampleRate.toString() + "
|
18
|
+
sampleRate: desc.config.sampleRate.toString() + "Hz",
|
18
19
|
channelLayout: desc.config.channelLayout.toString()
|
19
20
|
};
|
20
21
|
},
|
21
22
|
configForm: {
|
22
23
|
form: {
|
23
24
|
sampleRate: {
|
24
|
-
help: "Samplerate in
|
25
|
+
help: "Samplerate in Hz of the generated audio",
|
25
26
|
hint: {
|
26
27
|
type: 'select', options: [
|
27
28
|
{ value: 48000, display: "48000" },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.silence/info.ts"],"names":[],"mappings":";;AAGA,
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.silence/info.ts"],"names":[],"mappings":";;AAGA,4BA2CC;AA3CD,mBAAwB,EAAE,eAAe,EAAE,KAAK,EAAgB;IAC9D,OAAO,eAAe,CAAgB;QACpC,UAAU,EAAE,eAAe;QAC3B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kGAAkG;QAC/G,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI;gBACpD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE;aACpD,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,UAAU,EAAE;oBACV,IAAI,EAAE,yCAAyC;oBAC/C,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;4BACvB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;4BAClC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;yBACnC;wBACD,YAAY,EAAE,KAAK;qBACpB;iBACF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,uCAAuC;oBAC7C,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;4BACvB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;4BAClC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;yBACvC;wBACD,YAAY,EAAE,QAAQ;qBACvB;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
@@ -30,7 +30,7 @@ exports.default = default_1;
|
|
30
30
|
const srt_socket_options_1 = __importDefault(require("../shared/srt-socket-options"));
|
31
31
|
const react_1 = __importDefault(require("react"));
|
32
32
|
function default_1({ defineComponent, Av, validation: validation }) {
|
33
|
-
const { Port,
|
33
|
+
const { Port, Hostname, SourceName, SrtPassphrase, SrtStreamId } = validation;
|
34
34
|
const SocketConfiguration = react_1.default.lazy(async () => {
|
35
35
|
const views = await Promise.resolve().then(() => __importStar(require('../shared/srt-form-views')));
|
36
36
|
return { default: views.SocketConfiguration };
|
@@ -39,6 +39,7 @@ function default_1({ defineComponent, Av, validation: validation }) {
|
|
39
39
|
identifier: 'input.srt-caller',
|
40
40
|
category: 'input',
|
41
41
|
name: "SRT Ingest (Caller)",
|
42
|
+
description: "This component allows you to receive Secure Reliable Transport (SRT) streams by calling a remote SRT listener.",
|
42
43
|
subscription: {
|
43
44
|
accepts: undefined,
|
44
45
|
produces: {
|
@@ -49,16 +50,16 @@ function default_1({ defineComponent, Av, validation: validation }) {
|
|
49
50
|
display: (desc) => {
|
50
51
|
return {
|
51
52
|
port: desc.config.port.toString(),
|
52
|
-
ip: desc.config.
|
53
|
+
ip: desc.config.host
|
53
54
|
};
|
54
55
|
},
|
55
56
|
configForm: {
|
56
57
|
form: {
|
57
58
|
port: { help: "The port this SRT input will connect to", hint: { type: 'numeric', validation: Port, defaultValue: 5001 } },
|
58
|
-
|
59
|
+
host: { help: "The IP address/hostname this SRT input will connect to", hint: { type: 'text', validation: Hostname, defaultValue: "0.0.0.0" } },
|
59
60
|
sourceName: { help: "Source name to identify this by", hint: { type: 'text', validation: SourceName, defaultValue: "camera1" } },
|
60
|
-
passphrase: { help: "Optional: Authentication for this SRT input", hint: { type: 'text', validation: SrtPassphrase } },
|
61
|
-
streamId: { help: "Optional: StreamId to use when calling the remote listener", hint: { type: 'text', validation: SrtStreamId } },
|
61
|
+
passphrase: { help: "Optional: Authentication for this SRT input", hint: { type: 'text', optional: true, validation: SrtPassphrase } },
|
62
|
+
streamId: { help: "Optional: StreamId to use when calling the remote listener", hint: { type: 'text', optional: true, validation: SrtStreamId } },
|
62
63
|
socketOptions: {
|
63
64
|
help: "Socket Options",
|
64
65
|
hint: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.srt-caller/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.srt-caller/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,4BA+CC;AAnDD,sFAA4D;AAE5D,kDAA0B;AAE1B,mBAAwB,EACtB,eAAe,EACf,EAAE,EACF,UAAU,EAAE,UAAU,EACT;IACb,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAC9E,MAAM,mBAAmB,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAChD,MAAM,KAAK,GAAG,wDAAa,0BAA0B,GAAC,CAAA;QACtD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAA;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CACpB;QACE,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,gHAAgH;QAC7H,YAAY,EAAE;YACZ,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACjC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;aACrB,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC1H,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,UAAU,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;gBAChI,UAAU,EAAE,EAAE,IAAI,EAAE,6CAA6C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE;gBACtI,QAAQ,EAAE,EAAE,IAAI,EAAE,4DAA4D,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE;gBACjJ,aAAa,EAAE;oBACb,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE;wBACJ,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,IAAA,4BAAgB,EAAC,UAAU,CAAC;qBACnC;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACP,CAAC"}
|
@@ -2,7 +2,7 @@ import { Norsk, SrtInputSettings as SdkSettings } from '@norskvideo/norsk-sdk';
|
|
2
2
|
import { SocketOptions } from '../shared/srt-types';
|
3
3
|
import { SimpleInputWrapper } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
|
4
4
|
import { OnCreated, ServerComponentDefinition, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
|
5
|
-
export type SrtInputSettings = Pick<SdkSettings, 'port' | '
|
5
|
+
export type SrtInputSettings = Pick<SdkSettings, 'port' | 'host' | 'sourceName' | 'passphrase' | 'streamId'> & {
|
6
6
|
id: string;
|
7
7
|
displayName: string;
|
8
8
|
socketOptions: SocketOptions;
|
@@ -32,7 +32,7 @@ const InlineView = react_1.default.lazy(async () => Promise.resolve().then(() =>
|
|
32
32
|
const SummaryView = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./summary-view'))));
|
33
33
|
const srt_socket_options_1 = __importDefault(require("../shared/srt-socket-options"));
|
34
34
|
function default_1({ defineComponent, Av, validation }) {
|
35
|
-
const { Z, Port,
|
35
|
+
const { Z, Port, Hostname, SourceName, SrtPassphrase, unique } = validation;
|
36
36
|
const SocketConfiguration = react_1.default.lazy(async () => {
|
37
37
|
const views = await Promise.resolve().then(() => __importStar(require('../shared/srt-form-views')));
|
38
38
|
return { default: views.SocketConfiguration };
|
@@ -41,6 +41,7 @@ function default_1({ defineComponent, Av, validation }) {
|
|
41
41
|
identifier: 'input.srt-listener',
|
42
42
|
category: 'input',
|
43
43
|
name: "SRT Ingest (Listener)",
|
44
|
+
description: "This component handles media ingest via the SRT(Secure Reliable Transport) protocol. It acts as a listener, receiving media streams from remote SRT sources and is highly configurable, allowing for custom IP addresses, ports, and stream handling behaviours.",
|
44
45
|
subscription: {
|
45
46
|
accepts: undefined,
|
46
47
|
produces: {
|
@@ -61,7 +62,7 @@ function default_1({ defineComponent, Av, validation }) {
|
|
61
62
|
display: (desc) => {
|
62
63
|
return {
|
63
64
|
port: desc.config.port.toString(),
|
64
|
-
ip: desc.config.
|
65
|
+
ip: desc.config.host
|
65
66
|
};
|
66
67
|
},
|
67
68
|
runtime: {
|
@@ -94,11 +95,11 @@ function default_1({ defineComponent, Av, validation }) {
|
|
94
95
|
envOverride: true
|
95
96
|
}
|
96
97
|
},
|
97
|
-
|
98
|
-
help: "The IP address this SRT input will listen on",
|
98
|
+
host: {
|
99
|
+
help: "The IP address/hostname this SRT input will listen on",
|
99
100
|
hint: {
|
100
101
|
type: 'text',
|
101
|
-
validation:
|
102
|
+
validation: Hostname,
|
102
103
|
defaultValue: "0.0.0.0",
|
103
104
|
envOverride: true
|
104
105
|
}
|
@@ -107,6 +108,7 @@ function default_1({ defineComponent, Av, validation }) {
|
|
107
108
|
help: "Optional: Authentication for this SRT input",
|
108
109
|
hint: {
|
109
110
|
type: 'text',
|
111
|
+
optional: true,
|
110
112
|
validation: SrtPassphrase,
|
111
113
|
envOverride: true,
|
112
114
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.srt-listener/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.srt-listener/info.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,133 @@
|
|
1
|
+
export interface paths {
|
2
|
+
"/disconnect": {
|
3
|
+
parameters: {
|
4
|
+
query?: never;
|
5
|
+
header?: never;
|
6
|
+
path?: never;
|
7
|
+
cookie?: never;
|
8
|
+
};
|
9
|
+
get?: never;
|
10
|
+
put?: never;
|
11
|
+
post: {
|
12
|
+
parameters: {
|
13
|
+
query?: never;
|
14
|
+
header?: never;
|
15
|
+
path?: never;
|
16
|
+
cookie?: never;
|
17
|
+
};
|
18
|
+
requestBody?: {
|
19
|
+
content: {
|
20
|
+
"application/json": {
|
21
|
+
streamId: string;
|
22
|
+
};
|
23
|
+
};
|
24
|
+
};
|
25
|
+
responses: {
|
26
|
+
204: {
|
27
|
+
headers: {
|
28
|
+
[name: string]: unknown;
|
29
|
+
};
|
30
|
+
content?: never;
|
31
|
+
};
|
32
|
+
404: {
|
33
|
+
headers: {
|
34
|
+
[name: string]: unknown;
|
35
|
+
};
|
36
|
+
content: {
|
37
|
+
"application/json": {
|
38
|
+
error?: string;
|
39
|
+
details?: string;
|
40
|
+
};
|
41
|
+
};
|
42
|
+
};
|
43
|
+
500: {
|
44
|
+
headers: {
|
45
|
+
[name: string]: unknown;
|
46
|
+
};
|
47
|
+
content: {
|
48
|
+
"application/json": {
|
49
|
+
error?: string;
|
50
|
+
details?: string;
|
51
|
+
};
|
52
|
+
};
|
53
|
+
};
|
54
|
+
};
|
55
|
+
};
|
56
|
+
delete?: never;
|
57
|
+
options?: never;
|
58
|
+
head?: never;
|
59
|
+
patch?: never;
|
60
|
+
trace?: never;
|
61
|
+
};
|
62
|
+
"/reconnect": {
|
63
|
+
parameters: {
|
64
|
+
query?: never;
|
65
|
+
header?: never;
|
66
|
+
path?: never;
|
67
|
+
cookie?: never;
|
68
|
+
};
|
69
|
+
get?: never;
|
70
|
+
put?: never;
|
71
|
+
post: {
|
72
|
+
parameters: {
|
73
|
+
query?: never;
|
74
|
+
header?: never;
|
75
|
+
path?: never;
|
76
|
+
cookie?: never;
|
77
|
+
};
|
78
|
+
requestBody?: {
|
79
|
+
content: {
|
80
|
+
"application/json": {
|
81
|
+
streamId: string;
|
82
|
+
};
|
83
|
+
};
|
84
|
+
};
|
85
|
+
responses: {
|
86
|
+
204: {
|
87
|
+
headers: {
|
88
|
+
[name: string]: unknown;
|
89
|
+
};
|
90
|
+
content?: never;
|
91
|
+
};
|
92
|
+
400: {
|
93
|
+
headers: {
|
94
|
+
[name: string]: unknown;
|
95
|
+
};
|
96
|
+
content: {
|
97
|
+
"application/json": {
|
98
|
+
error?: string;
|
99
|
+
details?: string;
|
100
|
+
};
|
101
|
+
};
|
102
|
+
};
|
103
|
+
500: {
|
104
|
+
headers: {
|
105
|
+
[name: string]: unknown;
|
106
|
+
};
|
107
|
+
content: {
|
108
|
+
"application/json": {
|
109
|
+
error?: string;
|
110
|
+
details?: string;
|
111
|
+
};
|
112
|
+
};
|
113
|
+
};
|
114
|
+
};
|
115
|
+
};
|
116
|
+
delete?: never;
|
117
|
+
options?: never;
|
118
|
+
head?: never;
|
119
|
+
patch?: never;
|
120
|
+
trace?: never;
|
121
|
+
};
|
122
|
+
}
|
123
|
+
export type webhooks = Record<string, never>;
|
124
|
+
export interface components {
|
125
|
+
schemas: never;
|
126
|
+
responses: never;
|
127
|
+
parameters: never;
|
128
|
+
requestBodies: never;
|
129
|
+
headers: never;
|
130
|
+
pathItems: never;
|
131
|
+
}
|
132
|
+
export type $defs = Record<string, never>;
|
133
|
+
export type operations = Record<string, never>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"openApi.js","sourceRoot":"","sources":["../../src/input.srt-listener/openApi.ts"],"names":[],"mappings":""}
|
@@ -1,8 +1,7 @@
|
|
1
|
-
import { Norsk, SrtInputSettings as SdkSettings } from '@norskvideo/norsk-sdk';
|
1
|
+
import { Norsk, SrtInputSettings as SdkSettings, SrtInputNode } from '@norskvideo/norsk-sdk';
|
2
2
|
import { SocketOptions } from '../shared/srt-types';
|
3
|
-
import {
|
4
|
-
|
5
|
-
export type SrtInputSettings = Pick<SdkSettings, 'port' | 'ip' | 'passphrase'> & {
|
3
|
+
import { CreatedMediaNode, InstanceRouteInfo, OnCreated, RelatedMediaNodes, RuntimeUpdates, ServerComponentDefinition, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
|
4
|
+
export type SrtInputSettings = Pick<SdkSettings, 'port' | 'host' | 'passphrase'> & {
|
6
5
|
id: string;
|
7
6
|
displayName: string;
|
8
7
|
sourceNames: 'permissive' | 'strict';
|
@@ -19,6 +18,27 @@ export type SrtInputEvent = {
|
|
19
18
|
type: "source-disconnected";
|
20
19
|
streamId: string;
|
21
20
|
};
|
22
|
-
export
|
23
|
-
|
21
|
+
export type SrtInputCommand = {
|
22
|
+
type: "disconnect-source";
|
23
|
+
streamId: string;
|
24
|
+
};
|
25
|
+
export declare class SrtInput implements CreatedMediaNode {
|
26
|
+
id: string;
|
27
|
+
relatedMediaNodes: RelatedMediaNodes;
|
28
|
+
norsk: Norsk;
|
29
|
+
cfg: SrtInputSettings;
|
30
|
+
activeStreams: Map<string, number>;
|
31
|
+
initialised: Promise<void>;
|
32
|
+
srtServer: SrtInputNode | null;
|
33
|
+
updates: RuntimeUpdates<SrtInputState, SrtInputCommand, SrtInputEvent>;
|
34
|
+
nodeCounter: number;
|
35
|
+
static create(norsk: Norsk, cfg: SrtInputSettings, updates: RuntimeUpdates<SrtInputState, SrtInputCommand, SrtInputEvent>): Promise<SrtInput>;
|
36
|
+
constructor(norsk: Norsk, cfg: SrtInputSettings, updates: RuntimeUpdates<SrtInputState, SrtInputCommand, SrtInputEvent>);
|
37
|
+
initialise(): Promise<void>;
|
38
|
+
disconnectStream(streamId: string): Promise<void>;
|
39
|
+
}
|
40
|
+
export default class SrtInputDefinition implements ServerComponentDefinition<SrtInputSettings, SrtInput, SrtInputState, SrtInputCommand> {
|
41
|
+
create(norsk: Norsk, cfg: SrtInputSettings, cb: OnCreated<SrtInput>, runtime: StudioRuntime<SrtInputState, SrtInputCommand, SrtInputEvent>): Promise<void>;
|
42
|
+
handleCommand(node: SrtInput, command: SrtInputCommand): Promise<void>;
|
43
|
+
instanceRoutes(): Promise<InstanceRouteInfo<SrtInputSettings, SrtInput, SrtInputState, SrtInputCommand>[]>;
|
24
44
|
}
|