@norskvideo/norsk-studio 1.27.0-2025-05-22-5168ed86 → 1.27.0-2025-05-27-5d82451c

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.
@@ -35,6 +35,7 @@ exports.makeRelativeToNode = makeRelativeToNode;
35
35
  exports.streamsOfMediaType = streamsOfMediaType;
36
36
  const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
37
37
  const path = __importStar(require("path"));
38
+ const crypto_1 = __importDefault(require("crypto"));
38
39
  const promises_1 = __importDefault(require("fs/promises"));
39
40
  const util_1 = require("../shared/util");
40
41
  const eventhandler_1 = __importDefault(require("eventhandler"));
@@ -358,6 +359,192 @@ async function schemaFromFile(p, key) {
358
359
  return resolved.components.schemas[key];
359
360
  }
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
+ }
361
548
  async function builtInSharedRoutes() {
362
549
  return [
363
550
  {
@@ -430,12 +617,13 @@ async function builtInComponentRoutes(schemas) {
430
617
  streamId: outputKey.streamId ?? 1
431
618
  }));
432
619
  const active = args.node.relatedMediaNodes.streams.find((s) => (0, util_1.streamMatchesExpected)(s.stream, [expected]));
433
- const source = mapping ? (mapping.source ? { node: mapping.source.node.id ?? "", streamKey: mapping.source.key } : undefined) : (active ? { streamKey: active.stream.streamKey, node: active.node ?? "" } : undefined);
620
+ const source = mapping ? (mapping.source ? { node: mapping.source.node.id ?? "", streamKey: mapping.source.key } : undefined) : undefined;
434
621
  return {
435
622
  output: expected,
436
623
  metadata: active?.stream.message,
437
624
  source,
438
- preview_url: source?.node ? previewUrl(source.node, source.streamKey) : undefined
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
439
627
  };
440
628
  });
441
629
  res.send(JSON.stringify(result));
@@ -557,7 +745,8 @@ async function builtInComponentRoutes(schemas) {
557
745
  streamKey: u.key
558
746
  },
559
747
  metadata: u.metadata,
560
- preview_url: u.node.id ? previewUrl(u.node.id, u.key) : undefined
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,
561
750
  }));
562
751
  res.send(JSON.stringify(result));
563
752
  res.end();
