@norskvideo/norsk-studio-built-ins 1.0.8 → 1.1.0

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.
@@ -0,0 +1,7 @@
1
+ type CodecEditorProps<Codec> = {
2
+ defaultValue?: Codec;
3
+ id: string;
4
+ onChanged: (value: Codec) => void;
5
+ };
6
+ export default function CodecEditor<Codec>(props: CodecEditorProps<Codec>): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
5
+ function CodecEditor(props) {
6
+ (0, react_1.useEffect)(() => { if (props.defaultValue)
7
+ props.onChanged(props.defaultValue); }, [props.defaultValue]);
8
+ const textAreaRef = (0, react_1.useRef)(null);
9
+ const [value, setValue] = (0, react_1.useState)(props.defaultValue);
10
+ (0, react_1.useEffect)(() => {
11
+ if (textAreaRef.current) {
12
+ const target = textAreaRef.current;
13
+ target.style.height = "";
14
+ target.style.height = target.scrollHeight + "px";
15
+ }
16
+ }, []);
17
+ return (0, jsx_runtime_1.jsx)("textarea", { ref: textAreaRef, className: "w-full min-h-fit dark:text-white dark:bg-black", onChange: (e) => {
18
+ const target = e.currentTarget;
19
+ try {
20
+ const codec = JSON.parse(target.value);
21
+ setValue(codec);
22
+ props.onChanged(codec);
23
+ }
24
+ catch (e) {
25
+ }
26
+ }, defaultValue: JSON.stringify(value, undefined, 2) });
27
+ }
28
+ exports.default = CodecEditor;
29
+ //# sourceMappingURL=codec-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-editor.js","sourceRoot":"","sources":["../../src/processor.fixedLadder/codec-editor.tsx"],"names":[],"mappings":";;;AAAA,iCAAoD;AAQpD,SAAwB,WAAW,CAAQ,KAA8B;IACvE,IAAA,iBAAS,EAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,YAAY;QAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACxG,MAAM,WAAW,GAAG,IAAA,cAAM,EAA6B,IAAI,CAAC,CAAC;IAE7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEvD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7E,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,qCACL,GAAG,EAAE,WAAW,EAChB,SAAS,EAAC,gDAAgD,EAC1D,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YAEb,CAAC;QACH,CAAC,EACD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,GAAa,CAAA;AAClE,CAAC;AA3BD,8BA2BC"}
@@ -0,0 +1,4 @@
1
+ export default function CodecEditor(props: {
2
+ width: number;
3
+ height: number;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ function CodecEditor(props) {
5
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [props.width, "x", props.height] });
6
+ }
7
+ exports.default = CodecEditor;
8
+ //# sourceMappingURL=codec-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-view.js","sourceRoot":"","sources":["../../src/processor.fixedLadder/codec-view.tsx"],"names":[],"mappings":";;;AAAA,SAAwB,WAAW,CAAC,KAAwC;IAQ1E,OAAO,6DAAG,KAAK,CAAC,KAAK,OAAG,KAAK,CAAC,MAAM,IAAI,CAAA;AAC1C,CAAC;AATD,8BASC"}
@@ -1,8 +1,38 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
29
  exports.rungNames = void 0;
30
+ const react_1 = __importDefault(require("react"));
4
31
  const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
