@norskvideo/norsk-studio-built-ins 1.19.0 → 1.26.0-2025-02-19-33cde15d

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 (247) hide show
  1. package/client/info.js +5983 -699
  2. package/client/output.preview/styles.css +69 -69
  3. package/client/output.whep/styles.css +9 -0
  4. package/client/style.css +283 -856
  5. package/lib/info.js +14 -14
  6. package/lib/info.js.map +1 -1
  7. package/lib/input.rtmp/info.js +19 -5
  8. package/lib/input.rtmp/info.js.map +1 -1
  9. package/lib/input.rtmp/inline-view.js +3 -3
  10. package/lib/input.rtmp/runtime.d.ts +46 -7
  11. package/lib/input.rtmp/runtime.js +245 -59
  12. package/lib/input.rtmp/runtime.js.map +1 -1
  13. package/lib/input.rtmp/summary-view.d.ts +3 -5
  14. package/lib/input.rtmp/summary-view.js +51 -6
  15. package/lib/input.rtmp/summary-view.js.map +1 -1
  16. package/lib/input.rtmp/types.d.ts +193 -0
  17. package/lib/{processor.browserOverlay/openApi.js → input.rtmp/types.js} +1 -1
  18. package/lib/input.rtmp/types.js.map +1 -0
  19. package/lib/input.rtmp/types.yaml +147 -0
  20. package/lib/input.silence/info.js +9 -2
  21. package/lib/input.silence/info.js.map +1 -1
  22. package/lib/input.silence/runtime.d.ts +1 -0
  23. package/lib/input.silence/runtime.js.map +1 -1
  24. package/lib/input.srt-caller/info.js +8 -1
  25. package/lib/input.srt-caller/info.js.map +1 -1
  26. package/lib/input.srt-caller/runtime.d.ts +1 -0
  27. package/lib/input.srt-caller/runtime.js.map +1 -1
  28. package/lib/input.srt-listener/info.js +15 -2
  29. package/lib/input.srt-listener/info.js.map +1 -1
  30. package/lib/input.srt-listener/runtime.d.ts +41 -5
  31. package/lib/input.srt-listener/runtime.js +236 -57
  32. package/lib/input.srt-listener/runtime.js.map +1 -1
  33. package/lib/input.srt-listener/summary-view.d.ts +3 -5
  34. package/lib/input.srt-listener/summary-view.js +45 -6
  35. package/lib/input.srt-listener/summary-view.js.map +1 -1
  36. package/lib/input.srt-listener/types.d.ts +193 -0
  37. package/lib/input.srt-listener/types.js +3 -0
  38. package/lib/input.srt-listener/types.js.map +1 -0
  39. package/lib/input.srt-listener/types.yaml +145 -0
  40. package/lib/input.udp-ts/info.js +2 -1
  41. package/lib/input.udp-ts/info.js.map +1 -1
  42. package/lib/input.udp-ts/runtime.d.ts +1 -0
  43. package/lib/input.udp-ts/runtime.js.map +1 -1
  44. package/lib/input.videoTestCard/info.d.ts +1 -1
  45. package/lib/input.videoTestCard/info.js +17 -4
  46. package/lib/input.videoTestCard/info.js.map +1 -1
  47. package/lib/input.videoTestCard/runtime.d.ts +1 -0
  48. package/lib/output.autoCmaf/form-views.d.ts +2 -2
  49. package/lib/output.autoCmaf/form-views.js +13 -3
  50. package/lib/output.autoCmaf/form-views.js.map +1 -1
  51. package/lib/output.autoCmaf/info.d.ts +21 -2
  52. package/lib/output.autoCmaf/info.js +106 -32
  53. package/lib/output.autoCmaf/info.js.map +1 -1
  54. package/lib/output.autoCmaf/inline-view.d.ts +6 -0
  55. package/lib/output.autoCmaf/inline-view.js +8 -0
  56. package/lib/output.autoCmaf/inline-view.js.map +1 -0
  57. package/lib/output.autoCmaf/runtime.d.ts +29 -43
  58. package/lib/output.autoCmaf/runtime.js +314 -96
  59. package/lib/output.autoCmaf/runtime.js.map +1 -1
  60. package/lib/output.autoCmaf/summary-view.d.ts +4 -0
  61. package/lib/output.autoCmaf/summary-view.js +24 -0
  62. package/lib/output.autoCmaf/summary-view.js.map +1 -0
  63. package/lib/output.autoCmaf/summary.js +3 -0
  64. package/lib/output.autoCmaf/summary.js.map +1 -1
  65. package/lib/output.autoCmaf/types.d.ts +158 -0
  66. package/lib/output.autoCmaf/types.js +3 -0
  67. package/lib/output.autoCmaf/types.js.map +1 -0
  68. package/lib/output.autoCmaf/types.yaml +182 -0
  69. package/lib/output.autoHls/info.d.ts +3 -0
  70. package/lib/output.autoHls/info.js +22 -0
  71. package/lib/output.autoHls/info.js.map +1 -0
  72. package/lib/output.autoHls/runtime.d.ts +6 -0
  73. package/lib/output.autoHls/runtime.js +13 -0
  74. package/lib/output.autoHls/runtime.js.map +1 -0
  75. package/lib/output.preview/info.d.ts +5 -2
  76. package/lib/output.preview/info.js +23 -3
  77. package/lib/output.preview/info.js.map +1 -1
  78. package/lib/output.preview/inline-view.d.ts +2 -4
  79. package/lib/output.preview/inline-view.js +65 -7
  80. package/lib/output.preview/inline-view.js.map +1 -1
  81. package/lib/output.preview/runtime.d.ts +18 -12
  82. package/lib/output.preview/runtime.js +122 -33
  83. package/lib/output.preview/runtime.js.map +1 -1
  84. package/lib/output.preview/types.d.ts +56 -0
  85. package/lib/output.preview/types.js +3 -0
  86. package/lib/output.preview/types.js.map +1 -0
  87. package/lib/output.preview/types.yaml +37 -0
  88. package/lib/output.rtmp/info.js +14 -2
  89. package/lib/output.rtmp/info.js.map +1 -1
  90. package/lib/output.rtmp/inline-view.js +5 -2
  91. package/lib/output.rtmp/inline-view.js.map +1 -1
  92. package/lib/output.rtmp/runtime.d.ts +31 -5
  93. package/lib/output.rtmp/runtime.js +169 -34
  94. package/lib/output.rtmp/runtime.js.map +1 -1
  95. package/lib/output.rtmp/summary-view.d.ts +4 -0
  96. package/lib/output.rtmp/summary-view.js +24 -0
  97. package/lib/output.rtmp/summary-view.js.map +1 -0
  98. package/lib/output.rtmp/types.d.ts +101 -0
  99. package/lib/output.rtmp/types.js +3 -0
  100. package/lib/output.rtmp/types.js.map +1 -0
  101. package/lib/output.rtmp/types.yaml +30 -0
  102. package/lib/output.srt/info.d.ts +2 -2
  103. package/lib/output.srt/info.js +29 -1
  104. package/lib/output.srt/info.js.map +1 -1
  105. package/lib/output.srt/inline-view.d.ts +6 -0
  106. package/lib/output.srt/inline-view.js +8 -0
  107. package/lib/output.srt/inline-view.js.map +1 -0
  108. package/lib/output.srt/runtime.d.ts +35 -5
  109. package/lib/output.srt/runtime.js +174 -6
  110. package/lib/output.srt/runtime.js.map +1 -1
  111. package/lib/output.srt/summary-view.d.ts +4 -0
  112. package/lib/output.srt/summary-view.js +24 -0
  113. package/lib/output.srt/summary-view.js.map +1 -0
  114. package/lib/output.srt/types.d.ts +101 -0
  115. package/lib/output.srt/types.js +3 -0
  116. package/lib/output.srt/types.js.map +1 -0
  117. package/lib/output.srt/types.yaml +31 -0
  118. package/lib/output.statistics/info.js +3 -1
  119. package/lib/output.statistics/info.js.map +1 -1
  120. package/lib/output.statistics/inline-view.js +3 -2
  121. package/lib/output.statistics/inline-view.js.map +1 -1
  122. package/lib/output.statistics/runtime.d.ts +1 -0
  123. package/lib/output.statistics/runtime.js.map +1 -1
  124. package/lib/output.udpTs/info.js +4 -0
  125. package/lib/output.udpTs/info.js.map +1 -1
  126. package/lib/output.udpTs/runtime.d.ts +1 -0
  127. package/lib/output.udpTs/runtime.js.map +1 -1
  128. package/lib/output.whep/info.d.ts +2 -2
  129. package/lib/output.whep/info.js +61 -1
  130. package/lib/output.whep/info.js.map +1 -1
  131. package/lib/output.whep/inline-view.d.ts +4 -0
  132. package/lib/output.whep/inline-view.js +57 -0
  133. package/lib/output.whep/inline-view.js.map +1 -0
  134. package/lib/output.whep/runtime.d.ts +39 -5
  135. package/lib/output.whep/runtime.js +175 -13
  136. package/lib/output.whep/runtime.js.map +1 -1
  137. package/lib/output.whep/summary-view.d.ts +4 -0
  138. package/lib/output.whep/summary-view.js +24 -0
  139. package/lib/output.whep/summary-view.js.map +1 -0
  140. package/lib/output.whep/types.d.ts +101 -0
  141. package/lib/output.whep/types.js +3 -0
  142. package/lib/output.whep/types.js.map +1 -0
  143. package/lib/output.whep/types.yaml +30 -0
  144. package/lib/processor.audioEncoder/form-views.d.ts +8 -0
  145. package/lib/processor.audioEncoder/form-views.js +8 -0
  146. package/lib/processor.audioEncoder/form-views.js.map +1 -0
  147. package/lib/processor.audioEncoder/info.d.ts +3 -0
  148. package/lib/processor.audioEncoder/info.js +160 -0
  149. package/lib/processor.audioEncoder/info.js.map +1 -0
  150. package/lib/processor.audioEncoder/runtime.d.ts +21 -0
  151. package/lib/processor.audioEncoder/runtime.js +20 -0
  152. package/lib/processor.audioEncoder/runtime.js.map +1 -0
  153. package/lib/processor.browserOverlay/info.js +1 -0
  154. package/lib/processor.browserOverlay/info.js.map +1 -1
  155. package/lib/processor.browserOverlay/runtime.d.ts +1 -0
  156. package/lib/processor.browserOverlay/runtime.js +6 -26
  157. package/lib/processor.browserOverlay/runtime.js.map +1 -1
  158. package/lib/processor.browserOverlay/types.js +3 -0
  159. package/lib/processor.browserOverlay/types.js.map +1 -0
  160. package/lib/processor.cascadingSwitch/info.js +3 -2
  161. package/lib/processor.cascadingSwitch/info.js.map +1 -1
  162. package/lib/processor.cascadingSwitch/inline-view.js +3 -3
  163. package/lib/processor.cascadingSwitch/runtime.d.ts +1 -0
  164. package/lib/processor.cascadingSwitch/runtime.js +2 -2
  165. package/lib/processor.cascadingSwitch/runtime.js.map +1 -1
  166. package/lib/processor.fixedLadder/codec-editor.js +1 -1
  167. package/lib/processor.fixedLadder/codec-editor.js.map +1 -1
  168. package/lib/processor.fixedLadder/codec-view.d.ts +1 -1
  169. package/lib/processor.fixedLadder/codec-view.js +1 -1
  170. package/lib/processor.fixedLadder/codec-view.js.map +1 -1
  171. package/lib/processor.fixedLadder/info.d.ts +33 -7
  172. package/lib/processor.fixedLadder/info.js +19 -6
  173. package/lib/processor.fixedLadder/info.js.map +1 -1
  174. package/lib/processor.fixedLadder/runtime.d.ts +16 -29
  175. package/lib/processor.fixedLadder/runtime.js +16 -1
  176. package/lib/processor.fixedLadder/runtime.js.map +1 -1
  177. package/lib/processor.fixedLadder/types.d.ts +240 -0
  178. package/lib/processor.fixedLadder/types.js +3 -0
  179. package/lib/processor.fixedLadder/types.js.map +1 -0
  180. package/lib/processor.fixedLadder/types.yaml +541 -0
  181. package/lib/processor.onscreenGraphic/info.js +11 -5
  182. package/lib/processor.onscreenGraphic/info.js.map +1 -1
  183. package/lib/processor.onscreenGraphic/runtime.d.ts +27 -2
  184. package/lib/processor.onscreenGraphic/runtime.js +116 -52
  185. package/lib/processor.onscreenGraphic/runtime.js.map +1 -1
  186. package/lib/processor.onscreenGraphic/summary-view.d.ts +1 -1
  187. package/lib/processor.onscreenGraphic/summary-view.js +235 -11
  188. package/lib/processor.onscreenGraphic/summary-view.js.map +1 -1
  189. package/lib/processor.onscreenGraphic/types.d.ts +15 -1
  190. package/lib/processor.onscreenGraphic/types.yaml +63 -14
  191. package/lib/processor.streamKeyOverride/info.d.ts +3 -0
  192. package/lib/processor.streamKeyOverride/info.js +151 -0
  193. package/lib/processor.streamKeyOverride/info.js.map +1 -0
  194. package/lib/processor.streamKeyOverride/runtime.d.ts +55 -0
  195. package/lib/processor.streamKeyOverride/runtime.js +226 -0
  196. package/lib/processor.streamKeyOverride/runtime.js.map +1 -0
  197. package/lib/shared/api.d.ts +35 -0
  198. package/lib/shared/api.js +34 -0
  199. package/lib/shared/api.js.map +1 -0
  200. package/lib/test/auto-cmaf.js +219 -43
  201. package/lib/test/auto-cmaf.js.map +1 -1
  202. package/lib/test/onscreen-graphic.js +79 -42
  203. package/lib/test/onscreen-graphic.js.map +1 -1
  204. package/lib/test/preview.js +69 -64
  205. package/lib/test/preview.js.map +1 -1
  206. package/lib/test/rtmp-input.js +6 -3
  207. package/lib/test/rtmp-input.js.map +1 -1
  208. package/lib/test/rtmp-output.js +105 -1
  209. package/lib/test/rtmp-output.js.map +1 -1
  210. package/lib/test/srt-input-listener.js +331 -0
  211. package/lib/test/srt-input-listener.js.map +1 -1
  212. package/lib/test/srt-output.js +93 -4
  213. package/lib/test/srt-output.js.map +1 -1
  214. package/lib/test/whep-output.js +192 -5
  215. package/lib/test/whep-output.js.map +1 -1
  216. package/lib/util.stats.latency/info.js +1 -0
  217. package/lib/util.stats.latency/info.js.map +1 -1
  218. package/lib/util.stats.latency/runtime.d.ts +1 -0
  219. package/lib/util.stats.latency/runtime.js +2 -2
  220. package/lib/util.stats.latency/runtime.js.map +1 -1
  221. package/package.json +4 -4
  222. package/lib/processor.browserOverlay/openApi.js.map +0 -1
  223. package/lib/processor.whisper-transcribe/info.d.ts +0 -3
  224. package/lib/processor.whisper-transcribe/info.js +0 -44
  225. package/lib/processor.whisper-transcribe/info.js.map +0 -1
  226. package/lib/processor.whisper-transcribe/runtime.d.ts +0 -29
  227. package/lib/processor.whisper-transcribe/runtime.js +0 -83
  228. package/lib/processor.whisper-transcribe/runtime.js.map +0 -1
  229. package/lib/util.stats.ma35d/info.d.ts +0 -3
  230. package/lib/util.stats.ma35d/info.js +0 -79
  231. package/lib/util.stats.ma35d/info.js.map +0 -1
  232. package/lib/util.stats.ma35d/inline-view.d.ts +0 -6
  233. package/lib/util.stats.ma35d/inline-view.js +0 -76
  234. package/lib/util.stats.ma35d/inline-view.js.map +0 -1
  235. package/lib/util.stats.ma35d/runtime.d.ts +0 -21
  236. package/lib/util.stats.ma35d/runtime.js +0 -49
  237. package/lib/util.stats.ma35d/runtime.js.map +0 -1
  238. package/lib/util.timestamps/info.d.ts +0 -5
  239. package/lib/util.timestamps/info.js +0 -87
  240. package/lib/util.timestamps/info.js.map +0 -1
  241. package/lib/util.timestamps/inline-view.d.ts +0 -6
  242. package/lib/util.timestamps/inline-view.js +0 -94
  243. package/lib/util.timestamps/inline-view.js.map +0 -1
  244. package/lib/util.timestamps/runtime.d.ts +0 -29
  245. package/lib/util.timestamps/runtime.js +0 -40
  246. package/lib/util.timestamps/runtime.js.map +0 -1
  247. /package/lib/processor.browserOverlay/{openApi.d.ts → types.d.ts} +0 -0
