@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-06-336ac6c6 → 1.27.0-2025-07-09-f9b24945

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.
Files changed (135) hide show
  1. package/client/info.js +665 -284
  2. package/client/style.css +46 -0
  3. package/lib/info.js +3 -1
  4. package/lib/info.js.map +1 -1
  5. package/lib/input.rtmp/info.d.ts +20 -1
  6. package/lib/input.rtmp/runtime.d.ts +20 -1
  7. package/lib/input.rtmp/types.d.ts +47 -27
  8. package/lib/input.rtmp/types.source.yaml +319 -0
  9. package/lib/input.rtmp/types.yaml +206 -131
  10. package/lib/input.silence/info.d.ts +4 -2
  11. package/lib/input.silence/types.d.ts +4 -7
  12. package/lib/input.silence/types.source.yaml +27 -0
  13. package/lib/input.silence/types.yaml +82 -4
  14. package/lib/input.srt-caller/info.d.ts +41 -4
  15. package/lib/input.srt-caller/types.d.ts +51 -43
  16. package/lib/input.srt-caller/types.source.yaml +70 -0
  17. package/lib/input.srt-caller/types.yaml +138 -24
  18. package/lib/input.srt-listener/info.d.ts +41 -4
  19. package/lib/input.srt-listener/runtime.d.ts +34 -3
  20. package/lib/input.srt-listener/types.d.ts +74 -44
  21. package/lib/input.srt-listener/types.source.yaml +329 -0
  22. package/lib/input.srt-listener/types.yaml +259 -132
  23. package/lib/input.udp-ts/info.d.ts +20 -1
  24. package/lib/input.udp-ts/types.d.ts +20 -25
  25. package/lib/input.udp-ts/types.source.yaml +40 -0
  26. package/lib/input.udp-ts/types.yaml +81 -3
  27. package/lib/input.videoTestCard/info.d.ts +8 -2
  28. package/lib/input.videoTestCard/types.d.ts +8 -10
  29. package/lib/input.videoTestCard/types.source.yaml +32 -0
  30. package/lib/input.videoTestCard/types.yaml +30 -6
  31. package/lib/input.whip/info.d.ts +7 -1
  32. package/lib/input.whip/types.d.ts +44 -28
  33. package/lib/input.whip/types.source.yaml +190 -0
  34. package/lib/input.whip/types.yaml +179 -104
  35. package/lib/output.autoCmaf/fullscreen.js +46 -1
  36. package/lib/output.autoCmaf/fullscreen.js.map +1 -1
  37. package/lib/output.autoCmaf/info.js +20 -0
  38. package/lib/output.autoCmaf/info.js.map +1 -1
  39. package/lib/output.autoCmaf/inline-view.d.ts +3 -2
  40. package/lib/output.autoCmaf/inline-view.js +72 -2
  41. package/lib/output.autoCmaf/inline-view.js.map +1 -1
  42. package/lib/output.autoCmaf/runtime.d.ts +2 -1
  43. package/lib/output.autoCmaf/runtime.js +41 -11
  44. package/lib/output.autoCmaf/runtime.js.map +1 -1
  45. package/lib/output.autoCmaf/types.d.ts +2 -0
  46. package/lib/output.autoCmaf/types.yaml +6 -0
  47. package/lib/output.cmafMultiVariant/runtime.js +2 -2
  48. package/lib/output.cmafMultiVariant/runtime.js.map +1 -1
  49. package/lib/output.cmafPlaylist/info.js +19 -0
  50. package/lib/output.cmafPlaylist/info.js.map +1 -1
  51. package/lib/output.cmafPlaylist/runtime.js +6 -3
  52. package/lib/output.cmafPlaylist/runtime.js.map +1 -1
  53. package/lib/output.cmafPlaylist/types.d.ts +1 -0
  54. package/lib/output.cmafPlaylist/types.yaml +3 -0
  55. package/lib/output.preview/inline-view.js +1 -1
  56. package/lib/output.preview/inline-view.js.map +1 -1
  57. package/lib/output.preview/runtime.js +2 -2
  58. package/lib/output.preview/runtime.js.map +1 -1
  59. package/lib/output.statistics/info.d.ts +172 -2
  60. package/lib/output.statistics/types.d.ts +400 -72
  61. package/lib/output.statistics/types.source.yaml +119 -0
  62. package/lib/output.statistics/types.yaml +333 -91
  63. package/lib/output.tsMediaPlaylist/runtime.js +2 -2
  64. package/lib/output.tsMediaPlaylist/runtime.js.map +1 -1
  65. package/lib/output.tsMultiVariant/runtime.js +1 -1
  66. package/lib/output.tsMultiVariant/runtime.js.map +1 -1
  67. package/lib/output.whep/runtime.js +3 -1
  68. package/lib/output.whep/runtime.js.map +1 -1
  69. package/lib/processor.audioEncoder/info.d.ts +10 -2
  70. package/lib/processor.audioEncoder/types.d.ts +23 -12
  71. package/lib/processor.audioEncoder/types.source.yaml +78 -0
  72. package/lib/processor.audioEncoder/types.yaml +103 -29
  73. package/lib/processor.browserOverlay/info.js +5 -3
  74. package/lib/processor.browserOverlay/info.js.map +1 -1
  75. package/lib/processor.browserOverlay/runtime.d.ts +2 -1
  76. package/lib/processor.browserOverlay/runtime.js +16 -2
  77. package/lib/processor.browserOverlay/runtime.js.map +1 -1
  78. package/lib/processor.fixedLadder/info.d.ts +182 -7
  79. package/lib/processor.fixedLadder/types.d.ts +619 -19
  80. package/lib/processor.fixedLadder/types.source.yaml +462 -0
  81. package/lib/processor.fixedLadder/types.yaml +336 -115
  82. package/lib/processor.makeProgram/info.d.ts +1 -0
  83. package/lib/processor.makeProgram/info.js +9 -0
  84. package/lib/processor.makeProgram/info.js.map +1 -1
  85. package/lib/processor.makeProgram/runtime.d.ts +2 -1
  86. package/lib/processor.makeProgram/runtime.js +14 -1
  87. package/lib/processor.makeProgram/runtime.js.map +1 -1
  88. package/lib/processor.makeProgram/types.d.ts +1 -0
  89. package/lib/processor.makeProgram/types.yaml +3 -1
  90. package/lib/processor.smartSingleMediaSwitch/info.d.ts +12 -4
  91. package/lib/processor.smartSingleMediaSwitch/types.d.ts +22 -18
  92. package/lib/processor.smartSingleMediaSwitch/types.source.yaml +115 -0
  93. package/lib/processor.smartSingleMediaSwitch/types.yaml +147 -50
  94. package/lib/processor.smartSourceSwitch/form-views.d.ts +6 -0
  95. package/lib/processor.smartSourceSwitch/form-views.js +11 -0
  96. package/lib/processor.smartSourceSwitch/form-views.js.map +1 -0
  97. package/lib/processor.smartSourceSwitch/info.d.ts +18 -4
  98. package/lib/processor.smartSourceSwitch/info.js +30 -0
  99. package/lib/processor.smartSourceSwitch/info.js.map +1 -1
  100. package/lib/processor.smartSourceSwitch/inline-view.js +9 -8
  101. package/lib/processor.smartSourceSwitch/inline-view.js.map +1 -1
  102. package/lib/processor.smartSourceSwitch/runtime.d.ts +4 -1
  103. package/lib/processor.smartSourceSwitch/runtime.js +56 -27
  104. package/lib/processor.smartSourceSwitch/runtime.js.map +1 -1
  105. package/lib/processor.smartSourceSwitch/types.d.ts +41 -18
  106. package/lib/processor.smartSourceSwitch/types.source.yaml +129 -0
  107. package/lib/processor.smartSourceSwitch/types.yaml +177 -48
  108. package/lib/processor.syncExternalAudio/info.d.ts +1 -0
  109. package/lib/processor.syncExternalAudio/types.d.ts +1 -0
  110. package/lib/processor.videoDecoder/info.js +4 -2
  111. package/lib/processor.videoDecoder/info.js.map +1 -1
  112. package/lib/processor.zoomTo/info.d.ts +54 -0
  113. package/lib/processor.zoomTo/info.js +174 -0
  114. package/lib/processor.zoomTo/info.js.map +1 -0
  115. package/lib/processor.zoomTo/runtime-types.d.ts +11 -0
  116. package/lib/processor.zoomTo/runtime-types.js +3 -0
  117. package/lib/processor.zoomTo/runtime-types.js.map +1 -0
  118. package/lib/processor.zoomTo/runtime.d.ts +45 -0
  119. package/lib/processor.zoomTo/runtime.js +323 -0
  120. package/lib/processor.zoomTo/runtime.js.map +1 -0
  121. package/lib/processor.zoomTo/types.d.ts +182 -0
  122. package/lib/processor.zoomTo/types.js +3 -0
  123. package/lib/processor.zoomTo/types.js.map +1 -0
  124. package/lib/processor.zoomTo/types.yaml +356 -0
  125. package/lib/test/auto-cmaf.js +7 -4
  126. package/lib/test/auto-cmaf.js.map +1 -1
  127. package/lib/test/smart-source-switch.js +117 -2
  128. package/lib/test/smart-source-switch.js.map +1 -1
  129. package/lib/test/zoom-to.d.ts +1 -0
  130. package/lib/test/zoom-to.js +345 -0
  131. package/lib/test/zoom-to.js.map +1 -0
  132. package/package.json +5 -5
  133. package/lib/output.autoCmaf/summary.d.ts +0 -6
  134. package/lib/output.autoCmaf/summary.js +0 -57
  135. package/lib/output.autoCmaf/summary.js.map +0 -1
