@norskvideo/norsk-studio 1.27.0-2025-05-21-b03b48ea → 1.27.0-2025-05-26-a443eb84

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 (134) hide show
  1. package/lib/client/cpu.js +1 -11
  2. package/lib/client/cpu.js.map +1 -1
  3. package/lib/client/creator.d.ts +0 -2
  4. package/lib/client/creator.js +3 -3
  5. package/lib/client/creator.js.map +1 -1
  6. package/lib/client/jsx/components/node.js +5 -4
  7. package/lib/client/jsx/components/node.js.map +1 -1
  8. package/lib/client/jsx/components/studio-sidebar-footer.d.ts +2 -0
  9. package/lib/client/jsx/components/studio-sidebar-footer.js +14 -0
  10. package/lib/client/jsx/components/studio-sidebar-footer.js.map +1 -0
  11. package/lib/client/jsx/components/studio-sidebar-header.d.ts +10 -0
  12. package/lib/client/jsx/components/studio-sidebar-header.js +37 -0
  13. package/lib/client/jsx/components/studio-sidebar-header.js.map +1 -0
  14. package/lib/client/jsx/components/studio-sidebar.d.ts +16 -0
  15. package/lib/client/jsx/components/studio-sidebar.js +200 -0
  16. package/lib/client/jsx/components/studio-sidebar.js.map +1 -0
  17. package/lib/client/jsx/components/toolbox.d.ts +12 -0
  18. package/lib/client/jsx/components/toolbox.js +94 -0
  19. package/lib/client/jsx/components/toolbox.js.map +1 -0
  20. package/lib/client/jsx/connection-editor.d.ts +2 -8
  21. package/lib/client/jsx/connection-editor.js +19 -17
  22. package/lib/client/jsx/connection-editor.js.map +1 -1
  23. package/lib/client/jsx/context/sidebar.d.ts +44 -0
  24. package/lib/client/jsx/context/sidebar.js +15 -0
  25. package/lib/client/jsx/context/sidebar.js.map +1 -0
  26. package/lib/client/jsx/global-configuration.d.ts +11 -0
  27. package/lib/client/jsx/global-configuration.js +18 -0
  28. package/lib/client/jsx/global-configuration.js.map +1 -0
  29. package/lib/client/jsx/hooks/alerts.d.ts +9 -0
  30. package/lib/client/jsx/hooks/alerts.js +22 -0
  31. package/lib/client/jsx/hooks/alerts.js.map +1 -0
  32. package/lib/client/jsx/hooks/toolbox.d.ts +6 -0
  33. package/lib/client/jsx/hooks/toolbox.js +238 -0
  34. package/lib/client/jsx/hooks/toolbox.js.map +1 -0
  35. package/lib/client/jsx/node-editor.d.ts +20 -21
  36. package/lib/client/jsx/node-editor.js +30 -33
  37. package/lib/client/jsx/node-editor.js.map +1 -1
  38. package/lib/client/jsx/selected-connection.d.ts +0 -2
  39. package/lib/client/jsx/selected-connection.js +4 -4
  40. package/lib/client/jsx/selected-connection.js.map +1 -1
  41. package/lib/client/jsx/selected-node.d.ts +0 -2
  42. package/lib/client/jsx/selected-node.js +54 -75
  43. package/lib/client/jsx/selected-node.js.map +1 -1
  44. package/lib/client/jsx/selected.d.ts +4 -13
  45. package/lib/client/jsx/selected.js +9 -5
  46. package/lib/client/jsx/selected.js.map +1 -1
  47. package/lib/client/jsx/shadcn-ui/accordion.d.ts +8 -0
  48. package/lib/client/jsx/shadcn-ui/accordion.js +50 -0
  49. package/lib/client/jsx/shadcn-ui/accordion.js.map +1 -0
  50. package/lib/client/jsx/shadcn-ui/command.d.ts +2 -1
  51. package/lib/client/jsx/shadcn-ui/command.js +31 -1
  52. package/lib/client/jsx/shadcn-ui/command.js.map +1 -1
  53. package/lib/client/jsx/shadcn-ui/separator.d.ts +4 -0
  54. package/lib/client/jsx/shadcn-ui/separator.js +34 -0
  55. package/lib/client/jsx/shadcn-ui/separator.js.map +1 -0
  56. package/lib/client/jsx/shadcn-ui/sidebar.d.ts +66 -0
  57. package/lib/client/jsx/shadcn-ui/sidebar.js +233 -0
  58. package/lib/client/jsx/shadcn-ui/sidebar.js.map +1 -0
  59. package/lib/client/jsx/shadcn-ui/skeleton.d.ts +2 -0
  60. package/lib/client/jsx/shadcn-ui/skeleton.js +9 -0
  61. package/lib/client/jsx/shadcn-ui/skeleton.js.map +1 -0
  62. package/lib/client/jsx/shadcn-ui/sonner.d.ts +3 -0
  63. package/lib/client/jsx/shadcn-ui/sonner.js +16 -0
  64. package/lib/client/jsx/shadcn-ui/sonner.js.map +1 -0
  65. package/lib/client/jsx/types/toolbox.d.ts +58 -0
  66. package/lib/client/jsx/types/toolbox.js +3 -0
  67. package/lib/client/jsx/types/toolbox.js.map +1 -0
  68. package/lib/client/navbar-right.js +12 -28
  69. package/lib/client/navbar-right.js.map +1 -1
  70. package/lib/client/rete/node.d.ts +10 -2
  71. package/lib/client/session-view.js +9 -6
  72. package/lib/client/session-view.js.map +1 -1
  73. package/lib/client/session.d.ts +5 -4
  74. package/lib/client/session.js +9 -7
  75. package/lib/client/session.js.map +1 -1
  76. package/lib/client/studio-layout.js +9 -3
  77. package/lib/client/studio-layout.js.map +1 -1
  78. package/lib/client/tools.d.ts +4 -6
  79. package/lib/client/tools.js +7 -312
  80. package/lib/client/tools.js.map +1 -1
  81. package/lib/extension/client-types.d.ts +3 -0
  82. package/lib/extension/client-types.js.map +1 -1
  83. package/lib/extension/runtime-types.d.ts +4 -1
  84. package/lib/extension/runtime-types.js +391 -3
  85. package/lib/extension/runtime-types.js.map +1 -1
  86. package/lib/runtime/execution.d.ts +2 -0
  87. package/lib/runtime/execution.js +43 -2
  88. package/lib/runtime/execution.js.map +1 -1
  89. package/lib/runtime/stream-registration.d.ts +5 -1
  90. package/lib/runtime/stream-registration.js +10 -0
  91. package/lib/runtime/stream-registration.js.map +1 -1
  92. package/lib/server/index.js +11 -0
  93. package/lib/server/index.js.map +1 -1
  94. package/lib/server/runner.js +3 -0
  95. package/lib/server/runner.js.map +1 -1
  96. package/lib/server/session.d.ts +7 -1
  97. package/lib/server/session.js +6 -0
  98. package/lib/server/session.js.map +1 -1
  99. package/lib/shared/names.d.ts +1 -0
  100. package/lib/shared/names.js +2 -1
  101. package/lib/shared/names.js.map +1 -1
  102. package/lib/shared/server-msg.d.ts +6 -5
  103. package/lib/test/_util/driver.js +11 -0
  104. package/lib/test/_util/driver.js.map +1 -1
  105. package/lib/test/_util/manual-driver.js +2 -1
  106. package/lib/test/_util/manual-driver.js.map +1 -1
  107. package/lib/test/_util/runtime.js +2 -2
  108. package/lib/test/_util/sinks.d.ts +2 -0
  109. package/lib/test/_util/sinks.js.map +1 -1
  110. package/lib/test/client-liveview.js +11 -11
  111. package/lib/test/client-liveview.js.map +1 -1
  112. package/lib/test/preview-endpoints.d.ts +1 -0
  113. package/lib/test/preview-endpoints.js +423 -0
  114. package/lib/test/preview-endpoints.js.map +1 -0
  115. package/lib/types/base.yml +15 -0
  116. package/lib/types/stream-mapping.yaml +12 -0
  117. package/lib/types.d.ts +14 -0
  118. package/lib/types.yaml +17 -0
  119. package/package.json +9 -7
  120. package/static/style.css +918 -3992
  121. package/static/tailwind.css +6 -2
  122. package/tailwind-theme.js +19 -2
  123. package/tailwind.config.js +0 -6
  124. package/ui/index.html +7 -9
  125. package/ui/index.js +22922 -30519
  126. package/lib/client/jsx/modal.d.ts +0 -30
  127. package/lib/client/jsx/modal.js +0 -71
  128. package/lib/client/jsx/modal.js.map +0 -1
  129. package/lib/client/jsx/toolbox.d.ts +0 -14
  130. package/lib/client/jsx/toolbox.js +0 -42
  131. package/lib/client/jsx/toolbox.js.map +0 -1
  132. package/lib/client/jsx/upstream/Accordion.d.ts +0 -30
  133. package/lib/client/jsx/upstream/Accordion.js +0 -65
  134. package/lib/client/jsx/upstream/Accordion.js.map +0 -1