@@ -0,0 +1,541 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: Fixed Ladder Encoder Component
4
+ version: 1.0.0
5
+
6
+ components:
7
+ schemas:
8
+ x264Codec:
9
+ type: object
10
+ properties:
11
+ type:
12
+ type: string
13
+ enum: ["x264"]
14
+ threads:
15
+ type: number
16
+ bitrateMode:
17
+ type: object
18
+ properties:
19
+ value:
20
+ type: number
21
+ mode:
22
+ type: string
23
+ enum: ["abr", "cqp", "crf"]
24
+ required: ['value', 'mode']
25
+ profile:
26
+ type: string
27
+ enum: ["baseline", "main", "high", "high10", "high422", "high444"]
28
+ level:
29
+ type: number
30
+ enum: [1, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1, 4.2, 5, 5.1]
31
+ keyFrameIntervalMin:
32
+ type: number
33
+ keyFrameIntervalMax:
34
+ type: number
35
+ bframes:
36
+ type: number
37
+ tune:
38
+ type: string
39
+ enum: ["film", "animation", "grain", "stillimage", "psnr", "ssim", "fastdecode", "zerolatency"]
40
+ preset:
41
+ type: string
42
+ enum: ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"]
43
+ frameReference:
44
+ type: number
45
+ cabac:
46
+ type: boolean
47
+ vbvMaxRate:
48
+ type: number
49
+ vbvBufferSize:
50
+ type: number
51
+ sceneCut:
52
+ type: number
53
+ aud:
54
+ type: boolean
55
+ noDeblock:
56
+ type: boolean
57
+ nalHrd:
58
+ type: string
59
+ enum: ["none", "vbr", "cbr"]
60
+ required: ['type']
61
+
62
+ ma35dH264Codec:
63
+ type: object
64
+ properties:
65
+ type:
66
+ type: string
67
+ enum: ['amdMA35D-h264']
68
+ profile:
69
+ type: string
70
+ enum: ['baseline', 'main', 'high', 'high10']
71
+ level:
72
+ type: number
73
+ enum: [1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2]
74
+ rateControl:
75
+ oneOf:
76
+ - type: object
77
+ properties:
78
+ mode:
79
+ type: string
80
+ enum: ['const-qp']
81
+ qp:
82
+ type: number
83
+ required: ['mode', 'qp']
84
+ - type: object
85
+ properties:
86
+ mode:
87
+ type: string
88
+ enum: ['cbr']
89
+ bitrate:
90
+ type: number
91
+ required: ['mode', 'bitrate']
92
+ - type: object
93
+ properties:
94
+ mode:
95
+ type: string
96
+ enum: ['vbr']
97
+ bitrate:
98
+ type: number
99
+ required: ['mode', 'bitrate']
100
+ - type: object
101
+ properties:
102
+ mode:
103
+ type: string
104
+ enum: ['constrained-vbr']
105
+ bitrate:
106
+ type: number
107
+ maxBitrate:
108
+ type: number
109
+ bufSize:
110
+ type: number
111
+ required: ['mode', 'bitrate', 'maxBitrate', 'bufSize']
112
+ - type: object
113
+ properties:
114
+ mode:
115
+ type: string
116
+ enum: ['content-adaptive']
117
+ bitrate:
118
+ type: number
119
+ maxBitrate:
120
+ type: number
121
+ bufSize:
122
+ type: number
123
+ required: ['mode', 'bitrate', 'maxBitrate', 'bufSize']
124
+ lookaheadDepth:
125
+ type: number
126
+ gopSize:
127
+ type: number
128
+ tempAqGain:
129
+ type: number
130
+ spatAqGain:
131
+ type: number
132
+ minQp:
133
+ type: number
134
+ maxQp:
135
+ type: number
136
+ preset:
137
+ type: string
138
+ enum: ['fast', 'medium', 'slow']
139
+ crf:
140
+ type: number
141
+ forcedIdr:
142
+ type: number
143
+ bf:
144
+ type: number
145
+ qpMode:
146
+ type: string
147
+ enum: ['relative-load', 'uniform']
148
+ spatialAq:
149
+ type: string
150
+ enum: ['auto', 'disable', 'enable']
151
+ temporalAq:
152
+ type: string
153
+ enum: ['auto', 'disable', 'enable']
154
+ dynamicGop:
155
+ type: string
156
+ enum: ['auto', 'disable', 'enable']
157
+ tuneMetrics:
158
+ type: string
159
+ enum: ['vq', 'psnr', 'ssim', 'vmaf']
160
+ latencyMs:
161
+ type: number
162
+ delayInitialization:
163
+ type: number
164
+ required: ['type']
165
+
166
+ ma35dHevcCodec:
167
+ type: object
168
+ properties:
169
+ type:
170
+ type: string
171
+ enum: ['amdMA35D-hevc']
172
+ profile:
173
+ type: string
174
+ enum: ['main', 'main10']
175
+ level:
176
+ type: number
177
+ enum: [1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2]
178
+ tier:
179
+ type: string
180
+ enum: ['main', 'high']
181
+ rateControl:
182
+ oneOf:
183
+ - type: object
184
+ properties:
185
+ mode:
186
+ type: string
187
+ enum: ['const-qp']
188
+ qp:
189
+ type: number
190
+ required: ['mode', 'qp']
191
+ - type: object
192
+ properties:
193
+ mode:
194
+ type: string
195
+ enum: ['cbr']
196
+ bitrate:
197
+ type: number
198
+ required: ['mode', 'bitrate']
199
+ - type: object
200
+ properties:
201
+ mode:
202
+ type: string
203
+ enum: ['vbr']
204
+ bitrate:
205
+ type: number
206
+ required: ['mode', 'bitrate']
207
+ - type: object
208
+ properties:
209
+ mode:
210
+ type: string
211
+ enum: ['constrained-vbr']
212
+ bitrate:
213
+ type: number
214
+ maxBitrate:
215
+ type: number
216
+ bufSize:
217
+ type: number
218
+ required: ['mode', 'bitrate', 'maxBitrate', 'bufSize']
219
+ - type: object
220
+ properties:
221
+ mode:
222
+ type: string
223
+ enum: ['content-adaptive']
224
+ bitrate:
225
+ type: number
226
+ maxBitrate:
227
+ type: number
228
+ bufSize:
229
+ type: number
230
+ required: ['mode', 'bitrate', 'maxBitrate', 'bufSize']
231
+ lookaheadDepth:
232
+ type: number
233
+ gopSize:
234
+ type: number
235
+ tempAqGain:
236
+ type: number
237
+ spatAqGain:
238
+ type: number
239
+ minQp:
240
+ type: number
241
+ maxQp:
242
+ type: number
243
+ preset:
244
+ type: string
245
+ enum: ['fast', 'medium', 'slow']
246
+ crf:
247
+ type: number
248
+ forcedIdr:
249
+ type: number
250
+ bf:
251
+ type: number
252
+ qpMode:
253
+ type: string
254
+ enum: ['relative-load', 'uniform']
255
+ spatialAq:
256
+ type: string
257
+ enum: ['auto', 'disable', 'enable']
258
+ temporalAq:
259
+ type: string
260
+ enum: ['auto', 'disable', 'enable']
261
+ dynamicGop:
262
+ type: string
263
+ enum: ['auto', 'disable', 'enable']
264
+ tuneMetrics:
265
+ type: string
266
+ enum: ['vq', 'psnr', 'ssim', 'vmaf']
267
+ latencyMs:
268
+ type: number
269
+ delayInitialization:
270
+ type: number
271
+ required: ['type']
272
+
273
+ quadraH264Codec:
274
+ type: object
275
+ properties:
276
+ type:
277
+ type: string
278
+ enum: ['quadra-h264']
279
+ extraOpts:
280
+ type: string
281
+ enableAud:
282
+ type: boolean
283
+ gpuIndex:
284
+ type: number
285
+ bitrate:
286
+ type: number
287
+ enableVfr:
288
+ type: boolean
289
+ crf:
290
+ type: number
291
+ gopPresetIndex:
292
+ type: number
293
+ intraPeriod:
294
+ type: number
295
+ rcEnable:
296
+ type: boolean
297
+ intraQp:
298
+ type: number
299
+ rcInitDelay:
300
+ type: number
301
+ profile:
302
+ type: string
303
+ enum: ['baseline', 'main', 'extended', 'high', 'high10']
304
+ level:
305
+ type: number
306
+ enum: [1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2]
307
+ fillerEnable:
308
+ type: boolean
309
+ minQp:
310
+ type: number
311
+ maxQp:
312
+ type: number
313
+ maxDeltaQp:
314
+ type: number
315
+ cuLevelRCEnable:
316
+ type: boolean
317
+ lookAheadDepth:
318
+ type: number
319
+ vbvBufferSize:
320
+ type: number
321
+ vbvMaxRate:
322
+ type: number
323
+ required: ['type']
324
+
325
+ loganH264Codec:
326
+ type: object
327
+ properties:
328
+ type:
329
+ type: string
330
+ enum: ['logan-h264']
331
+ extraOpts:
332
+ type: string
333
+ enableAud:
334
+ type: boolean
335
+ gpuIndex:
336
+ type: number
337
+ bitrate:
338
+ type: number
339
+ flushGop:
340
+ type: boolean
341
+ enableVfr:
342
+ type: boolean
343
+ crf:
344
+ type: number
345
+ cbr:
346
+ type: boolean
347
+ gopPresetIndex:
348
+ type: number
349
+ intraPeriod:
350
+ type: number
351
+ rcEnable:
352
+ type: boolean
353
+ intraQp:
354
+ type: number
355
+ rcInitDelay:
356
+ type: number
357
+ profile:
358
+ type: string
359
+ enum: ['baseline', 'main', 'extended', 'high', 'high10']
360
+ level:
361
+ type: number
362
+ enum: [1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2]
363
+ required: ['type']
364
+
365
+ nvidiaH264Codec:
366
+ type: object
367
+ properties:
368
+ type:
369
+ type: string
370
+ enum: ['nv-h264']
371
+ preset:
372
+ type: string
373
+ enum: ['p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7']
374
+ tuning:
375
+ type: string
376
+ enum: ['high_quality', 'low_latency', 'ultra_low_latency', 'lossless']
377
+ idrPeriod:
378
+ type: number
379
+ gopInterval:
380
+ type: number
381
+ frameIntervalP:
382
+ type: number
383
+ maxNumRefFrames:
384
+ type: number
385
+ level:
386
+ type: number
387
+ enum: [1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2]
388
+ profile:
389
+ type: string
390
+ enum: ['baseline', 'main', 'high', 'high444']
391
+ outputAud:
392
+ type: boolean
393
+ rateControl:
394
+ type: object
395
+ properties:
396
+ mode:
397
+ type: string
398
+ enum: ['con_stqp', 'vbr', 'cbr']
399
+ averageBitrate:
400
+ type: number
401
+ maxBitrate:
402
+ type: number
403
+ vbvBufferSize:
404
+ type: number
405
+ vbvInitialDelay:
406
+ type: number
407
+ enableLookahead:
408
+ type: boolean
409
+ strictGopTarget:
410
+ type: boolean
411
+ lookaheadDepth:
412
+ type: number
413
+ enableTemporalAQ:
414
+ type: boolean
415
+ enableSpatialAQ:
416
+ type: boolean
417
+ aqStrength:
418
+ type: number
419
+ required: ['mode', 'averageBitrate']
420
+ useBFramesAsRef:
421
+ type: string
422
+ enum: ['disabled', 'each', 'middle']
423
+ required: ['type']
424
+
425
+ frameRate:
426
+ type: object
427
+ properties:
428
+ frames:
429
+ type: number
430
+ seconds:
431
+ type: number
432
+ required: ['frames', 'seconds']
433
+
434
+ softwareLadderRung:
435
+ type: object
436
+ properties:
437
+ width:
438
+ type: number
439
+ height:
440
+ type: number
441
+ codec:
442
+ oneOf:
443
+ - $ref: '#/components/schemas/x264Codec'
444
+ frameRate:
445
+ $ref: '#/components/schemas/frameRate'
446
+ required: ['width', 'height', 'codec', 'frameRate']
447
+
448
+ ma35dLadderRung:
449
+ type: object
450
+ properties:
451
+ width:
452
+ type: number
453
+ height:
454
+ type: number
455
+ codec:
456
+ oneOf:
457
+ - $ref: '#/components/schemas/ma35dH264Codec'
458
+ - $ref: '#/components/schemas/ma35dHevcCodec'
459
+ frameRate:
460
+ $ref: '#/components/schemas/frameRate'
461
+ required: ['width', 'height', 'codec', 'frameRate']
462
+
463
+ loganLadderRung:
464
+ type: object
465
+ properties:
466
+ width:
467
+ type: number
468
+ height:
469
+ type: number
470
+ codec:
471
+ oneOf:
472
+ - $ref: '#/components/schemas/loganH264Codec'
473
+ frameRate:
474
+ $ref: '#/components/schemas/frameRate'
475
+ required: ['width', 'height', 'codec', 'frameRate']
476
+
477
+ nvidiaLadderRung:
478
+ type: object
479
+ properties:
480
+ width:
481
+ type: number
482
+ height:
483
+ type: number
484
+ codec:
485
+ oneOf:
486
+ - $ref: '#/components/schemas/nvidiaH264Codec'
487
+ frameRate:
488
+ $ref: '#/components/schemas/frameRate'
489
+ required: ['width', 'height', 'codec', 'frameRate']
490
+
491
+ quadraLadderRung:
492
+ type: object
493
+ properties:
494
+ width:
495
+ type: number
496
+ height:
497
+ type: number
498
+ codec:
499
+ oneOf:
500
+ - $ref: '#/components/schemas/quadraH264Codec'
501
+ frameRate:
502
+ $ref: '#/components/schemas/frameRate'
503
+ required: ['width', 'height', 'codec', 'frameRate']
504
+
505
+ ladderRungDefinition:
506
+ type: object
507
+ properties:
508
+ name:
509
+ type: string
510
+ software:
511
+ $ref: '#/components/schemas/softwareLadderRung'
512
+ ma35d:
513
+ $ref: '#/components/schemas/ma35dLadderRung'
514
+ logan:
515
+ $ref: '#/components/schemas/loganLadderRung'
516
+ nvidia:
517
+ $ref: '#/components/schemas/nvidiaLadderRung'
518
+ quadra:
519
+ $ref: '#/components/schemas/quadraLadderRung'
520
+ required: ['name']
521
+
522
+ fixedLadderConfig:
523
+ type: object
524
+ properties:
525
+ __global:
526
+ type: object
527
+ properties:
528
+ hardware:
529
+ type: string
530
+ enum: ['software', 'ma35d', 'logan', 'nvidia', 'quadra']
531
+ id:
532
+ type: string
533
+ displayName:
534
+ type: string
535
+ notes:
536
+ type: string
537
+ rungs:
538
+ type: array
539
+ items:
540
+ $ref: '#/components/schemas/ladderRungDefinition'
541
+ required: ['id', 'displayName', 'rungs']
@@ -63,6 +63,10 @@ function default_1({ defineComponent, Video }) {
63
63
  switch (evType) {
64
64
  case "graphic-changed":
65
65
  return { ...state, activeGraphic: { file: ev.file, position: ev.position } };
66
+ case "video-changed":
67
+ return { ...state, currentVideo: ev.currentVideo };
68
+ case "graphic-loaded":
69
+ return { ...state, currentGraphic: ev.currentGraphic };
66
70
  default:
67
71
  assertUnreachable(evType);
68
72
  }
@@ -87,13 +91,15 @@ function default_1({ defineComponent, Video }) {
87
91
  type: 'select',
88
92
  optional: true,
89
93
  options: [
90
- { value: 'topleft', display: 'Top Left' },
91
- { value: 'topright', display: 'Top Right' },
92
- { value: 'bottomleft', display: 'Bottom Left' },
93
- { value: 'bottomright', display: 'Bottom Right' }
94
+ { value: { type: "named", position: "topleft" }, display: 'Top Left' },
95
+ { value: { type: "named", position: "topright" }, display: 'Top Right' },
96
+ { value: { type: "named", position: "bottomleft" }, display: 'Bottom Left' },
97
+ { value: { type: "named", position: "bottomright" }, display: 'Bottom Right' },
98
+ { value: { type: "named", position: "center" }, display: 'Centered' }
94
99
  ]
95
100
  }
96
- }
101
+ },
102
+ notes: { help: "Notes about this component", hint: { type: 'text', optional: true } },
97
103
  }