5
32
  function default_1({ defineComponent, Video }) {
33
+ const RungView = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./rung-view'))));
34
+ const CodecEditor = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./codec-editor'))));
35
+ const CodecView = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./codec-view'))));
6
36
  return defineComponent({
7
37
  identifier: 'processor.transform.fixedLadder',
8
38
  category: 'processor',
@@ -18,8 +48,8 @@ function default_1({ defineComponent, Video }) {
18
48
  keys: (cfg) => {
19
49
  return cfg.rungs.map((r) => {
20
50
  return {
21
- key: r,
22
- display: r,
51
+ key: r.name,
52
+ display: r.name,
23
53
  media: Video
24
54
  };
25
55
  });
@@ -37,7 +67,7 @@ function default_1({ defineComponent, Video }) {
37
67
  display: (desc) => {
38
68
  const result = {};
39
69
  desc.config.rungs.forEach((r, i) => {
40
- result[i] = r;
70
+ result[i] = r.name;
41
71
  });
42
72
  return result;
43
73
  },
@@ -47,20 +77,105 @@ function default_1({ defineComponent, Video }) {
47
77
  },
48
78
  form: {
49
79
  rungs: {
50
- help: "",
80
+ help: "The rungs in this encode ladder",
51
81
  hint: {
52
- type: 'multiselect',
53
- options: exports.rungNames.map((rn) => { return { value: rn, display: `h264: ${rn}` }; }),
54
- defaultValue: [
55
- 'h264_1920x1080',
56
- 'h264_1280x720',
57
- 'h264_640x360'
58
- ]
82
+ type: 'form-list',
83
+ envOverride: true,
84
+ newForm: {
85
+ form: {
86
+ name: {
87
+ help: "Unique name of the ladder rung (used in outputs)",
88
+ hint: {
89
+ type: "text",
90
+ defaultValue: 'default'
91
+ }
92
+ },
93
+ width: {
94
+ help: 'Width in pixels of this rung',
95
+ hint: {
96
+ type: 'numeric',
97
+ defaultValue: 640,
98
+ }
99
+ },
100
+ height: {
101
+ help: 'Width in pixels of this rung',
102
+ hint: {
103
+ type: 'numeric',
104
+ defaultValue: 360,
105
+ }
106
+ },
107
+ }, transform: (x) => ({
108
+ name: x.name,
109
+ software: createRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000, threads: 4 }),
110
+ quadra: createQuadraRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000_000 }),
111
+ logan: createLoganRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000_000 }),
112
+ nvidia: createNvidiaRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000_000 }),
113
+ ma35d: createMa35DH264RungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000_000 }),
114
+ })
115
+ },
116
+ form: {
117
+ name: {
118
+ help: "Unique name of the ladder rung (used in outputs)",
119
+ hint: {
120
+ type: "text",
121
+ defaultValue: 'default'
122
+ }
123
+ },
124
+ software: rungEditorForm('software'),
125
+ quadra: rungEditorForm('quadra'),
126
+ logan: rungEditorForm('logan'),
127
+ nvidia: rungEditorForm('nvidia'),
128
+ ma35d: rungEditorForm('ma35d'),
129
+ },
130
+ view: RungView,
131
+ defaultValue: exports.rungNames.map((n) => {
132
+ return {
133
+ name: n,
134
+ software: createSoftwareRung(n),
135
+ quadra: createQuadraRung(n),
136
+ logan: createLoganRung(n),
137
+ nvidia: createNvidiaRung(n),
138
+ ma35d: createMa35dRung(n)
139
+ };
140
+ })
59
141
  }
60
142
  }
61
143
  }
62
144
  }
63
145
  });
146
+ function rungEditorForm(mode) {
147
+ const codecHint = {
148
+ type: 'custom',
149
+ component: CodecEditor
150
+ };
151
+ return {
152
+ help: `Settings to use when encoding using ${mode} mode`,
153
+ hint: {
154
+ type: 'form-item',
155
+ view: CodecView,
156
+ form: {
157
+ width: {
158
+ help: 'Width in pixels of this rung',
159
+ hint: {
160
+ type: 'numeric',
161
+ defaultValue: 640,
162
+ }
163
+ },
164
+ height: {
165
+ help: 'Width in pixels of this rung',
166
+ hint: {
167
+ type: 'numeric',
168
+ defaultValue: 360,
169
+ }
170
+ },
171
+ codec: {
172
+ help: "Codec settings for this rung",
173
+ hint: codecHint
174
+ }
175
+ }
176
+ }
177
+ };
178
+ }
64
179
  }
65
180
  exports.default = default_1;