@@ -29,11 +29,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.RelatedMediaNodes = exports.MappedMedia = void 0;
30
30
  exports.hydratePathsObject = hydratePathsObject;
31
31
  exports.schemaFromFile = schemaFromFile;
32
+ exports.builtInSharedRoutes = builtInSharedRoutes;
32
33
  exports.builtInComponentRoutes = builtInComponentRoutes;
33
34
  exports.makeRelativeToNode = makeRelativeToNode;
34
35
  exports.streamsOfMediaType = streamsOfMediaType;
35
36
  const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
36
37
  const path = __importStar(require("path"));
38
+ const crypto_1 = __importDefault(require("crypto"));
37
39
  const promises_1 = __importDefault(require("fs/promises"));
38
40
  const util_1 = require("../shared/util");
39
41
  const eventhandler_1 = __importDefault(require("eventhandler"));
@@ -42,6 +44,7 @@ const util_2 = require("../runtime/util");
42
44
  const document_1 = require("../shared/document");
43
45
  const $RefParser = __importStar(require("@apidevtools/json-schema-ref-parser"));
44
46
  const yaml_1 = __importDefault(require("yaml"));
47
+ const http_1 = __importDefault(require("http"));
45
48
  function compareStreamKey(l, r) {
46
49
  if (l.programNumber !== r.programNumber) {
47
50
  return l.programNumber - r.programNumber;
@@ -221,7 +224,7 @@ class MappedMedia {
221
224
  const streams = await Promise.all(configuration.streams.map(async (s) => {
222
225
  (0, logging_1.debuglog)("Starting mapped output for component", { component: component.id, key: s.outputKey });
223
226
  const sko = await norsk.processor.transform.streamKeyOverride({
224
- id: `${component.id} - output - ${s.outputKey.programNumber} - ${s.outputKey.sourceName} - ${s.outputKey.streamId} - ${s.outputKey.renditionName}`,
227
+ id: `${component.id}-output-${s.outputKey.programNumber}-${s.outputKey.sourceName}-${s.outputKey.streamId}-${s.outputKey.renditionName}`,
225
228
  streamKey: s.outputKey
226
229
  });
227
230
  return {
@@ -355,8 +358,247 @@ async function schemaFromFile(p, key) {
355
358
  const resolved = await $RefParser.dereference(absolutePath, parsedYaml);
356
359
  return resolved.components.schemas[key];
357
360
  }
361
+ const MediaNodeCache = {};
362
+ function releasePreview(preview) {
363
+ preview.usage--;
364
+ if (preview.usage <= 0) {
365
+ (0, logging_1.debuglog)("Ref count reached 0 for preview component, throwing it away", { id: preview.id });
366
+ delete MediaNodeCache[preview.id];
367
+ void preview.node.then(async (n) => n.close());
368
+ if (preview.type == 'mp4' && preview.rescaler) {
369
+ void preview.rescaler.then(async (r) => r.close());
370
+ }
371
+ }
372
+ }
373
+ function previewParamsToCacheKey(type, params) {
374
+ if (!params)
375
+ return "";
376
+ switch (type) {
377
+ case 'mp4': {
378
+ const p = params;
379
+ const paramArray = [];
380
+ if (p.width)
381
+ paramArray.push(`width-${p.width}`);
382
+ if (p.height)
383
+ paramArray.push(`height-${p.height}`);
384
+ if (paramArray.length == 0)
385
+ return '';
386
+ return `-${crypto_1.default.createHash('md5').update(paramArray.join("_")).digest('hex')}`;
387
+ }
388
+ case 'jpg': {
389
+ const p = params;
390
+ const paramArray = [];
391
+ if (p.intervalSeconds)
392
+ paramArray.push(`fps-${p.intervalSeconds}`);
393
+ if (p.width)
394
+ paramArray.push(`width-${p.width}`);
395
+ if (p.height)
396
+ paramArray.push(`height-${p.height}`);
397
+ if (p.quality)
398
+ paramArray.push(`quality-${p.quality}`);
399
+ if (paramArray.length == 0)
400
+ return '';
401
+ return `-${crypto_1.default.createHash('md5').update(paramArray.join("_")).digest('hex')}`;
402
+ }
403
+ }
404
+ }
405
+ function findOrCreatePreview(norsk, component, type, nodeId, streamKey, params) {
406
+ const node = nodeId;
407
+ const key = streamKey;
408
+ const mappedMatch = component.relatedMediaNodes.mappedStreams.find((m) => m.source && streamKeyToRouteParam(m.source.key) == key);
409
+ const unmappedMatch = component.relatedMediaNodes.unMappedStreams.find((m) => streamKeyToRouteParam(m.key) == key);
410
+ let createdMediaNode = undefined;
411
+ const mediaNodeKey = `${node}-${key}-${type}${previewParamsToCacheKey(type, params)}`;
412
+ let actualSourceNode;
413
+ let actualKey;
414
+ if (MediaNodeCache[mediaNodeKey]) {
415
+ (0, logging_1.debuglog)("re-using output for mapped stream", { mediaNodeKey });
416
+ const c = MediaNodeCache[mediaNodeKey];
417
+ c.usage++;
418
+ createdMediaNode = c.node;
419
+ }
420
+ else if (unmappedMatch && unmappedMatch.node.id == node) {
421
+ (0, logging_1.debuglog)("Creating output for unmapped stream", { mediaNodeKey });
422
+ actualSourceNode = unmappedMatch.node;
423
+ actualKey = unmappedMatch.key;
424
+ }
425
+ else if (mappedMatch && mappedMatch.source && mappedMatch.source.node.id == node) {
426
+ (0, logging_1.debuglog)("Creating output for mapped stream", { mediaNodeKey });
427
+ const source = mappedMatch.source;
428
+ actualSourceNode = mappedMatch.source.node;
429
+ actualKey = source.key;
430
+ }
431
+ if (!createdMediaNode) {
432
+ if ((!actualSourceNode || !actualKey)) {
433
+ (0, logging_1.debuglog)("Couldn't find source for preview", { nodeId, streamKey });
434
+ return undefined;
435
+ }
436
+ switch (type) {
437
+ case 'mp4': {
438
+ const metadata = actualSourceNode.outputStreams.find((s) => (0, norsk_sdk_1.streamKeysAreEqual)(actualKey, s.streamKey))?.message;
439
+ if (!metadata?.value) {
440
+ (0, logging_1.debuglog)("No data on stream yet, cannot produce streaming preview", { key: actualKey, id: component.id });
441
+ return undefined;
442
+ }
443
+ const mp4Params = params;
444
+ let transformNode;
445
+ if (mp4Params?.width || mp4Params?.height) {
446
+ if (metadata.case === 'video') {
447
+ transformNode = norsk.processor.transform.videoTransform({
448
+ id: `${mediaNodeKey}-transform`,
449
+ resolution: mp4Params?.width && mp4Params?.height ? { width: mp4Params.width, height: mp4Params.height }
450
+ : mp4Params?.width ? { width: mp4Params.width, height: Math.round(metadata.value.height / (metadata.value.width / mp4Params.width)) }
451
+ : mp4Params?.height ? { height: mp4Params.height, width: Math.round(metadata.value.width / (metadata.value.height / mp4Params.height)) }
452
+ : undefined,
453
+ onCreate: (node) => {
454
+ node.subscribe([{ source: actualSourceNode, sourceSelector: (0, norsk_sdk_1.selectExactKey)(actualKey) }]);
455
+ }
456
+ });
457
+ }
458
+ }
459
+ createdMediaNode = norsk.output.fileMp4({
460
+ id: mediaNodeKey,
461
+ httpFileName: `${mediaNodeKey}.mp4`,
462
+ onCreate: (node) => {
463
+ if (transformNode) {
464
+ void transformNode.then((n) => {
465
+ node.subscribe([{ source: n, sourceSelector: norsk_sdk_1.selectAll }]);
466
+ });
467
+ }
468
+ else {
469
+ node.subscribe([{ source: actualSourceNode, sourceSelector: (0, norsk_sdk_1.selectExactKey)(actualKey) }]);
470
+ }
471
+ }
472
+ });
473
+ MediaNodeCache[mediaNodeKey] = {
474
+ id: mediaNodeKey,
475
+ type: 'mp4',
476
+ node: createdMediaNode,
477
+ rescaler: transformNode,
478
+ usage: 1
479
+ };
480
+ break;
481
+ }
482
+ case 'jpg': {
483
+ const metadata = actualSourceNode.outputStreams.find((s) => (0, norsk_sdk_1.streamKeysAreEqual)(actualKey, s.streamKey))?.message;
484
+ if (!metadata?.value) {
485
+ (0, logging_1.debuglog)("No data on stream yet, cannot produce image preview", { key: actualKey, id: component.id });
486
+ return undefined;
487
+ }
488
+ if (metadata.case !== 'video') {
489
+ (0, logging_1.debuglog)("Stream isn't a video stream, cannot produce image preview", { key: actualKey, id: component.id });
490
+ return undefined;
491
+ }
492
+ const fr = metadata.value.frameRate ?? { frames: 25, seconds: 1 };
493
+ const imageParams = params;
494
+ const frequency = Math.floor(fr.frames / fr.seconds) * (imageParams?.intervalSeconds ?? 1);
495
+ createdMediaNode = norsk.output.imagePreview({
496
+ id: mediaNodeKey,
497
+ frequency,
498
+ keep: 5,
499
+ quality: imageParams?.quality ?? 80,
500
+ resolution: imageParams?.width && imageParams?.height ? { width: imageParams.width, height: imageParams.height }
501
+ : imageParams?.width ? { width: imageParams.width, height: Math.round(metadata.value.height / (metadata.value.width / imageParams.width)) }
502
+ : imageParams?.height ? { height: imageParams.height, width: Math.round(metadata.value.width / (metadata.value.height / imageParams.height)) }
503
+ : { width: 800, height: 450 },
504
+ onCreate: (node) => {
505
+ node.subscribe([{ source: actualSourceNode, sourceSelector: (0, norsk_sdk_1.selectExactKey)(actualKey) }]);
506
+ }
507
+ });
508
+ let currentResolver;
509
+ let currentPromise = new Promise((r) => {
510
+ currentResolver = r;
511
+ });
512
+ const cacheItem = MediaNodeCache[mediaNodeKey] = {
513
+ id: mediaNodeKey,
514
+ type: 'jpg',
515
+ node: createdMediaNode,
516
+ usage: 1,
517
+ lastImageTime: new Date(),
518
+ lastImage: currentPromise,
519
+ lastImageEtag: ""
520
+ };
521
+ void createdMediaNode.then((n) => {
522
+ n.on('image-published', (l) => {
523
+ cacheItem.lastImage = currentPromise;
524
+ let buf = Buffer.alloc(0);
525
+ http_1.default.get(`${n.baseUrl}${l.file}`, function (res2) {
526
+ res2.on('data', (d) => {
527
+ buf = Buffer.concat([buf, Buffer.alloc(d.length, d)]);
528
+ });
529
+ res2.on('end', () => {
530
+ currentResolver?.(buf);
531
+ cacheItem.lastImageEtag = crypto_1.default.createHash('md5')
532
+ .update(buf)
533
+ .digest('hex');
534
+ cacheItem.lastImageTime = new Date();
535
+ currentPromise = new Promise((r) => {
536
+ currentResolver = r;
537
+ });
538
+ });
539
+ });
540
+ });
541
+ });
542
+ break;
543
+ }
544
+ }
545
+ }
546
+ return MediaNodeCache[mediaNodeKey];
547
+ }
548
+ async function builtInSharedRoutes() {
549
+ return [
550
+ {
551
+ url: '/alerts',
552
+ method: 'GET',
553
+ handler: (args) => (_req, res) => {
554
+ const result = [];
555
+ args.live.components.forEach((c) => {
556
+ const alerts = Object.values(c.alerts);
557
+ alerts.forEach((a) => {
558
+ result.push({
559
+ componentId: c.id,
560
+ alert: a
561
+ });
562
+ });
563
+ });
564
+ res.status(200);
565
+ res.send(JSON.stringify(result));
566
+ },
567
+ summary: "Retrieves any alerts that are currently active for any component",
568
+ responses: {
569
+ '200': {
570
+ description: "The alerts",
571
+ content: {
572
+ "application/json": {
573
+ schema: await schemaFromFile(path.join(__dirname, '../types.yaml'), 'GlobalAlertListResult')
574
+ }
575
+ }
576
+ }
577
+ }
578
+ }
579
+ ];
580
+ }
358
581
  async function builtInComponentRoutes(schemas) {
359
582
  const routes = [];
583
+ routes.push({
584
+ url: '/alerts',
585
+ handler: (args) => (_req, res) => {
586
+ res.status(200);
587
+ res.send(JSON.stringify(args.runtime.updates.latestAlerts()));
588
+ },
589
+ method: 'GET',
590
+ summary: "Retrieves any alerts that are currently active for this component",
591
+ responses: {
592
+ '200': {
593
+ description: "The alerts",
594
+ content: {
595
+ "application/json": {
596
+ schema: await schemaFromFile(path.join(__dirname, '../types.yaml'), 'AlertListResult')
597
+ }
598
+ }
599
+ }
600
+ }
601
+ });
360
602
  routes.push({
361
603
  url: '/streams/mappings',
362
604
  handler: (args) => (_req, res) => {
@@ -375,10 +617,13 @@ async function builtInComponentRoutes(schemas) {
375
617
  streamId: outputKey.streamId ?? 1
376
618
  }));
377
619
  const active = args.node.relatedMediaNodes.streams.find((s) => (0, util_1.streamMatchesExpected)(s.stream, [expected]));
620
+ const source = mapping ? (mapping.source ? { node: mapping.source.node.id ?? "", streamKey: mapping.source.key } : undefined) : undefined;
378
621
  return {
379
622
  output: expected,
380
623
  metadata: active?.stream.message,
381
- source: mapping ? (mapping.source ? { node: mapping.source.node.id ?? "", streamKey: mapping.source.key } : undefined) : (active ? { streamKey: active.stream.streamKey, node: active.node ?? "" } : undefined)
624
+ source,
625
+ preview_url: source?.node && (expected.media == 'video' || expected.media == 'audio') ? previewUrl(source.node, source.streamKey) : undefined,
626
+ preview_jpeg: source?.node && (expected.media == 'video') ? previewImageUrl(source.node, source.streamKey) : undefined
382
627
  };
383
628
  });
384
629
  res.send(JSON.stringify(result));
@@ -400,6 +645,7 @@ async function builtInComponentRoutes(schemas) {
400
645
  routes.push({
401
646
  url: '/streams/mappings',
402
647
  handler: (args) => async (req, res) => {
648
+ (0, logging_1.debuglog)("Web request terminated, closing preview media node");
403
649
  const mappings = args.node.relatedMediaNodes.mappings;
404
650
  const overrides = req.body;
405
651
  if (mappings) {
@@ -498,7 +744,9 @@ async function builtInComponentRoutes(schemas) {
498
744
  node: u.node.id ?? "",
499
745
  streamKey: u.key
500
746
  },
501
- metadata: u.metadata
747
+ metadata: u.metadata,
748
+ preview_url: u?.node.id && (u.metadata.case == 'video' || u.metadata.case == 'audio') ? previewUrl(u.node.id, u.key) : undefined,
749
+ preview_jpeg: u?.node.id && (u.metadata.case == 'video') ? previewImageUrl(u.node.id, u.key) : undefined,
502
750
  }));
503
751
  res.send(JSON.stringify(result));
504
752
  res.end();
@@ -516,6 +764,137 @@ async function builtInComponentRoutes(schemas) {
516
764
  }
517
765
  }
518
766
  });
767
+ routes.push({
768
+ url: '/streams/:node/:key/stream.mp4',
769
+ handler: (args) => async (req, res) => {
770
+ const node = req.params.node;
771
+ const key = req.params.key;
772
+ const preview = findOrCreatePreview(args.norsk, args.node, 'mp4', node, key, {
773
+ width: req.query.width ? parseInt(req.query.width.toString(), 10) : undefined,
774
+ height: req.query.height ? parseInt(req.query.height.toString(), 10) : undefined,
775
+ });
776
+ res.on('close', () => {
777
+ if (preview) {
778
+ (0, logging_1.debuglog)("Web request terminated, releasing preview media node");
779
+ releasePreview(preview);
780
+ }
781
+ });
782
+ if (preview?.type !== 'mp4') {
783
+ res.status(404);
784
+ res.end();
785
+ return;
786
+ }
787
+ await preview.node.then(async (n) => {
788
+ const url = await n.url();
789
+ const req = http_1.default.get(url, function (res2) {
790
+ res.status(200);
791
+ res2.on('data', (d) => {
792
+ res.write(d);
793
+ });
794
+ res2.on('end', () => {
795
+ (0, logging_1.debuglog)("fmp4 stream ended, closing response to client");
796
+ res.end();
797
+ });
798
+ });
799
+ n.on('close', () => {
800
+ (0, logging_1.debuglog)("fmp4 preview node closed, terminating proxied request");
801
+ req.destroy();
802
+ });
803
+ });
804
+ },
805
+ parameters: [
806
+ { in: 'query', name: 'width', example: 800, description: "Width of the preview stream, if height is not provided it will be scaled accordingly" },
807
+ { in: 'query', name: 'height', example: 450, description: "Height of the preview stream, if width is not provided it will be scaled accordingly" },
808
+ ],
809
+ method: 'GET',
810
+ summary: "Preview a specific stream as a fragmented mp4 file",
811
+ description: "Spins up necessary Norsk SDK Media Nodes in order to preview a stream as a fragmented MP4. This will potentially incur additional processing on top of the existing workflow. If no params are provided and the video is already encoded, this can result in a high quality fmp4 being produced which may not be what was wanted.",
812
+ responses: {
813
+ '200': {
814
+ description: "The stream exists and will be provided",
815
+ },
816
+ '404': {
817
+ description: "The stream does not exist",
818
+ },
819
+ '503': {
820
+ description: "The stream exists, but does not currently have any content",
821
+ }
822
+ }
823
+ });
824
+ routes.push({
825
+ url: '/streams/:node/:key/stream.jpg',
826
+ handler: (args) => async (req, res) => {
827
+ const node = req.params.node;
828
+ const key = req.params.key;
829
+ const preview = findOrCreatePreview(args.norsk, args.node, 'jpg', node, key, {
830
+ width: req.query.width ? parseInt(req.query.width.toString(), 10) : undefined,
831
+ height: req.query.height ? parseInt(req.query.height.toString(), 10) : undefined,
832
+ intervalSeconds: req.query.interval ? parseInt(req.query.interval.toString(), 10) : undefined,
833
+ quality: req.query.quality ? parseInt(req.query.quality.toString(), 10) : undefined
834
+ });
835
+ res.on('close', () => {
836
+ if (preview) {
837
+ void preview.node.then((n) => {
838
+ const node = n;
839
+ (0, logging_1.debuglog)("Web request terminated, setting timeout to release preview media node");
840
+ let cleanedUp = false;
841
+ const clearUp = function () {
842
+ if (cleanedUp)
843
+ return;
844
+ clearTimeout(timeout);
845
+ node.off('close', clearUp);
846
+ releasePreview(preview);
847
+ cleanedUp = true;
848
+ };
849
+ const timeout = setTimeout(clearUp, 30000);
850
+ node.on('close', clearUp);
851
+ });
852
+ }
853
+ });
854
+ if (preview?.type !== 'jpg') {
855
+ res.status(404);
856
+ res.end();
857
+ return;
858
+ }
859
+ await preview.lastImage.then(async (b) => {
860
+ res.set({
861
+ 'Cache-Control': 'public, max-age=1, must-revalidate',
862
+ 'Last-Modified': preview.lastImageTime.toUTCString(),
863
+ 'ETag': `"${preview.lastImageEtag}"`,
864
+ 'Content-Type': 'image/jpeg',
865
+ 'Content-Length': b.length,
866
+ });
867
+ if (req.headers['if-none-match'] === `"${preview.lastImageEtag}"` ||
868
+ req.headers['if-modified-since'] === preview.lastImageTime.toUTCString()) {
869
+ return res.status(304).end();
870
+ }
871
+ res.send(b);
872
+ });
873
+ },
874
+ parameters: [
875
+ { in: 'query', name: 'width', example: 800, description: "Width of the preview image, if height is not provided it will be scaled accordingly" },
876
+ { in: 'query', name: 'height', example: 450, description: "Height of the preview image, if width is not provided it will be scaled accordingly" },
877
+ { in: 'query', name: 'interval', example: 1, description: "generation interval in seconds (defaults to 1)" },
878
+ { in: 'query', name: 'quality', example: 80, description: "the quality of the jpeg image (as a percentage between 1 and 100)" },
879
+ ],
880
+ method: 'GET',
881
+ summary: "Preview a specific stream as a jpeg file",
882
+ description: "Spins up necessary Norsk SDK Media Nodes in order to preview a stream as a jpeg. This will potentially incur additional processing on top of the existing workflow.",
883
+ responses: {
884
+ '200': {
885
+ description: "The stream exists and will be provided",
886
+ },
887
+ '304': {
888
+ description: "The most recent image has already been requested",
889
+ },
890
+ '404': {
891
+ description: "The stream does not exist",
892
+ },
893
+ '503': {
894
+ description: "The stream exists, but does not currently have any content",
895
+ }
896
+ }
897
+ });
519
898
  if (schemas?.config) {
520
899
  routes.push({
521
900
  url: '/config',
@@ -577,6 +956,15 @@ async function builtInComponentRoutes(schemas) {
577
956
  });
578
957
  return routes;
579
958
  }
959
+ function previewUrl(node, key) {
960
+ return `${encodeURIComponent(node)}/${encodeURIComponent(streamKeyToRouteParam(key))}/stream.mp4`;
961
+ }
962
+ function previewImageUrl(node, key) {
963
+ return `${encodeURIComponent(node)}/${encodeURIComponent(streamKeyToRouteParam(key))}/stream.jpg`;
964
+ }
965
+ function streamKeyToRouteParam(key) {
966
+ return `${key.sourceName}-${key.programNumber}-${key.streamId}-${key.renditionName}`;
967
+ }
580
968
  function makeRelativeToNode(fileName) {
581
969
  if (!fileName) {
582
970
  return fileName;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-types.js","sourceRoot":"","sources":["../../src/extension/runtime-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-types.js","sourceRoot":"","sources":["../../src/extension/runtime-types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { NodeDescription, SubscriptionConfiguration, YamlNode } from "../shared/
6
6
  import { BaseConfig, Media, NodeInfo, OutputStreamDefinition } from "../extension/client-types";
7
7
  import { Router } from "express";
8
8
  import LiveComponentRegistration, { LiveComponent } from "./stream-registration";
9
+ import { ComponentAlert } from "../shared/server-msg";
9
10
  import { OpenAPIV3 } from "openapi-types";
10
11
  import { ContextPromiseControl } from "./util";
11
12
  export declare class ComponentSubscriptions {
@@ -93,6 +94,7 @@ export declare class RuntimeState {
93
94
  constructor();
94
95
  update(k: string, s: unknown, silent?: boolean): void;
95
96
  runEvent(id: string, event: object, handleEvent: (ev: object, state: object) => object): void;
97
+ raiseAlert(id: string, alert: ComponentAlert): void;
96
98
  getNodeState(k: string): unknown;
97
99
  }
98
100
  declare function go(norsk: Norsk, compiled: s.CompiledDocument, router?: Router, r?: ReportBuilder): Promise<RunResult>;