98
104
  }
99
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.onscreenGraphic/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,4BA0EC;AA7ED,uEAA+E;AAC/E,kDAA0B;AAE1B,mBAAyB,EACvB,eAAe,EACf,KAAK,EACQ;IACb,MAAM,gBAAgB,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,mBAAmB,GAAC,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,gBAAgB,GAAC,CAAC,CAAC;IAErE,OAAO,eAAe,CAA4F;QAChH,UAAU,EAAE,2BAA2B;QACvC,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,+BAA+B;QAC5C,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;SACF;QACD,eAAe,EAAE,UAAU,GAAG;YAC5B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM;aAC9C,CAAA;QACH,CAAC;QACD,OAAO,EAAE;YACP,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EACpB,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,iBAAiB;wBACpB,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC/E;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,cAAc,EAAE;oBACd,IAAI,EAAE,qDAAqD;oBAC3D,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,SAAS,EAAE,gBAAgB;qBAC5B;iBACF;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,qDAAqD;oBAC3D,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE;4BACP,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE;4BACzC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE;4BAC3C,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE;4BAC/C,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE;yBAClD;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.onscreenGraphic/info.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@ import { CreatedMediaNode, InstanceRouteInfo, OnCreated, RelatedMediaNodes, Runt
3
3
  import { HardwareAccelerationType } from '@norskvideo/norsk-studio/lib/shared/config';
4
4
  import { ContextPromiseControl } from '@norskvideo/norsk-studio/lib/runtime/util';
5
5
  import { components } from './types';
6
- export type OnscreenGraphicPosition = components['schemas']['position'];
6
+ export type OnscreenGraphicPosition = CoordinatePosition | PercentagePosition | NamedPosition;
7
+ export type CoordinatePosition = components['schemas']['coordinatePosition'];
8
+ export type PercentagePosition = components['schemas']['percentagePosition'];
9
+ export type NamedPosition = components['schemas']['namedPosition'];
7
10
  export type OnscreenGraphicFile = components['schemas']['graphic'];
8
11
  export type OnscreenGraphicApiConfig = components['schemas']['config'];
9
12
  export type OnscreenGraphicConfig = {
@@ -13,6 +16,7 @@ export type OnscreenGraphicConfig = {
13
16
  };
14
17
  id: string;
15
18
  displayName: string;
19
+ notes?: string;
16
20
  initialGraphic?: OnscreenGraphicFile;
17
21
  initialPosition?: OnscreenGraphicPosition;
18
22
  };
@@ -21,6 +25,14 @@ export type OnscreenGraphicState = {
21
25
  file?: OnscreenGraphicFile;
22
26
  position?: OnscreenGraphicPosition;
23
27
  };
28
+ currentVideo?: {
29
+ width: number;
30
+ height: number;
31
+ };
32
+ currentGraphic?: {
33
+ width: number;
34
+ height: number;
35
+ };
24
36
  };