@@ -580,89 +769,124 @@ async function builtInComponentRoutes(schemas) {
580
769
  handler: (args) => async (req, res) => {
581
770
  const node = req.params.node;
582
771
  const key = req.params.key;
583
- const norsk = args.norsk;
584
- const mappedMatch = args.node.relatedMediaNodes.mappedStreams.find((m) => streamKeyToRouteParam(m.destination) == key);
585
- const unmappedMatch = args.node.relatedMediaNodes.unMappedStreams.find((m) => streamKeyToRouteParam(m.key) == key);
586
- let createdMediaNode = undefined;
587
- const mediaNodeKey = `${node}-${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
+ });
588
776
  res.on('close', () => {
589
- const cacheItem = MediaNodeCache[mediaNodeKey];
590
- if (cacheItem) {
777
+ if (preview) {
591
778
  (0, logging_1.debuglog)("Web request terminated, releasing preview media node");
592
- cacheItem.usage--;
593
- if (cacheItem.usage <= 0) {
594
- void cacheItem.node?.then((n) => void n.close());
595
- delete MediaNodeCache[mediaNodeKey];
596
- }
779
+ releasePreview(preview);
597
780
  }
598
781
  });
599
- if (MediaNodeCache[mediaNodeKey]) {
600
- (0, logging_1.debuglog)("re-using streaming fmp4 output for mapped stream", { mediaNodeKey });
601
- const c = MediaNodeCache[mediaNodeKey];
602
- c.usage++;
603
- createdMediaNode = c.node;
782
+ if (preview?.type !== 'mp4') {
783
+ res.status(404);
784
+ res.end();
785
+ return;
604
786
  }
605
- else if (unmappedMatch && unmappedMatch.node.id == node) {
606
- (0, logging_1.debuglog)("Creating streaming fmp4 output for unmapped stream", { mediaNodeKey });
607
- createdMediaNode = norsk.output.fileMp4({
608
- id: mediaNodeKey,
609
- httpFileName: `${mediaNodeKey}.mp4`,
610
- onCreate: (node) => {
611
- node.subscribe([{ source: unmappedMatch.node, sourceSelector: (0, norsk_sdk_1.selectExactKey)(unmappedMatch.key) }]);
612
- }
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
+ });
613
798
  });
614
- MediaNodeCache[mediaNodeKey] = {
615
- node: createdMediaNode,
616
- usage: 1
617
- };
618
- }
619
- else if (mappedMatch && mappedMatch.source && mappedMatch.source.node.id == node) {
620
- (0, logging_1.debuglog)("Creating streaming fmp4 output for mapped stream", { mediaNodeKey });
621
- const source = mappedMatch.source;
622
- createdMediaNode = norsk.output.fileMp4({
623
- id: mediaNodeKey,
624
- httpFileName: `${mediaNodeKey}.mp4`,
625
- onCreate: (node) => {
626
- node.subscribe([{ source: source.node, sourceSelector: (0, norsk_sdk_1.selectExactKey)(source.key) }]);
627
- }
799
+ n.on('close', () => {
800
+ (0, logging_1.debuglog)("fmp4 preview node closed, terminating proxied request");
801
+ req.destroy();
628
802
  });
629
- MediaNodeCache[mediaNodeKey] = {
630
- node: createdMediaNode,
631
- usage: 1
632
- };
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",
633
821
  }
634
- else if (!unmappedMatch && !mappedMatch) {
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') {
635
855
  res.status(404);
636
856
  res.end();
637
857
  return;
638
858
  }
639
- if (createdMediaNode) {
640
- await createdMediaNode.then(async (n) => {
641
- const url = await n.url();
642
- const req = http_1.default.get(url, function (res2) {
643
- res.status(200);
644
- res2.on('data', (d) => {
645
- res.write(d);
646
- });
647
- res2.on('end', () => {
648
- (0, logging_1.debuglog)("fmp4 stream ended, closing response to client");
649
- res.end();
650
- });
651
- });
652
- n.on('close', () => {
653
- (0, logging_1.debuglog)("fmp4 preview node closed, terminating proxied request");
654
- req.destroy();
655
- });
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,
656
866
  });
657
- }
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
+ });
658
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
+ ],
659
880
  method: 'GET',
660
- summary: "Preview a specific stream as a fragmented mp4 file",
661
- 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.",
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.",
662
883
  responses: {
663
884
  '200': {
664
885
  description: "The stream exists and will be provided",
665
886
  },
887
+ '304': {
888
+ description: "The most recent image has already been requested",
889
+ },
666
890
  '404': {
667
891
  description: "The stream does not exist",
668
892
  },
@@ -735,6 +959,9 @@ async function builtInComponentRoutes(schemas) {
735
959
  function previewUrl(node, key) {
736
960
  return `${encodeURIComponent(node)}/${encodeURIComponent(streamKeyToRouteParam(key))}/stream.mp4`;
737
961
  }
962
+ function previewImageUrl(node, key) {
963
+ return `${encodeURIComponent(node)}/${encodeURIComponent(streamKeyToRouteParam(key))}/stream.jpg`;
964
+ }
738
965
  function streamKeyToRouteParam(key) {
739
966
  return `${key.sourceName}-${key.programNumber}-${key.streamId}-${key.renditionName}`;
740
967
  }
@@ -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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"}
@@ -47,13 +47,13 @@ export declare class ActiveSession {
47
47
  private stop;
48
48
  notifyOutputRegistered(id: string, url: string): void;
49
49
  notifyStateUpdate(id: string, state: object): void;
50
- notifyAlert(id: string, alert: ComponentAlert): void;
51
50
  notifyInitialState(state: {
52
51
  [id: string]: object;
53
52
  }, server: {
54
53
  port: number;
55
54
  }, api: OpenAPIV3.PathsObject): void;
56
55
  notifyStateEvent(id: string, event: object): Promise<void>;
56
+ notifyAlertEvent(id: string, alert: ComponentAlert): Promise<void>;
57
57
  notifyStopped(err?: Error): Promise<void>;
58
58
  notifyInitialNodes(nodes: InitialNodeCollection): void;
59
59
  private maybeSendRunningUpdate;
@@ -179,9 +179,6 @@ class ActiveSession {
179
179
  this.runtimeState[id] = state;
180
180
  void this.sendMsg({ type: 'runtime-node-state', id, state });
181
181
  }
182
- notifyAlert(id, alert) {
183
- void this.sendMsg({ type: 'component-alert', id, alert });
184
- }
185
182
  notifyInitialState(state, server, api) {
186
183
  this.runtimeState = state;
187
184
  this.runtimeServer = server;
@@ -230,6 +227,9 @@ class ActiveSession {
230
227
  }
231
228
  await this.sendMsg({ type: 'runtime-event', id, event });
232
229
  }
230
+ async notifyAlertEvent(id, alert) {
231
+ await this.sendMsg({ type: 'component-alert', id, alert });
232
+ }
233
233
  async notifyStopped(err) {
234
234
  (0, logging_1.debuglog)("Child stopped", err);
235
235
  this.running = undefined;
@@ -402,7 +402,7 @@ class RunAttempt {
402
402
  await this.parent.sendMsg(message);
403
403
  break;
404
404
  case "component-alert":
405
- this.parent.notifyAlert(message.id, message.alert);
405
+ await this.parent.notifyAlertEvent(message.id, message.alert);
406
406
  break;
407
407
  default:
408
408
  (0, util_1.assertUnreachable)(messageType);