@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
@@ -22,7 +22,10 @@ export interface components {
22
22
  x264Codec: {
23
23
  type: "x264";
24
24
  threads?: number;
25
- bitrateMode?: components["schemas"]["x26xBitrateMode"];
25
+ bitrateMode?: {
26
+ value: number;
27
+ mode: "abr" | "cqp" | "crf";
28
+ };
26
29
  profile?: "baseline" | "main" | "high" | "high10" | "high422" | "high444";
27
30
  level?: 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;
28
31
  keyFrameIntervalMin?: number;
@@ -74,13 +77,28 @@ export interface components {
74
77
  level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
75
78
  profile?: "baseline" | "main" | "high" | "high444";
76
79
  outputAud?: boolean;
77
- rateControl?: components["schemas"]["nvidiaRateControl"];
80
+ rateControl?: {
81
+ mode: "con_stqp" | "vbr" | "cbr";
82
+ averageBitrate: number;
83
+ maxBitrate?: number;
84
+ vbvBufferSize?: number;
85
+ vbvInitialDelay?: number;
86
+ enableLookahead?: boolean;
87
+ strictGopTarget?: boolean;
88
+ lookaheadDepth?: number;
89
+ enableTemporalAQ?: boolean;
90
+ enableSpatialAQ?: boolean;
91
+ aqStrength?: number;
92
+ };
78
93
  useBFramesAsRef?: "disabled" | "each" | "middle";
79
94
  };
80
95
  x265Codec: {
81
96
  type: "x265";
82
97
  threads?: number;
83
- bitrateMode?: components["schemas"]["x26xBitrateMode"];
98
+ bitrateMode?: {
99
+ value: number;
100
+ mode: "abr" | "cqp" | "crf";
101
+ };
84
102
  profile?: "main" | "main10" | "main444_8" | "main422_10" | "main444_10";
85
103
  level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
86
104
  tier?: "main" | "high";
@@ -135,7 +153,19 @@ export interface components {
135
153
  profile?: "main" | "main10";
136
154
  outputAud?: boolean;
137
155
  tier?: "main" | "high";
138
- rateControl?: components["schemas"]["nvidiaRateControl"];
156
+ rateControl?: {
157
+ mode: "con_stqp" | "vbr" | "cbr";
158
+ averageBitrate: number;
159
+ maxBitrate?: number;
160
+ vbvBufferSize?: number;
161
+ vbvInitialDelay?: number;
162
+ enableLookahead?: boolean;
163
+ strictGopTarget?: boolean;
164
+ lookaheadDepth?: number;
165
+ enableTemporalAQ?: boolean;
166
+ enableSpatialAQ?: boolean;
167
+ aqStrength?: number;
168
+ };
139
169
  useBFramesAsRef?: "disabled" | "each" | "middle";
140
170
  };
141
171
  quadraAV1Codec: {
@@ -163,18 +193,120 @@ export interface components {
163
193
  vbvBufferSize?: number;
164
194
  vbvMaxRate?: number;
165
195
  };
166
- frameRate: components["schemas"]["FrameRate"];
196
+ frameRate: {
197
+ frames: number;
198
+ seconds: number;
199
+ };
167
200
  softwareLadderRung: {
168
201
  width: number;
169
202
  height: number;
170
- codec: components["schemas"]["x264Codec"] | components["schemas"]["x265Codec"];
171
- frameRate: components["schemas"]["FrameRate"];
203
+ codec: {
204
+ type: "x264";
205
+ threads?: number;
206
+ bitrateMode?: {
207
+ value: number;
208
+ mode: "abr" | "cqp" | "crf";
209
+ };
210
+ profile?: "baseline" | "main" | "high" | "high10" | "high422" | "high444";
211
+ level?: 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;
212
+ keyFrameIntervalMin?: number;
213
+ keyFrameIntervalMax?: number;
214
+ bframes?: number;
215
+ tune?: "film" | "animation" | "grain" | "stillimage" | "psnr" | "ssim" | "fastdecode" | "zerolatency";
216
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
217
+ frameReference?: number;
218
+ cabac?: boolean;
219
+ vbvMaxRate?: number;
220
+ vbvBufferSize?: number;
221
+ sceneCut?: number;
222
+ aud?: boolean;
223
+ noDeblock?: boolean;
224
+ nalHrd?: "none" | "vbr" | "cbr";
225
+ } | {
226
+ type: "x265";
227
+ threads?: number;
228
+ bitrateMode?: {
229
+ value: number;
230
+ mode: "abr" | "cqp" | "crf";
231
+ };
232
+ profile?: "main" | "main10" | "main444_8" | "main422_10" | "main444_10";
233
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
234
+ tier?: "main" | "high";
235
+ keyFrameIntervalMin?: number;
236
+ keyFrameIntervalMax?: number;
237
+ bframes?: number;
238
+ tune?: "psnr" | "ssim" | "grain" | "zerolatency" | "fastdecode" | "animation";
239
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
240
+ frameReference?: number;
241
+ vbvMaxRate?: number;
242
+ vbvBufferSize?: number;
243
+ sceneCut?: number;
244
+ aud?: boolean;
245
+ noDeblock?: boolean;
246
+ };
247
+ frameRate: {
248
+ frames: number;
249
+ seconds: number;
250
+ };
172
251
  };
173
252
  nvidiaLadderRung: {
174
253
  width: number;
175
254
  height: number;
176
- codec: components["schemas"]["nvidiaH264Codec"] | components["schemas"]["nvidiaHEVCCodec"];
177
- frameRate: components["schemas"]["FrameRate"];
255
+ codec: {
256
+ type: "nv-h264";
257
+ preset?: "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7";
258
+ tuning?: "high_quality" | "low_latency" | "ultra_low_latency" | "lossless";
259
+ idrPeriod?: number;
260
+ gopInterval?: number;
261
+ frameIntervalP?: number;
262
+ maxNumRefFrames?: number;
263
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
264
+ profile?: "baseline" | "main" | "high" | "high444";
265
+ outputAud?: boolean;
266
+ rateControl?: {
267
+ mode: "con_stqp" | "vbr" | "cbr";
268
+ averageBitrate: number;
269
+ maxBitrate?: number;
270
+ vbvBufferSize?: number;
271
+ vbvInitialDelay?: number;
272
+ enableLookahead?: boolean;
273
+ strictGopTarget?: boolean;
274
+ lookaheadDepth?: number;
275
+ enableTemporalAQ?: boolean;
276
+ enableSpatialAQ?: boolean;
277
+ aqStrength?: number;
278
+ };
279
+ useBFramesAsRef?: "disabled" | "each" | "middle";
280
+ } | {
281
+ type: "nv-hevc";
282
+ preset?: "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7";
283
+ tuning?: "high_quality" | "low_latency" | "ultra_low_latency" | "lossless";
284
+ idrPeriod?: number;
285
+ gopInterval?: number;
286
+ frameIntervalP?: number;
287
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
288
+ profile?: "main" | "main10";
289
+ outputAud?: boolean;
290
+ tier?: "main" | "high";
291
+ rateControl?: {
292
+ mode: "con_stqp" | "vbr" | "cbr";
293
+ averageBitrate: number;
294
+ maxBitrate?: number;
295
+ vbvBufferSize?: number;
296
+ vbvInitialDelay?: number;
297
+ enableLookahead?: boolean;
298
+ strictGopTarget?: boolean;
299
+ lookaheadDepth?: number;
300
+ enableTemporalAQ?: boolean;
301
+ enableSpatialAQ?: boolean;
302
+ aqStrength?: number;
303
+ };
304
+ useBFramesAsRef?: "disabled" | "each" | "middle";
305
+ };
306
+ frameRate: {
307
+ frames: number;
308
+ seconds: number;
309
+ };
178
310
  };
179
311
  quadraLadderRung: {
180
312
  width: number;
@@ -183,24 +315,492 @@ export interface components {
183
315
  type: "quadra";
184
316
  rescaler: "default" | "filterblit" | "bicubic";
185
317
  };
186
- codec: components["schemas"]["quadraH264Codec"] | components["schemas"]["quadraHEVCCodec"] | components["schemas"]["quadraAV1Codec"];
187
- frameRate: components["schemas"]["FrameRate"];
318
+ codec: {
319
+ type: "quadra-h264";
320
+ extraOpts?: string;
321
+ enableAud?: boolean;
322
+ gpuIndex?: number;
323
+ bitrate?: number;
324
+ enableVfr?: boolean;
325
+ crf?: number;
326
+ gopPresetIndex?: number;
327
+ intraPeriod?: number;
328
+ rcEnable?: boolean;
329
+ intraQp?: number;
330
+ rcInitDelay?: number;
331
+ profile?: "baseline" | "main" | "extended" | "high" | "high10";
332
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
333
+ fillerEnable?: boolean;
334
+ minQp?: number;
335
+ maxQp?: number;
336
+ maxDeltaQp?: number;
337
+ cuLevelRCEnable?: boolean;
338
+ lookAheadDepth?: number;
339
+ vbvBufferSize?: number;
340
+ vbvMaxRate?: number;
341
+ } | {
342
+ type: "quadra-hevc";
343
+ extraOpts?: string;
344
+ enableAud?: boolean;
345
+ gpuIndex?: number;
346
+ bitrate?: number;
347
+ enableVfr?: boolean;
348
+ crf?: number;
349
+ gopPresetIndex?: number;
350
+ intraPeriod?: number;
351
+ rcEnable?: boolean;
352
+ intraQp?: number;
353
+ rcInitDelay?: number;
354
+ profile?: "main" | "main10";
355
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
356
+ tier?: "main" | "high";
357
+ lossless?: boolean;
358
+ hrdEnable?: boolean;
359
+ dolbyVisionProfile?: number;
360
+ fillerEnable?: boolean;
361
+ minQp?: number;
362
+ maxQp?: number;
363
+ maxDeltaQp?: number;
364
+ cuLevelRCEnable?: boolean;
365
+ lookAheadDepth?: number;
366
+ vbvBufferSize?: number;
367
+ vbvMaxRate?: number;
368
+ } | {
369
+ type: "quadra-av1";
370
+ extraOpts?: string;
371
+ enableAud?: boolean;
372
+ gpuIndex?: number;
373
+ bitrate?: number;
374
+ enableVfr?: boolean;
375
+ crf?: number;
376
+ gopPresetIndex?: number;
377
+ intraPeriod?: number;
378
+ rcEnable?: boolean;
379
+ intraQp?: number;
380
+ rcInitDelay?: number;
381
+ profile?: "main_420_8";
382
+ tier?: "main" | "high";
383
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
384
+ fillerEnable?: boolean;
385
+ minQp?: number;
386
+ maxQp?: number;
387
+ maxDeltaQp?: number;
388
+ cuLevelRCEnable?: boolean;
389
+ lookAheadDepth?: number;
390
+ vbvBufferSize?: number;
391
+ vbvMaxRate?: number;
392
+ };
393
+ frameRate: {
394
+ frames: number;
395
+ seconds: number;
396
+ };
188
397
  };
189
398
  ladderRungDefinition: {
190
399
  name: string;
191
- software?: components["schemas"]["softwareLadderRung"];
192
- nvidia?: components["schemas"]["nvidiaLadderRung"];
193
- quadra?: components["schemas"]["quadraLadderRung"];
400
+ software?: {
401
+ width: number;
402
+ height: number;
403
+ codec: {
404
+ type: "x264";
405
+ threads?: number;
406
+ bitrateMode?: {
407
+ value: number;
408
+ mode: "abr" | "cqp" | "crf";
409
+ };
410
+ profile?: "baseline" | "main" | "high" | "high10" | "high422" | "high444";
411
+ level?: 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;
412
+ keyFrameIntervalMin?: number;
413
+ keyFrameIntervalMax?: number;
414
+ bframes?: number;
415
+ tune?: "film" | "animation" | "grain" | "stillimage" | "psnr" | "ssim" | "fastdecode" | "zerolatency";
416
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
417
+ frameReference?: number;
418
+ cabac?: boolean;
419
+ vbvMaxRate?: number;
420
+ vbvBufferSize?: number;
421
+ sceneCut?: number;
422
+ aud?: boolean;
423
+ noDeblock?: boolean;
424
+ nalHrd?: "none" | "vbr" | "cbr";
425
+ } | {
426
+ type: "x265";
427
+ threads?: number;
428
+ bitrateMode?: {
429
+ value: number;
430
+ mode: "abr" | "cqp" | "crf";
431
+ };
432
+ profile?: "main" | "main10" | "main444_8" | "main422_10" | "main444_10";
433
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
434
+ tier?: "main" | "high";
435
+ keyFrameIntervalMin?: number;
436
+ keyFrameIntervalMax?: number;
437
+ bframes?: number;
438
+ tune?: "psnr" | "ssim" | "grain" | "zerolatency" | "fastdecode" | "animation";
439
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
440
+ frameReference?: number;
441
+ vbvMaxRate?: number;
442
+ vbvBufferSize?: number;
443
+ sceneCut?: number;
444
+ aud?: boolean;
445
+ noDeblock?: boolean;
446
+ };
447
+ frameRate: {
448
+ frames: number;
449
+ seconds: number;
450
+ };
451
+ };
452
+ nvidia?: {
453
+ width: number;
454
+ height: number;
455
+ codec: {
456
+ type: "nv-h264";
457
+ preset?: "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7";
458
+ tuning?: "high_quality" | "low_latency" | "ultra_low_latency" | "lossless";
459
+ idrPeriod?: number;
460
+ gopInterval?: number;
461
+ frameIntervalP?: number;
462
+ maxNumRefFrames?: number;
463
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
464
+ profile?: "baseline" | "main" | "high" | "high444";
465
+ outputAud?: boolean;
466
+ rateControl?: {
467
+ mode: "con_stqp" | "vbr" | "cbr";
468
+ averageBitrate: number;
469
+ maxBitrate?: number;
470
+ vbvBufferSize?: number;
471
+ vbvInitialDelay?: number;
472
+ enableLookahead?: boolean;
473
+ strictGopTarget?: boolean;
474
+ lookaheadDepth?: number;
475
+ enableTemporalAQ?: boolean;
476
+ enableSpatialAQ?: boolean;
477
+ aqStrength?: number;
478
+ };
479
+ useBFramesAsRef?: "disabled" | "each" | "middle";
480
+ } | {
481
+ type: "nv-hevc";
482
+ preset?: "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7";
483
+ tuning?: "high_quality" | "low_latency" | "ultra_low_latency" | "lossless";
484
+ idrPeriod?: number;
485
+ gopInterval?: number;
486
+ frameIntervalP?: number;
487
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
488
+ profile?: "main" | "main10";
489
+ outputAud?: boolean;
490
+ tier?: "main" | "high";
491
+ rateControl?: {
492
+ mode: "con_stqp" | "vbr" | "cbr";
493
+ averageBitrate: number;
494
+ maxBitrate?: number;
495
+ vbvBufferSize?: number;
496
+ vbvInitialDelay?: number;
497
+ enableLookahead?: boolean;
498
+ strictGopTarget?: boolean;
499
+ lookaheadDepth?: number;
500
+ enableTemporalAQ?: boolean;
501
+ enableSpatialAQ?: boolean;
502
+ aqStrength?: number;
503
+ };
504
+ useBFramesAsRef?: "disabled" | "each" | "middle";
505
+ };
506
+ frameRate: {
507
+ frames: number;
508
+ seconds: number;
509
+ };
510
+ };
511
+ quadra?: {
512
+ width: number;
513
+ height: number;
514
+ pipelineHints?: {
515
+ type: "quadra";
516
+ rescaler: "default" | "filterblit" | "bicubic";
517
+ };
518
+ codec: {
519
+ type: "quadra-h264";
520
+ extraOpts?: string;
521
+ enableAud?: boolean;
522
+ gpuIndex?: number;
523
+ bitrate?: number;
524
+ enableVfr?: boolean;
525
+ crf?: number;
526
+ gopPresetIndex?: number;
527
+ intraPeriod?: number;
528
+ rcEnable?: boolean;
529
+ intraQp?: number;
530
+ rcInitDelay?: number;
531
+ profile?: "baseline" | "main" | "extended" | "high" | "high10";
532
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
533
+ fillerEnable?: boolean;
534
+ minQp?: number;
535
+ maxQp?: number;
536
+ maxDeltaQp?: number;
537
+ cuLevelRCEnable?: boolean;
538
+ lookAheadDepth?: number;
539
+ vbvBufferSize?: number;
540
+ vbvMaxRate?: number;
541
+ } | {
542
+ type: "quadra-hevc";
543
+ extraOpts?: string;
544
+ enableAud?: boolean;
545
+ gpuIndex?: number;
546
+ bitrate?: number;
547
+ enableVfr?: boolean;
548
+ crf?: number;
549
+ gopPresetIndex?: number;
550
+ intraPeriod?: number;
551
+ rcEnable?: boolean;
552
+ intraQp?: number;
553
+ rcInitDelay?: number;
554
+ profile?: "main" | "main10";
555
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
556
+ tier?: "main" | "high";
557
+ lossless?: boolean;
558
+ hrdEnable?: boolean;
559
+ dolbyVisionProfile?: number;
560
+ fillerEnable?: boolean;
561
+ minQp?: number;
562
+ maxQp?: number;
563
+ maxDeltaQp?: number;
564
+ cuLevelRCEnable?: boolean;
565
+ lookAheadDepth?: number;
566
+ vbvBufferSize?: number;
567
+ vbvMaxRate?: number;
568
+ } | {
569
+ type: "quadra-av1";
570
+ extraOpts?: string;
571
+ enableAud?: boolean;
572
+ gpuIndex?: number;
573
+ bitrate?: number;
574
+ enableVfr?: boolean;
575
+ crf?: number;
576
+ gopPresetIndex?: number;
577
+ intraPeriod?: number;
578
+ rcEnable?: boolean;
579
+ intraQp?: number;
580
+ rcInitDelay?: number;
581
+ profile?: "main_420_8";
582
+ tier?: "main" | "high";
583
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
584
+ fillerEnable?: boolean;
585
+ minQp?: number;
586
+ maxQp?: number;
587
+ maxDeltaQp?: number;
588
+ cuLevelRCEnable?: boolean;
589
+ lookAheadDepth?: number;
590
+ vbvBufferSize?: number;
591
+ vbvMaxRate?: number;
592
+ };
593
+ frameRate: {
594
+ frames: number;
595
+ seconds: number;
596
+ };
597
+ };
194
598
  };
195
599
  fixedLadderConfig: {
196
600
  id: string;
197
601
  displayName: string;
198
602
  notes?: string;
199
- rungs: components["schemas"]["ladderRungDefinition"][];
200
- };
201
- FrameRate: {
202
- frames: number;
203
- seconds: number;
603
+ rungs: {
604
+ name: string;
605
+ software?: {
606
+ width: number;
607
+ height: number;
608
+ codec: {
609
+ type: "x264";
610
+ threads?: number;
611
+ bitrateMode?: {
612
+ value: number;
613
+ mode: "abr" | "cqp" | "crf";
614
+ };
615
+ profile?: "baseline" | "main" | "high" | "high10" | "high422" | "high444";
616
+ level?: 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;
617
+ keyFrameIntervalMin?: number;
618
+ keyFrameIntervalMax?: number;
619
+ bframes?: number;
620
+ tune?: "film" | "animation" | "grain" | "stillimage" | "psnr" | "ssim" | "fastdecode" | "zerolatency";
621
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
622
+ frameReference?: number;
623
+ cabac?: boolean;
624
+ vbvMaxRate?: number;
625
+ vbvBufferSize?: number;
626
+ sceneCut?: number;
627
+ aud?: boolean;
628
+ noDeblock?: boolean;
629
+ nalHrd?: "none" | "vbr" | "cbr";
630
+ } | {
631
+ type: "x265";
632
+ threads?: number;
633
+ bitrateMode?: {
634
+ value: number;
635
+ mode: "abr" | "cqp" | "crf";
636
+ };
637
+ profile?: "main" | "main10" | "main444_8" | "main422_10" | "main444_10";
638
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
639
+ tier?: "main" | "high";
640
+ keyFrameIntervalMin?: number;
641
+ keyFrameIntervalMax?: number;
642
+ bframes?: number;
643
+ tune?: "psnr" | "ssim" | "grain" | "zerolatency" | "fastdecode" | "animation";
644
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
645
+ frameReference?: number;
646
+ vbvMaxRate?: number;
647
+ vbvBufferSize?: number;
648
+ sceneCut?: number;
649
+ aud?: boolean;
650
+ noDeblock?: boolean;
651
+ };
652
+ frameRate: {
653
+ frames: number;
654
+ seconds: number;
655
+ };
656
+ };
657
+ nvidia?: {
658
+ width: number;
659
+ height: number;
660
+ codec: {
661
+ type: "nv-h264";
662
+ preset?: "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7";
663
+ tuning?: "high_quality" | "low_latency" | "ultra_low_latency" | "lossless";
664
+ idrPeriod?: number;
665
+ gopInterval?: number;
666
+ frameIntervalP?: number;
667
+ maxNumRefFrames?: number;
668
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
669
+ profile?: "baseline" | "main" | "high" | "high444";
670
+ outputAud?: boolean;
671
+ rateControl?: {
672
+ mode: "con_stqp" | "vbr" | "cbr";
673
+ averageBitrate: number;
674
+ maxBitrate?: number;
675
+ vbvBufferSize?: number;
676
+ vbvInitialDelay?: number;
677
+ enableLookahead?: boolean;
678
+ strictGopTarget?: boolean;
679
+ lookaheadDepth?: number;
680
+ enableTemporalAQ?: boolean;
681
+ enableSpatialAQ?: boolean;
682
+ aqStrength?: number;
683
+ };
684
+ useBFramesAsRef?: "disabled" | "each" | "middle";
685
+ } | {
686
+ type: "nv-hevc";
687
+ preset?: "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7";
688
+ tuning?: "high_quality" | "low_latency" | "ultra_low_latency" | "lossless";
689
+ idrPeriod?: number;
690
+ gopInterval?: number;
691
+ frameIntervalP?: number;
692
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
693
+ profile?: "main" | "main10";
694
+ outputAud?: boolean;
695
+ tier?: "main" | "high";
696
+ rateControl?: {
697
+ mode: "con_stqp" | "vbr" | "cbr";
698
+ averageBitrate: number;
699
+ maxBitrate?: number;
700
+ vbvBufferSize?: number;
701
+ vbvInitialDelay?: number;
702
+ enableLookahead?: boolean;
703
+ strictGopTarget?: boolean;
704
+ lookaheadDepth?: number;
705
+ enableTemporalAQ?: boolean;
706
+ enableSpatialAQ?: boolean;
707
+ aqStrength?: number;
708
+ };
709
+ useBFramesAsRef?: "disabled" | "each" | "middle";
710
+ };
711
+ frameRate: {
712
+ frames: number;
713
+ seconds: number;
714
+ };
715
+ };
716
+ quadra?: {
717
+ width: number;
718
+ height: number;
719
+ pipelineHints?: {
720
+ type: "quadra";
721
+ rescaler: "default" | "filterblit" | "bicubic";
722
+ };
723
+ codec: {
724
+ type: "quadra-h264";
725
+ extraOpts?: string;
726
+ enableAud?: boolean;
727
+ gpuIndex?: number;
728
+ bitrate?: number;
729
+ enableVfr?: boolean;
730
+ crf?: number;
731
+ gopPresetIndex?: number;
732
+ intraPeriod?: number;
733
+ rcEnable?: boolean;
734
+ intraQp?: number;
735
+ rcInitDelay?: number;
736
+ profile?: "baseline" | "main" | "extended" | "high" | "high10";
737
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
738
+ fillerEnable?: boolean;
739
+ minQp?: number;
740
+ maxQp?: number;
741
+ maxDeltaQp?: number;
742
+ cuLevelRCEnable?: boolean;
743
+ lookAheadDepth?: number;
744
+ vbvBufferSize?: number;
745
+ vbvMaxRate?: number;
746
+ } | {
747
+ type: "quadra-hevc";
748
+ extraOpts?: string;
749
+ enableAud?: boolean;
750
+ gpuIndex?: number;
751
+ bitrate?: number;
752
+ enableVfr?: boolean;
753
+ crf?: number;
754
+ gopPresetIndex?: number;
755
+ intraPeriod?: number;
756
+ rcEnable?: boolean;
757
+ intraQp?: number;
758
+ rcInitDelay?: number;
759
+ profile?: "main" | "main10";
760
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
761
+ tier?: "main" | "high";
762
+ lossless?: boolean;
763
+ hrdEnable?: boolean;
764
+ dolbyVisionProfile?: number;
765
+ fillerEnable?: boolean;
766
+ minQp?: number;
767
+ maxQp?: number;
768
+ maxDeltaQp?: number;
769
+ cuLevelRCEnable?: boolean;
770
+ lookAheadDepth?: number;
771
+ vbvBufferSize?: number;
772
+ vbvMaxRate?: number;
773
+ } | {
774
+ type: "quadra-av1";
775
+ extraOpts?: string;
776
+ enableAud?: boolean;
777
+ gpuIndex?: number;
778
+ bitrate?: number;
779
+ enableVfr?: boolean;
780
+ crf?: number;
781
+ gopPresetIndex?: number;
782
+ intraPeriod?: number;
783
+ rcEnable?: boolean;
784
+ intraQp?: number;
785
+ rcInitDelay?: number;
786
+ profile?: "main_420_8";
787
+ tier?: "main" | "high";
788
+ level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
789
+ fillerEnable?: boolean;
790
+ minQp?: number;
791
+ maxQp?: number;
792
+ maxDeltaQp?: number;
793
+ cuLevelRCEnable?: boolean;
794
+ lookAheadDepth?: number;
795
+ vbvBufferSize?: number;
796
+ vbvMaxRate?: number;
797
+ };
798
+ frameRate: {
799
+ frames: number;
800
+ seconds: number;
801
+ };
802
+ };
803
+ }[];
204
804
  };
205
805
  };
206
806
  responses: never;