package/client/style.css CHANGED
@@ -751,6 +751,10 @@ video {
751
751
  height: 0.5rem;
752
752
  }
753
753
 
754
+ .h-3 {
755
+ height: 0.75rem;
756
+ }
757
+
754
758
  .h-4 {
755
759
  height: 1rem;
756
760
  }
@@ -788,6 +792,10 @@ video {
788
792
  width: 0.5rem;
789
793
  }
790
794
 
795
+ .w-3 {
796
+ width: 0.75rem;
797
+ }
798
+
791
799
  .w-4 {
792
800
  width: 1rem;
793
801
  }
@@ -855,6 +863,17 @@ video {
855
863
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
856
864
  }
857
865
 
866
+ @keyframes ping {
867
+ 75%, 100% {
868
+ transform: scale(2);
869
+ opacity: 0;
870
+ }
871
+ }
872
+
873
+ .animate-ping {
874
+ animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
875
+ }
876
+
858
877
  .cursor-move {
859
878
  cursor: move;
860
879
  }
@@ -1117,6 +1136,16 @@ video {
1117
1136
  background-color: rgb(21 128 61 / var(--tw-bg-opacity));
1118
1137
  }
1119
1138
 
1139
+ .bg-live {
1140
+ --tw-bg-opacity: 1;
1141
+ background-color: rgb(230 24 24 / var(--tw-bg-opacity));
1142
+ }
1143
+
1144
+ .bg-offline {
1145
+ --tw-bg-opacity: 1;
1146
+ background-color: rgb(52 55 61 / var(--tw-bg-opacity));
1147
+ }
1148
+
1120
1149
  .bg-primary-500 {
1121
1150
  --tw-bg-opacity: 1;
1122
1151
  background-color: rgb(59 130 246 / var(--tw-bg-opacity));
@@ -1147,6 +1176,11 @@ video {
1147
1176
  background-color: rgb(185 28 28 / var(--tw-bg-opacity));
1148
1177
  }
1149
1178
 
1179
+ .bg-standby {
1180
+ --tw-bg-opacity: 1;
1181
+ background-color: rgb(52 255 86 / var(--tw-bg-opacity));
1182
+ }
1183
+
1150
1184
  .bg-white {
1151
1185
  --tw-bg-opacity: 1;
1152
1186
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
@@ -1405,12 +1439,24 @@ video {
1405
1439
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
1406
1440
  }
1407
1441
 
1442
+ .transition {
1443
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
1444
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
1445
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
1446
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1447
+ transition-duration: 150ms;
1448
+ }
1449
+
1408
1450
  .transition-colors {
1409
1451
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
1410
1452
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1411
1453
  transition-duration: 150ms;
1412
1454
  }
1413
1455
 
1456
+ .duration-150 {
1457
+ transition-duration: 150ms;
1458
+ }
1459
+
1414
1460
  .node-editor-label {
1415
1461
  margin-bottom: 0.125rem;
1416
1462
  display: block;
package/lib/info.js CHANGED
@@ -93,6 +93,8 @@ const info_37 = __importDefault(require("./processor.videoDecoder/info"));
93
93
  AllComponents.push((r) => (0, info_37.default)(r));
94
94
  const info_38 = __importDefault(require("./processor.webRtcDuplex/info"));
95
95
  AllComponents.push((r) => (0, info_38.default)(r));
96
- const info_39 = __importDefault(require("./util.stats.latency/info"));
96
+ const info_39 = __importDefault(require("./processor.zoomTo/info"));
97
97
  AllComponents.push((r) => (0, info_39.default)(r));
98
+ const info_40 = __importDefault(require("./util.stats.latency/info"));
99
+ AllComponents.push((r) => (0, info_40.default)(r));
98
100
  //# sourceMappingURL=info.js.map
package/lib/info.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,26 @@ export default function ({ defineComponent, mappingsToStreams, StreamMappingForm
10
10
  ssl?: boolean;
11
11
  appName: string;
12
12
  streamNames: string[];
13
- streamMappings?: import("./types").components["schemas"]["StreamMappingConfiguration"];
13
+ streamMappings?: {
14
+ streams: {
15
+ outputKey: {
16
+ streamId: number;
17
+ programNumber: number;
18
+ sourceName: string;
19
+ renditionName: string;
20
+ };
21
+ displayName?: string;
22
+ media: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
23
+ filters?: ({
24
+ type: "sourceName" | "language" | "codec" | "renditionName";
25
+ value: string;
26
+ } | {
27
+ type: "streamId" | "programNumber";
28
+ value: number;
29
+ })[];
30
+ missingBehaviour?: "fill" | "skip";
31
+ }[];
32
+ };
14
33
  initialState?: "enabled" | "disabled";
15
34
  }, {
16
35
  connectedStreams: string[];
@@ -36,7 +36,26 @@ export default class RtmpInputDefinition implements ServerComponentDefinition<Rt
36
36
  ssl?: boolean;
37
37
  appName: string;
38
38
  streamNames: string[];
39
- streamMappings?: components["schemas"]["StreamMappingConfiguration"];
39
+ streamMappings?: {
40
+ streams: {
41
+ outputKey: {
42
+ streamId: number;
43
+ programNumber: number;
44
+ sourceName: string;
45
+ renditionName: string;
46
+ };
47
+ displayName?: string;
48
+ media: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
49
+ filters?: ({
50
+ type: "sourceName" | "language" | "codec" | "renditionName";
51
+ value: string;
52
+ } | {
53
+ type: "streamId" | "programNumber";
54
+ value: number;
55
+ })[];
56
+ missingBehaviour?: "fill" | "skip";
57
+ }[];
58
+ };
40
59
  initialState?: "enabled" | "disabled";
41
60
  }, RtmpInput, {
42
61
  connectedStreams: string[];
@@ -191,14 +191,46 @@ export interface components {
191
191
  ssl?: boolean;
192
192
  appName: string;
193
193
  streamNames: string[];
194
- streamMappings?: components["schemas"]["StreamMappingConfiguration"];
194
+ streamMappings?: {
195
+ streams: {
196
+ outputKey: {
197
+ streamId: number;
198
+ programNumber: number;
199
+ sourceName: string;
200
+ renditionName: string;
201
+ };
202
+ displayName?: string;
203
+ media: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
204
+ filters?: ({
205
+ type: "sourceName" | "language" | "codec" | "renditionName";
206
+ value: string;
207
+ } | {
208
+ type: "streamId" | "programNumber";
209
+ value: number;
210
+ })[];
211
+ missingBehaviour?: "fill" | "skip";
212
+ }[];
213
+ };
195
214
  initialState?: "enabled" | "disabled";
196
215
  };
197
216
  State: {
198
217
  connectedStreams: string[];
199
218
  disabledStreams: string[];
200
219
  };
201
- Commands: components["schemas"]["DisableSourceCommand"] | components["schemas"]["EnableSourceCommand"] | components["schemas"]["ResetSourceCommand"] | components["schemas"]["DisableCommand"] | components["schemas"]["EnableCommand"];
220
+ Commands: {
221
+ type: "disable-source";
222
+ streamName: string;
223
+ } | {
224
+ type: "enable-source";
225
+ streamName: string;
226
+ } | {
227
+ type: "reset-source";
228
+ streamName: string;
229
+ } | {
230
+ type: "disable";
231
+ } | {
232
+ type: "enable";
233
+ };
202
234
  DisableSourceCommand: {
203
235
  type: "disable-source";
204
236
  streamName: string;
@@ -217,7 +249,19 @@ export interface components {
217
249
  EnableCommand: {
218
250
  type: "enable";
219
251
  };
220
- Events: components["schemas"]["SourceConnectedEvent"] | components["schemas"]["SourceDisconnectedEvent"] | components["schemas"]["SourceEnabledEvent"] | components["schemas"]["SourceDisabledEvent"];
252
+ Events: {
253
+ type: "source-connected";
254
+ streamName: string;
255
+ } | {
256
+ type: "source-disconnected";
257
+ streamName: string;
258
+ } | {
259
+ type: "source-enabled";
260
+ streamName: string;
261
+ } | {
262
+ type: "source-disabled";
263
+ streamName: string;
264
+ };
221
265
  SourceConnectedEvent: {
222
266
  type: "source-connected";
223
267
  streamName: string;
@@ -234,30 +278,6 @@ export interface components {
234
278
  type: "source-disabled";
235
279
  streamName: string;
236
280
  };
237
- StreamKey: {
238
- streamId: number;
239
- programNumber: number;
240
- sourceName: string;
241
- renditionName: string;
242
- };
243
- MediaType: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
244
- StreamMappingFilter: {
245
- type: "sourceName" | "language" | "codec" | "renditionName";
246
- value: string;
247
- } | {
248
- type: "streamId" | "programNumber";
249
- value: number;
250
- };
251
- StreamMappingEntry: {
252
- outputKey: components["schemas"]["StreamKey"];
253
- displayName?: string;
254
- media: components["schemas"]["MediaType"];
255
- filters?: components["schemas"]["StreamMappingFilter"][];
256
- missingBehaviour?: "fill" | "skip";
257
- };
258
- StreamMappingConfiguration: {
259
- streams: components["schemas"]["StreamMappingEntry"][];
260
- };
261
281
  };
262
282
  responses: never;
263
283
  parameters: never;
@@ -0,0 +1,319 @@
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
+ /enable:
55
+ post:
56
+ summary: Re-enables a disabled RTMP stream
57
+ description: If no stream is specified, all streams will be enabled
58
+ x-route-type: instance
59
+ requestBody:
60
+ description: The stream to re-enable
61
+ content:
62
+ application/json:
63
+ schema:
64
+ type: object
65
+ properties:
66
+ streamName:
67
+ type: string
68
+ description: The name of the stream to re-enable
69
+ example: camera1
70
+ responses:
71
+ 204:
72
+ description: The stream was successfully re-enabled
73
+ 400:
74
+ description: Stream is already connected or invalid request
75
+ content:
76
+ application/json:
77
+ schema:
78
+ type: object
79
+ properties:
80
+ error:
81
+ type: string
82
+ description: A description of the error
83
+ details:
84
+ type: string
85
+ description: Additional error details
86
+ 500:
87
+ description: Failed to re-enable stream
88
+ content:
89
+ application/json:
90
+ schema:
91
+ type: object
92
+ properties:
93
+ error:
94
+ type: string
95
+ description: A description of the error
96
+ details:
97
+ type: string
98
+ description: Additional error details
99
+
100
+ /disable:
101
+ post:
102
+ summary: Disables an RTMP stream by id
103
+ description: If no stream is specified, all streams will be disabled
104
+ x-route-type: instance
105
+ requestBody:
106
+ description: A stream to disable
107
+ content:
108
+ application/json:
109
+ schema:
110
+ type: object
111
+ properties:
112
+ streamName:
113
+ type: string
114
+ description: The stream name to disable
115
+ example: camera1
116
+ responses:
117
+ 204:
118
+ description: The stream was successfully disabled
119
+ 400:
120
+ description: The stream isn't known about, or invalid request
121
+ content:
122
+ application/json:
123
+ schema:
124
+ type: object
125
+ properties:
126
+ error:
127
+ type: string
128
+ description: A description of the error
129
+ details:
130
+ type: string
131
+ description: Additional error details
132
+ 500:
133
+ description: Failed to disable stream
134
+ content:
135
+ application/json:
136
+ schema:
137
+ type: object
138
+ properties:
139
+ error:
140
+ type: string
141
+ description: A description of the error
142
+ details:
143
+ type: string
144
+ description: Additional error details
145
+
146
+ components:
147
+ schemas:
148
+ Config:
149
+ type: object
150
+ properties:
151
+ id:
152
+ type: string
153
+ description: Component ID
154
+ displayName:
155
+ type: string
156
+ description: Component display name
157
+ notes:
158
+ type: string
159
+ description: Optional notes about the component
160
+ port:
161
+ type: number
162
+ description: The port the RTMP server should listen on
163
+ minimum: 1
164
+ maximum: 65535
165
+ ssl:
166
+ type: boolean
167
+ description: Enable SSL/TLS for RTMP connections
168
+ appName:
169
+ type: string
170
+ description: RTMP application name to accept
171
+ streamNames:
172
+ type: array
173
+ items:
174
+ type: string
175
+ description: List of stream names to accept
176
+ streamMappings:
177
+ $ref: '../../../core/src/types/base.yml#/components/schemas/StreamMappingConfiguration'
178
+ initialState:
179
+ type: string
180
+ enum: ["enabled", "disabled"]
181
+ description: Initial state of the component
182
+ required:
183
+ - id
184
+ - displayName
185
+ - appName
186
+ - streamNames
187
+
188
+ State:
189
+ type: object
190
+ properties:
191
+ connectedStreams:
192
+ type: array
193
+ items:
194
+ type: string
195
+ disabledStreams:
196
+ type: array
197
+ items:
198
+ type: string
199
+ required:
200
+ - connectedStreams
201
+ - disabledStreams
202
+
203
+ Commands:
204
+ oneOf:
205
+ - $ref: '#/components/schemas/DisableSourceCommand'
206
+ - $ref: '#/components/schemas/EnableSourceCommand'
207
+ - $ref: '#/components/schemas/ResetSourceCommand'
208
+ - $ref: '#/components/schemas/DisableCommand'
209
+ - $ref: '#/components/schemas/EnableCommand'
210
+
211
+ DisableSourceCommand:
212
+ type: object
213
+ properties:
214
+ type:
215
+ type: string
216
+ enum: ["disable-source"]
217
+ streamName:
218
+ type: string
219
+ required:
220
+ - type
221
+ - streamName
222
+
223
+ EnableSourceCommand:
224
+ type: object
225
+ properties:
226
+ type:
227
+ type: string
228
+ enum: ["enable-source"]
229
+ streamName:
230
+ type: string
231
+ required:
232
+ - type
233
+ - streamName
234
+
235
+ ResetSourceCommand:
236
+ type: object
237
+ properties:
238
+ type:
239
+ type: string
240
+ enum: ["reset-source"]
241
+ streamName:
242
+ type: string
243
+ required:
244
+ - type
245
+ - streamName
246
+
247
+ DisableCommand:
248
+ type: object
249
+ properties:
250
+ type:
251
+ type: string
252
+ enum: ["disable"]
253
+ required:
254
+ - type
255
+
256
+ EnableCommand:
257
+ type: object
258
+ properties:
259
+ type:
260
+ type: string
261
+ enum: ["enable"]
262
+ required:
263
+ - type
264
+
265
+ Events:
266
+ oneOf:
267
+ - $ref: '#/components/schemas/SourceConnectedEvent'
268
+ - $ref: '#/components/schemas/SourceDisconnectedEvent'
269
+ - $ref: '#/components/schemas/SourceEnabledEvent'
270
+ - $ref: '#/components/schemas/SourceDisabledEvent'
271
+
272
+ SourceConnectedEvent:
273
+ type: object
274
+ properties:
275
+ type:
276
+ type: string
277
+ enum: ["source-connected"]
278
+ streamName:
279
+ type: string
280
+ required:
281
+ - type
282
+ - streamName
283
+
284
+ SourceDisconnectedEvent:
285
+ type: object
286
+ properties:
287
+ type:
288
+ type: string
289
+ enum: ["source-disconnected"]
290
+ streamName:
291
+ type: string
292
+ required:
293
+ - type
294
+ - streamName
295
+
296
+ SourceEnabledEvent:
297
+ type: object
298
+ properties:
299
+ type:
300
+ type: string
301
+ enum: ["source-enabled"]
302
+ streamName:
303
+ type: string
304
+ required:
305
+ - type
306
+ - streamName
307
+
308
+ SourceDisabledEvent:
309
+ type: object
310
+ properties:
311
+ type:
312
+ type: string
313
+ enum: ["source-disabled"]
314
+ streamName:
315
+ type: string
316
+ required:
317
+ - type
318
+ - streamName
319
+