25
37
  export type OnscreenGraphicCommand = {
26
38
  type: 'change-graphic';
@@ -31,6 +43,18 @@ export type OnscreenGraphicEvent = {
31
43
  type: 'graphic-changed';
32
44
  file?: OnscreenGraphicFile;
33
45
  position?: OnscreenGraphicPosition;
46
+ } | {
47
+ type: 'video-changed';
48
+ currentVideo?: {
49
+ width: number;
50
+ height: number;
51
+ };
52
+ } | {
53
+ type: 'graphic-loaded';
54
+ currentGraphic?: {
55
+ width: number;
56
+ height: number;
57
+ };
34
58
  };
35
59
  export default class OnscreenGraphicDefinition implements ServerComponentDefinition<OnscreenGraphicConfig, OnscreenGraphic, OnscreenGraphicState, OnscreenGraphicCommand, OnscreenGraphicEvent> {
36
60
  create(norsk: Norsk, cfg: OnscreenGraphicConfig, cb: OnCreated<OnscreenGraphic>, runtime: StudioRuntime<OnscreenGraphicState, OnscreenGraphicCommand, OnscreenGraphicEvent>): Promise<void>;
@@ -50,7 +74,8 @@ export declare class OnscreenGraphic implements CreatedMediaNode {
50
74
  composeNode?: VideoComposeNode<"video" | "graphic">;
51
75
  imageSource?: FileImageInputNode;
52
76
  oldImageSource?: FileImageInputNode;
53
- activeImage: "a" | "b";
77
+ activeImage: number;
78
+ composeId: number;
54
79
  initialised: Promise<void>;
55
80
  updates: RuntimeUpdates<OnscreenGraphicState, OnscreenGraphicCommand, OnscreenGraphicEvent>;
56
81
  currentVideo?: VideoStreamMetadata;