66
181
  exports.rungNames = ['h264_1920x1080',
@@ -68,4 +183,172 @@ exports.rungNames = ['h264_1920x1080',
68
183
  'h264_640x360',
69
184
  'h264_320x180'
70
185
  ];
186
+ function createSoftwareRung(rung) {
187
+ switch (rung) {
188
+ case 'h264_1920x1080':
189
+ return createRungImpl({ name: rung, threads: 8, bitrate: 5_000 });
190
+ case 'h264_1280x720':
191
+ return createRungImpl({ name: rung, threads: 4, bitrate: 2_500 });
192
+ case 'h264_640x360':
193
+ return createRungImpl({ name: rung, threads: 2, bitrate: 1_000 });
194
+ case 'h264_320x180':
195
+ return createRungImpl({ name: rung, threads: 1, bitrate: 800 });
196
+ default:
197
+ return assertUnreachable(rung);
198
+ }
199
+ }
200
+ function createMa35dRung(rung) {
201
+ switch (rung) {
202
+ case 'h264_1920x1080':
203
+ return createMa35DHevcRungImpl({ name: rung, bitrate: 10_000 });
204
+ case 'h264_1280x720':
205
+ return createMa35DH264RungImpl({ name: rung, bitrate: 5_000 });
206
+ case 'h264_640x360':
207
+ return createMa35DH264RungImpl({ name: rung, bitrate: 2_000 });
208
+ case 'h264_320x180':
209
+ return createMa35DH264RungImpl({ name: rung, bitrate: 1_000 });
210
+ default:
211
+ return assertUnreachable(rung);
212
+ }
213
+ }
214
+ function createNvidiaRung(rung) {
215
+ switch (rung) {
216
+ case 'h264_1920x1080':
217
+ return createNvidiaRungImpl({ name: rung, bitrate: 5_000_000 });
218
+ case 'h264_1280x720':
219
+ return createNvidiaRungImpl({ name: rung, bitrate: 2_500_000 });
220
+ case 'h264_640x360':
221
+ return createNvidiaRungImpl({ name: rung, bitrate: 1_000_000 });
222
+ case 'h264_320x180':
223
+ return createNvidiaRungImpl({ name: rung, bitrate: 800_000 });
224
+ default:
225
+ return assertUnreachable(rung);
226
+ }
227
+ }
228
+ function createQuadraRung(rung) {
229
+ switch (rung) {
230
+ case 'h264_1920x1080':
231
+ return createQuadraRungImpl({ name: rung, bitrate: 5_000_000 });
232
+ case 'h264_1280x720':
233
+ return createQuadraRungImpl({ name: rung, bitrate: 2_500_000 });
234
+ case 'h264_640x360':
235
+ return createQuadraRungImpl({ name: rung, bitrate: 1_000_000 });
236
+ case 'h264_320x180':
237
+ return createQuadraRungImpl({ name: rung, bitrate: 800_000 });
238
+ default:
239
+ return assertUnreachable(rung);
240
+ }
241
+ }
242
+ function createLoganRung(rung) {
243
+ switch (rung) {
244
+ case 'h264_1920x1080':
245
+ return createLoganRungImpl({ name: rung, bitrate: 5_000_000 });
246
+ case 'h264_1280x720':
247
+ return createLoganRungImpl({ name: rung, bitrate: 2_500_000 });
248
+ case 'h264_640x360':
249
+ return createLoganRungImpl({ name: rung, bitrate: 1_000_000 });
250
+ case 'h264_320x180':
251
+ return createLoganRungImpl({ name: rung, bitrate: 800_000 });
252
+ default:
253
+ return assertUnreachable(rung);
254
+ }
255
+ }
256
+ function createRungImpl({ name, threads, bitrate }) {
257
+ const codec = {
258
+ type: "x264",
259
+ bitrateMode: { value: bitrate, mode: "abr" },
260
+ keyFrameIntervalMax: 50,
261
+ keyFrameIntervalMin: 50,
262
+ sceneCut: 0,
263
+ preset: "fast",
264
+ tune: "zerolatency",
265
+ threads,
266
+ bframes: 0,
267
+ };
268
+ return {
269
+ width: rungWidth(name),
270
+ height: rungHeight(name),
271
+ codec,
272
+ frameRate: { frames: 25, seconds: 1 },
273
+ };
274
+ }
275
+ function createMa35DHevcRungImpl({ name, bitrate }) {
276
+ const codec = {
277
+ type: "amdMA35D-hevc",
278
+ profile: "main",
279
+ rateControl: { mode: "cbr", bitrate: bitrate },
280
+ gopSize: 50,
281
+ };
282
+ return {
283
+ width: rungWidth(name),
284
+ height: rungHeight(name),
285
+ codec,
286
+ frameRate: { frames: 25, seconds: 1 },
287
+ };
288
+ }
289
+ function createMa35DH264RungImpl({ name, bitrate }) {
290
+ const codec = {
291
+ type: "amdMA35D-h264",
292
+ profile: "main",
293
+ rateControl: { mode: "cbr", bitrate: bitrate },
294
+ gopSize: 50,
295
+ };
296
+ return {
297
+ width: rungWidth(name),
298
+ height: rungHeight(name),
299
+ codec,
300
+ frameRate: { frames: 25, seconds: 1 },
301
+ };
302
+ }
303
+ function createQuadraRungImpl({ name, bitrate }) {
304
+ const codec = {
305
+ type: "quadra-h264",
306
+ intraPeriod: 50,
307
+ bitrate
308
+ };
309
+ return {
310
+ width: rungWidth(name),
311
+ height: rungHeight(name),
312
+ codec,
313
+ frameRate: { frames: 25, seconds: 1 },
314
+ };
315
+ }
316
+ function createLoganRungImpl({ name, bitrate }) {
317
+ const codec = {
318
+ type: "logan-h264",
319
+ intraPeriod: 50,
320
+ bitrate
321
+ };
322
+ return {
323
+ width: rungWidth(name),
324
+ height: rungHeight(name),
325
+ codec,
326
+ frameRate: { frames: 25, seconds: 1 },
327
+ };
328
+ }
329
+ function createNvidiaRungImpl({ name, bitrate }) {
330
+ const codec = {
331
+ type: "nv-h264",
332
+ idrPeriod: 50,
333
+ rateControl: {
334
+ mode: 'vbr',
335
+ averageBitrate: bitrate
336
+ }
337
+ };
338
+ return {
339
+ width: rungWidth(name),
340
+ height: rungHeight(name),
341
+ codec,
342
+ frameRate: { frames: 25, seconds: 1 },
343
+ };
344
+ }
345
+ function rungWidth(rungName) {
346
+ return parseInt(rungName.split('_')[1].split(`x`)[0]);
347
+ }
348
+ function rungHeight(rungName) {
349
+ return parseInt(rungName.split('_')[1].split(`x`)[1]);
350
+ }
351
+ function assertUnreachable(_) {
352
+ throw new Error("Didn't expect to get here");
353
+ }
71
354
  //# sourceMappingURL=info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.fixedLadder/info.ts"],"names":[],"mappings":";;;AAIA,uEAA+E;AAG/E,mBAAyB,EACvB,eAAe,EACf,KAAK,EACQ;IACb,OAAO,eAAe,CAAoB;QACxC,UAAU,EAAE,iCAAiC;QAC7C,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;YACD,QAAQ,EAAE;gBACR,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;oBACZ,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACzB,OAAO;4BACL,GAAG,EAAE,CAAC;4BACN,OAAO,EAAE,CAAC;4BACV,KAAK,EAAE,KAAK;yBACb,CAAA;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;oBAChC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;yBACzF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;yBACvB,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvC,CAAC;aACF;SACF;QACD,eAAe,EAAE,UAAU,GAAG;YAC5B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;gBACjD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAA,0BAAiB,GAAE;aAC9B;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE;wBACJ,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,iBAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA,CAAC,CAAC,CAAC;wBAChF,YAAY,EAAE;4BACZ,gBAAgB;4BAChB,eAAe;4BACf,cAAc;yBACf;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AA/DD,4BA+DC;AAKY,QAAA,SAAS,GACpB,CAAC,gBAAgB;IACf,eAAe;IACf,cAAc;IACd,cAAc;CACf,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.fixedLadder/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
2
+ import type { FixedLadderConfig } from "./runtime";
3
+ export default function ({ defineComponent, Video }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<FixedLadderConfig, object, object, object>;
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importDefault(require("react"));
30
+ const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
31
+ const info_1 = require("./info");
32
+ function default_1({ defineComponent, Video }) {
33
+ const RungView = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./rung-view'))));
34
+ const SoftwareCodecEditor = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./codec-editor'))));
35
+ return defineComponent({
36
+ identifier: 'processor.transform.fixedLadder',
37
+ category: 'processor',
38
+ name: "Encode Ladder",
39
+ subscription: {
40
+ accepts: {
41
+ type: 'single-stream',
42
+ media: Video
43
+ },
44
+ produces: {
45
+ possibleMedia: Video,
46
+ type: "fixed-list",
47
+ keys: (cfg) => {
48
+ return cfg.rungs.map((r) => {
49
+ return {
50
+ key: r.name,
51
+ display: r.name,
52
+ media: Video
53
+ };
54
+ });
55
+ },
56
+ selector: (selection, metadata) => {
57
+ return metadata.filter((s) => s.streamKey && selection.includes(s.streamKey?.renditionName))
58
+ .map((r) => r.streamKey)
59
+ .filter((r) => !!r);
60
+ },
61
+ }
62
+ },
63
+ extraValidation: function (ctx) {
64
+ ctx.requireVideo(1);
65
+ },
66
+ display: (desc) => {
67
+ const result = {};
68
+ desc.config.rungs.forEach((r, i) => {
69
+ result[i] = r.name;
70
+ });
71
+ return result;
72
+ },
73
+ configForm: {
74
+ global: {
75
+ hardware: (0, config_1.HardwareSelection)()
76
+ },
77
+ form: {
78
+ rungs: {
79
+ help: "",
80
+ hint: {
81
+ type: 'form-list',
82
+ envOverride: true,
83
+ form: {
84
+ name: {
85
+ help: "Unique name of the ladder rung (used in outputs)",
86
+ hint: {
87
+ type: "text",
88
+ defaultValue: 'default'
89
+ }
90
+ },
91
+ software: rungEditorForm('software'),
92
+ quadra: rungEditorForm('quadra'),
93
+ logan: rungEditorForm('logan'),
94
+ nvidia: rungEditorForm('nvidia'),
95
+ ma35d: rungEditorForm('ma35d'),
96
+ },
97
+ view: RungView,
98
+ defaultValue: info_1.rungNames.map((n) => {
99
+ return {
100
+ name: n,
101
+ software: (0, info_1.createSoftwareRung)(n),
102
+ quadra: (0, info_1.createQuadraRung)(n),
103
+ nvidia: (0, info_1.createNvidiaRung)(n),
104
+ ma35d: (0, info_1.createMa35dRung)(n)
105
+ };
106
+ })
107
+ }
108
+ }
109
+ }
110
+ }
111
+ });
112
+ function rungEditorForm(mode) {
113
+ return {
114
+ help: `Settings to use when encoding using ${mode} mode`,
115
+ hint: {
116
+ type: 'form-item',
117
+ form: {
118
+ width: {
119
+ help: 'Width in pixels of this rung',
120
+ hint: {
121
+ type: 'numeric',
122
+ defaultValue: 640,
123
+ }
124
+ },
125
+ height: {
126
+ help: 'Width in pixels of this rung',
127
+ hint: {
128
+ type: 'numeric',
129
+ defaultValue: 640,
130
+ }
131
+ },
132
+ codec: {
133
+ help: "Codec settings for this rung",
134
+ hint: {
135
+ type: 'custom',
136
+ component: (CodecEditor)
137
+ }
138
+ }
139
+ }
140
+ }
141
+ };
142
+ }
143
+ }
144
+ exports.default = default_1;
145
+ //# sourceMappingURL=newFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newFile.js","sourceRoot":"","sources":["../../src/processor.fixedLadder/newFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA0B;AAG1B,uEAA+E;AAC/E,iCAA4G;AAI5G,mBAAwB,EACtB,eAAe,EAAE,KAAK,EACT;IACb,MAAM,QAAQ,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,aAAa,GAAC,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,kDAAO,gBAAgB,GAAwB,CAAC,CAAC;IACpG,OAAO,eAAe,CAAoB;QACxC,UAAU,EAAE,iCAAiC;QAC7C,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;YACD,QAAQ,EAAE;gBACR,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;oBACZ,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACzB,OAAO;4BACL,GAAG,EAAE,CAAC,CAAC,IAAI;4BACX,OAAO,EAAE,CAAC,CAAC,IAAI;4BACf,KAAK,EAAE,KAAK;yBACb,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;oBAChC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;yBACzF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;yBACvB,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC;aACF;SACF;QACD,eAAe,EAAE,UAAS,GAAG;YAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,MAAM,GAA6B,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE;gBACzC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAA,0BAAiB,GAAE;aAC9B;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE;wBACJ,IAAI,EAAE,WAAW;wBACjB,WAAW,EAAE,IAAI;wBACjB,IAAI,EAAE;4BACJ,IAAI,EAAE;gCACJ,IAAI,EAAE,kDAAkD;gCACxD,IAAI,EAAE;oCACJ,IAAI,EAAE,MAAM;oCACZ,YAAY,EAAE,SAAS;iCACxB;6BACF;4BACD,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC;4BACpC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC;4BAChC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC;4BAC9B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC;4BAChC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC;yBAC/B;wBACD,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,gBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BAChC,OAAO;gCACL,IAAI,EAAE,CAAC;gCACP,QAAQ,EAAE,IAAA,yBAAkB,EAAC,CAAC,CAAC;gCAC/B,MAAM,EAAE,IAAA,uBAAgB,EAAC,CAAC,CAAC;gCAC3B,MAAM,EAAE,IAAA,uBAAgB,EAAC,CAAC,CAAC;gCAC3B,KAAK,EAAE,IAAA,sBAAe,EAAC,CAAC,CAAC;6BAC1B,CAAC;wBACJ,CAAC,CAAC;qBACH;iBACF;aACF;SACF;KACF,CAAC,CAAC;IACH,SAAS,cAAc,CAAQ,IAAY;QACzC,OAAO;YACL,IAAI,EAAE,uCAAuC,IAAI,OAAO;YACxD,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;wBACpC,IAAI,EAAE;4BACJ,IAAI,EAAE,SAAS;4BACf,YAAY,EAAE,GAAG;yBAClB;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,8BAA8B;wBACpC,IAAI,EAAE;4BACJ,IAAI,EAAE,SAAS;4BACf,YAAY,EAAE,GAAG;yBAClB;qBACF;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,8BAA8B;wBACpC,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,SAAS,EAAE,CAAC,WAAkB,CAAC;yBAChC;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAlHD,4BAkHC"}
@@ -0,0 +1,2 @@
1
+ import type { LadderRungDefinition } from "./runtime";
2
+ export default function (rung: LadderRungDefinition): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ function default_1(rung) {
5
+ return ((0, jsx_runtime_1.jsx)("div", { className: "", children: rung.name }));
6
+ }
7
+ exports.default = default_1;
8
+ //# sourceMappingURL=rung-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rung-view.js","sourceRoot":"","sources":["../../src/processor.fixedLadder/rung-view.tsx"],"names":[],"mappings":";;;AAEA,mBAAwB,IAA0B;IAChD,OAAO,CAAC,gCAAK,SAAS,EAAC,EAAE,YAAE,IAAI,CAAC,IAAI,GAAQ,CAAC,CAAA;AAC/C,CAAC;AAFD,4BAEC"}
@@ -1,7 +1,6 @@
1
- import { Norsk, VideoEncodeRung } from '@norskvideo/norsk-sdk';
1
+ import { AmdMA35DH264, AmdMA35DHevc, LoganH264, LoganHevc, Norsk, NvidiaH264, NvidiaHevc, QuadraH264, QuadraHevc, VideoEncodeRung, X264Codec, X265Codec } from '@norskvideo/norsk-sdk';
2
2
  import { OnCreated, ServerComponentDefinition } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
3
  import { SimpleProcessorWrapper } from "@norskvideo/norsk-studio/lib/extension/base-nodes";
4
- import { RungName } from './info';
5
4
  import { HardwareAccelerationType } from '@norskvideo/norsk-studio/lib/shared/config';
6
5
  export type FixedLadderConfig = {
7
6
  __global: {
@@ -9,14 +8,30 @@ export type FixedLadderConfig = {
9
8
  };
10
9
  id: string;
11
10
  displayName: string;
12
- rungs: RungName[];
13
- customRungs?: {
14
- x264?: VideoEncodeRung[];
15
- ma35d?: VideoEncodeRung[];
16
- logan?: VideoEncodeRung[];
17
- nvidia?: VideoEncodeRung[];
18
- quadra?: VideoEncodeRung[];
19
- };
11
+ rungs: LadderRungDefinition[];
12
+ };
13
+ export type SoftwareLadderRung = {
14
+ codec: X264Codec | X265Codec;
15
+ } & Omit<VideoEncodeRung, "codec" | "name">;
16
+ export type Ma35dLadderRung = {
17
+ codec: AmdMA35DH264 | AmdMA35DHevc;
18
+ } & Omit<VideoEncodeRung, "codec" | "name">;
19
+ export type LoganLadderRung = {
20
+ codec: LoganH264 | LoganHevc;
21
+ } & Omit<VideoEncodeRung, "codec" | "name">;
22
+ export type NvidiaLadderRung = {
23
+ codec: NvidiaH264 | NvidiaHevc;
24
+ } & Omit<VideoEncodeRung, "codec" | "name">;
25
+ export type QuadraLadderRung = {
26
+ codec: QuadraH264 | QuadraHevc;
27
+ } & Omit<VideoEncodeRung, "codec" | "name">;
28
+ export type LadderRungDefinition = {
29
+ name: string;
30
+ software?: SoftwareLadderRung;
31
+ ma35d?: Ma35dLadderRung;
32
+ logan?: LoganLadderRung;
33
+ nvidia?: NvidiaLadderRung;
34
+ quadra?: QuadraLadderRung;
20
35
  };
21
36
  export default class FixedLadderDefinition implements ServerComponentDefinition<FixedLadderConfig, SimpleProcessorWrapper> {
22
37
  create(norsk: Norsk, cfg: FixedLadderConfig, cb: OnCreated<SimpleProcessorWrapper>): Promise<void>;