@norskvideo/norsk-sdk 1.0.345 → 1.0.347
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.
- package/dist/norsk-sdk.d.ts +77 -58
- package/lib/src/media_nodes/common.d.ts +1 -1
- package/lib/src/media_nodes/common.js +10 -1
- package/lib/src/media_nodes/debug.d.ts +0 -1
- package/lib/src/media_nodes/debug.js +0 -3
- package/lib/src/media_nodes/input.d.ts +1 -13
- package/lib/src/media_nodes/input.js +3 -38
- package/lib/src/media_nodes/output.d.ts +3 -16
- package/lib/src/media_nodes/output.js +9 -35
- package/lib/src/media_nodes/processor.d.ts +60 -26
- package/lib/src/media_nodes/processor.js +142 -81
- package/lib/src/media_nodes/types.d.ts +3 -0
- package/lib/src/media_nodes/types.js +19 -4
- package/lib/src/sdk.d.ts +2 -2
- package/lib/src/sdk.js +47 -11
- package/package.json +2 -2
- package/src/sdk.ts +38 -3
package/dist/norsk-sdk.d.ts
CHANGED
|
@@ -14,9 +14,12 @@ import * as grpc from '@grpc/grpc-js';
|
|
|
14
14
|
import { HlsOutputEvent } from '@norskvideo/norsk-api/lib/media_pb';
|
|
15
15
|
import { HlsTsAudioMessage } from '@norskvideo/norsk-api/lib/media_pb';
|
|
16
16
|
import { HlsTsCombinedPushMessage } from '@norskvideo/norsk-api/lib/media_pb';
|
|
17
|
+
import { HlsTsMultiVariantMessage } from '@norskvideo/norsk-api/lib/media_pb';
|
|
17
18
|
import { HlsTsVideoMessage } from '@norskvideo/norsk-api/lib/media_pb';
|
|
18
19
|
import { MediaClient } from '@norskvideo/norsk-api/lib/media_grpc_pb';
|
|
19
20
|
import { Nullable } from 'typescript-nullable';
|
|
21
|
+
import { OptionalBool } from '@norskvideo/norsk-api/lib/shared/common_pb';
|
|
22
|
+
import { OptionalInt } from '@norskvideo/norsk-api/lib/shared/common_pb';
|
|
20
23
|
import { PlainMessage } from '@bufbuild/protobuf';
|
|
21
24
|
import { Readable } from 'stream';
|
|
22
25
|
import { RtmpError_UnsupportedAudio } from '@norskvideo/norsk-api/lib/media_pb';
|
|
@@ -50,7 +53,6 @@ export declare interface AacSettings {
|
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
export declare class AncillaryNode extends AutoProcessorMediaNode<"ancillary"> {
|
|
53
|
-
close(): void;
|
|
54
56
|
sendScte35(key: StreamKey, info: Scte35SpliceInfoSection): void;
|
|
55
57
|
}
|
|
56
58
|
|
|
@@ -84,7 +86,6 @@ export declare function ancillaryStreams(streams: readonly StreamMetadata[]): St
|
|
|
84
86
|
* see: {@link NorskTransform.audioBuildMultichannel}
|
|
85
87
|
*/
|
|
86
88
|
export declare class AudioBuildMultichannelNode extends AutoProcessorMediaNode<"audio"> {
|
|
87
|
-
close(): void;
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
/**
|
|
@@ -118,7 +119,6 @@ export { AudioCodec }
|
|
|
118
119
|
* see: {@link NorskTransform.audioEncode}
|
|
119
120
|
*/
|
|
120
121
|
export declare class AudioEncodeNode extends AutoProcessorMediaNode<"audio"> {
|
|
121
|
-
close(): void;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
/**
|
|
@@ -154,7 +154,6 @@ export declare class AudioGainNode extends AutoProcessorMediaNode<"audio"> {
|
|
|
154
154
|
* @param settings - The updated settings
|
|
155
155
|
*/
|
|
156
156
|
updateConfig(settings: AudioGainSettingsUpdate): void;
|
|
157
|
-
close(): void;
|
|
158
157
|
}
|
|
159
158
|
|
|
160
159
|
/**
|
|
@@ -189,7 +188,6 @@ export declare interface AudioMeasureLevels {
|
|
|
189
188
|
* see: {@link NorskControl.audioMeasureLevels}.
|
|
190
189
|
*/
|
|
191
190
|
export declare class AudioMeasureLevelsNode extends AutoProcessorMediaNode<"audio"> {
|
|
192
|
-
close(): void;
|
|
193
191
|
}
|
|
194
192
|
|
|
195
193
|
/**
|
|
@@ -220,7 +218,6 @@ export declare class AudioMixMatrixNode extends AutoProcessorMediaNode<"audio">
|
|
|
220
218
|
* @param settings - The updated settings
|
|
221
219
|
*/
|
|
222
220
|
updateConfig(settings: AudioMixMatrixSettingsUpdate): void;
|
|
223
|
-
close(): void;
|
|
224
221
|
}
|
|
225
222
|
|
|
226
223
|
/**
|
|
@@ -258,7 +255,6 @@ export declare class AudioMixNode<Pins extends string> extends ProcessorMediaNod
|
|
|
258
255
|
* @param settings - The updated settings
|
|
259
256
|
*/
|
|
260
257
|
updateConfig(settings: AudioMixSettingsUpdate<Pins>): void;
|
|
261
|
-
close(): void;
|
|
262
258
|
}
|
|
263
259
|
|
|
264
260
|
/**
|
|
@@ -308,7 +304,6 @@ export declare interface AudioMixSource<Pins> {
|
|
|
308
304
|
* see: {@link NorskInput.audioSignal}
|
|
309
305
|
*/
|
|
310
306
|
export declare class AudioSignalGeneratorNode extends SourceMediaNode {
|
|
311
|
-
close(): void;
|
|
312
307
|
}
|
|
313
308
|
|
|
314
309
|
/**
|
|
@@ -336,7 +331,6 @@ export declare interface AudioSignalGeneratorSettings extends SourceNodeSettings
|
|
|
336
331
|
* see: {@link NorskTransform.audioSplitMultichannel}
|
|
337
332
|
*/
|
|
338
333
|
export declare class AudioSplitMultichannelNode extends AutoProcessorMediaNode<"audio"> {
|
|
339
|
-
close(): void;
|
|
340
334
|
}
|
|
341
335
|
|
|
342
336
|
/**
|
|
@@ -383,7 +377,6 @@ export declare function audioToPin<Pins extends string>(pin: Pins): (streams: St
|
|
|
383
377
|
* see: {@link NorskTransform.audioTranscribeAws}
|
|
384
378
|
*/
|
|
385
379
|
export declare class AudioTranscribeAwsNode extends AutoProcessorMediaNode<"audio"> {
|
|
386
|
-
close(): void;
|
|
387
380
|
}
|
|
388
381
|
|
|
389
382
|
/**
|
|
@@ -408,11 +401,60 @@ export declare interface AudioTranscribeAwsSettings extends ProcessorNodeSetting
|
|
|
408
401
|
awsCredentials?: AwsCredentials;
|
|
409
402
|
}
|
|
410
403
|
|
|
404
|
+
/**
|
|
405
|
+
* @public
|
|
406
|
+
* see: {@link NorskTransform.audioTranscribeAws}
|
|
407
|
+
*/
|
|
408
|
+
export declare class AudioTranscribeAzureNode extends AutoProcessorMediaNode<"audio"> {
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* @public
|
|
413
|
+
* Settings for an audio transcribe/translate operation using Azure Speech Service
|
|
414
|
+
* see: {@link NorskTransform.audioTranscribeAzure}
|
|
415
|
+
* */
|
|
416
|
+
export declare interface AudioTranscribeAzureSettings extends ProcessorNodeSettings<AudioTranscribeAzureNode> {
|
|
417
|
+
outputStreamId: number;
|
|
418
|
+
sourceLanguage: string;
|
|
419
|
+
targetLanguages?: string[];
|
|
420
|
+
/** Key for the Azure Speech Service endpoint */
|
|
421
|
+
azureKey: string;
|
|
422
|
+
/** Region for the Azure Speech Service endpoint */
|
|
423
|
+
azureRegion: string;
|
|
424
|
+
maximumLineLength: undefined | number;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* @public
|
|
429
|
+
* see: {@link NorskTransform.audioTranscribeAws}
|
|
430
|
+
*/
|
|
431
|
+
export declare class AudioTranscribeWhisperNode extends AutoProcessorMediaNode<"audio"> {
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* @public
|
|
436
|
+
* Settings for an Audio Transcribe operation using Whisper sdk
|
|
437
|
+
* see: {@link NorskTransform.audioTranscribeWhisper}
|
|
438
|
+
* */
|
|
439
|
+
export declare interface AudioTranscribeWhisperSettings extends ProcessorNodeSettings<AudioTranscribeWhisperNode> {
|
|
440
|
+
outputStreamId: number;
|
|
441
|
+
stepMs?: number;
|
|
442
|
+
lengthMs?: number;
|
|
443
|
+
keepMs?: number;
|
|
444
|
+
maxTokens?: number;
|
|
445
|
+
speedUp?: boolean;
|
|
446
|
+
noFallback?: boolean;
|
|
447
|
+
numThreads?: number;
|
|
448
|
+
useGpu?: boolean;
|
|
449
|
+
language: string;
|
|
450
|
+
model: string;
|
|
451
|
+
}
|
|
452
|
+
|
|
411
453
|
export declare interface AutoProcessorMediaNode<Pins extends string> extends SourceMediaNode, AutoSinkMediaNode<Pins> {
|
|
412
454
|
}
|
|
413
455
|
|
|
414
456
|
export declare class AutoProcessorMediaNode<Pins extends string> {
|
|
415
|
-
constructor(client: MediaClient,
|
|
457
|
+
constructor(client: MediaClient, _unregisterNode: (node: MediaNodeState) => void, getGrpcStream: () => (Readable | Writable), subscribeFn: (subscription: Subscription) => Promise<boolean>, subscribeErrorFn?: (error: SubscriptionError) => void, subscribedStreamsChangedFn?: (streams: StreamMetadata[]) => void);
|
|
416
458
|
}
|
|
417
459
|
|
|
418
460
|
/** @public */
|
|
@@ -537,7 +579,6 @@ export declare class BrowserInputNode extends SourceMediaNode {
|
|
|
537
579
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
538
580
|
* */
|
|
539
581
|
nudge(nudge: number): void;
|
|
540
|
-
close(): void;
|
|
541
582
|
}
|
|
542
583
|
|
|
543
584
|
/**
|
|
@@ -775,7 +816,6 @@ export declare interface CmafMultiVariantOutputSettings extends SinkNodeSettings
|
|
|
775
816
|
|
|
776
817
|
declare class CmafNodeBase<ClientMessage, Pins extends string, T extends MediaNodeState> extends AutoProcessorMediaNode<Pins> {
|
|
777
818
|
constructor(client: MediaClient, unregisterNode: (node: MediaNodeState) => void, settings: ProcessorNodeSettings<T> & StreamStatisticsMixin, grpcInit: () => grpc.ClientDuplexStream<ClientMessage, HlsOutputEvent>, subscribeFn: (subscription: Subscription) => Promise<boolean>, _playlistPath: PlaylistPath, subscribedStreamsChangedFn?: (streams: StreamMetadata[]) => void);
|
|
778
|
-
close(): void;
|
|
779
819
|
}
|
|
780
820
|
|
|
781
821
|
declare class CmafNodeWithPlaylist<ClientMessage, Pins extends string, T extends MediaNodeState> extends CmafNodeBase<ClientMessage, Pins, T> {
|
|
@@ -787,7 +827,6 @@ declare class CmafNodeWithPlaylist<ClientMessage, Pins extends string, T extends
|
|
|
787
827
|
* use {@link NorskOutput.cmafMultiVariant} for production.
|
|
788
828
|
*/
|
|
789
829
|
url(): Promise<string>;
|
|
790
|
-
close(): void;
|
|
791
830
|
}
|
|
792
831
|
|
|
793
832
|
/**
|
|
@@ -1040,7 +1079,6 @@ export declare class DeckLinkInputNode extends SourceMediaNode {
|
|
|
1040
1079
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
1041
1080
|
* */
|
|
1042
1081
|
nudge(nudge: number): void;
|
|
1043
|
-
close(): void;
|
|
1044
1082
|
}
|
|
1045
1083
|
|
|
1046
1084
|
/**
|
|
@@ -1135,7 +1173,6 @@ export declare interface EncryptionSettings {
|
|
|
1135
1173
|
* see: {@link NorskInput.fileImage}
|
|
1136
1174
|
*/
|
|
1137
1175
|
export declare class FileImageInputNode extends SourceMediaNode {
|
|
1138
|
-
close(): void;
|
|
1139
1176
|
}
|
|
1140
1177
|
|
|
1141
1178
|
/**
|
|
@@ -1174,7 +1211,6 @@ export declare class FileMp4InputNode extends SourceMediaNode {
|
|
|
1174
1211
|
* */
|
|
1175
1212
|
nudge(nudge: number): void;
|
|
1176
1213
|
updateSettings(settings: FileMp4InputSettingsUpdate): void;
|
|
1177
|
-
close(): void;
|
|
1178
1214
|
}
|
|
1179
1215
|
|
|
1180
1216
|
/**
|
|
@@ -1205,7 +1241,6 @@ export declare interface FileMp4InputSettingsUpdate {
|
|
|
1205
1241
|
* see: {@link NorskOutput.fileMp4}
|
|
1206
1242
|
*/
|
|
1207
1243
|
export declare class FileMp4OutputNode extends AutoSinkMediaNode<"audio" | "video"> {
|
|
1208
|
-
close(): void;
|
|
1209
1244
|
/**
|
|
1210
1245
|
* @public
|
|
1211
1246
|
* Writes a non-fragmented MP4 file containing the data received so far to the
|
|
@@ -1269,7 +1304,6 @@ export declare interface FileTsInputSettingsUpdate {
|
|
|
1269
1304
|
* see: {@link NorskOutput.fileTs}
|
|
1270
1305
|
*/
|
|
1271
1306
|
export declare class FileTsOutputNode extends AutoSinkMediaNode<"audio" | "video"> {
|
|
1272
|
-
close(): void;
|
|
1273
1307
|
}
|
|
1274
1308
|
|
|
1275
1309
|
/**
|
|
@@ -1287,7 +1321,6 @@ export declare interface FileTsOutputSettings extends SinkNodeSettings<FileTsOut
|
|
|
1287
1321
|
* see: {@link NorskInput.fileWebVtt}
|
|
1288
1322
|
*/
|
|
1289
1323
|
export declare class FileWebVttInputNode extends SourceMediaNode {
|
|
1290
|
-
close(): void;
|
|
1291
1324
|
}
|
|
1292
1325
|
|
|
1293
1326
|
/** @public */
|
|
@@ -1455,17 +1488,13 @@ export declare interface HlsTsCombinedPushOutputSettings extends SinkNodeSetting
|
|
|
1455
1488
|
* Directives to add to the m3u media playlists
|
|
1456
1489
|
*/
|
|
1457
1490
|
m3uAdditions?: string;
|
|
1458
|
-
/**
|
|
1459
|
-
* XML fragment to add to the mpd Representation elements
|
|
1460
|
-
*/
|
|
1461
|
-
mpdAdditions?: string;
|
|
1462
1491
|
}
|
|
1463
1492
|
|
|
1464
1493
|
/**
|
|
1465
1494
|
* @public
|
|
1466
1495
|
* see: {@link NorskOutput.hlsTsMultiVariant}
|
|
1467
1496
|
*/
|
|
1468
|
-
export declare class HlsTsMultiVariantOutputNode extends CmafNodeBase<
|
|
1497
|
+
export declare class HlsTsMultiVariantOutputNode extends CmafNodeBase<HlsTsMultiVariantMessage, "video" | "audio" | "subtitle", HlsTsMultiVariantOutputNode> {
|
|
1469
1498
|
/** @public The URL of the file based multi variant playlist */
|
|
1470
1499
|
url: string;
|
|
1471
1500
|
/**
|
|
@@ -1588,7 +1617,6 @@ export declare interface IntervalTimestamp {
|
|
|
1588
1617
|
* see: {@link NorskTransform.jitterBuffer}
|
|
1589
1618
|
*/
|
|
1590
1619
|
export declare class JitterBufferNode extends AutoProcessorMediaNode<"audio" | "video" | "subtitle"> {
|
|
1591
|
-
close(): void;
|
|
1592
1620
|
}
|
|
1593
1621
|
|
|
1594
1622
|
/**
|
|
@@ -1745,7 +1773,7 @@ export declare type MediaNodeId = string;
|
|
|
1745
1773
|
export declare class MediaNodeState {
|
|
1746
1774
|
id: MediaNodeId | undefined;
|
|
1747
1775
|
constructor(client: MediaClient);
|
|
1748
|
-
close(): void
|
|
1776
|
+
close(): Promise<void>;
|
|
1749
1777
|
}
|
|
1750
1778
|
|
|
1751
1779
|
/**
|
|
@@ -1843,7 +1871,7 @@ export declare class Norsk {
|
|
|
1843
1871
|
* Norsk Runtime version information
|
|
1844
1872
|
*/
|
|
1845
1873
|
version: Version;
|
|
1846
|
-
close(): void
|
|
1874
|
+
close(): Promise<void>;
|
|
1847
1875
|
/** @public */
|
|
1848
1876
|
static connect(settings?: NorskSettings): Promise<Norsk>;
|
|
1849
1877
|
}
|
|
@@ -2061,7 +2089,7 @@ export declare interface NorskOutput {
|
|
|
2061
2089
|
*/
|
|
2062
2090
|
hlsTsCombinedPush(settings: HlsTsCombinedPushOutputSettings): Promise<HlsTsCombinedPushOutputNode>;
|
|
2063
2091
|
/**
|
|
2064
|
-
* Produces a multi variant
|
|
2092
|
+
* Produces a multi variant HLS TS manifest for a collection of media streams
|
|
2065
2093
|
*
|
|
2066
2094
|
* This can optionally be served via the Norsk web server or be pushed
|
|
2067
2095
|
* to other locations - see {@link CmafDestinationSettings}
|
|
@@ -2167,7 +2195,7 @@ export declare interface NorskSettings {
|
|
|
2167
2195
|
onConnecting?: () => void;
|
|
2168
2196
|
onReady?: () => void;
|
|
2169
2197
|
onFailedToConnect?: () => void;
|
|
2170
|
-
/** Code to execute if the Norsk node is shutdown - by default
|
|
2198
|
+
/** Code to execute if the Norsk node is shutdown - by default it logs and nothing else */
|
|
2171
2199
|
onShutdown?: () => void;
|
|
2172
2200
|
onCurrentLoad?: (load: CurrentLoad) => void;
|
|
2173
2201
|
onHello?: (version: Version) => void;
|
|
@@ -2224,6 +2252,18 @@ export declare interface NorskTransform {
|
|
|
2224
2252
|
* @param settings - Settings and credentials for AWS transcribe
|
|
2225
2253
|
*/
|
|
2226
2254
|
audioTranscribeAws(settings: AudioTranscribeAwsSettings): Promise<AudioTranscribeAwsNode>;
|
|
2255
|
+
/**
|
|
2256
|
+
* Create a Media Node performing transcription into subtitles using the
|
|
2257
|
+
* Azure Speech service.
|
|
2258
|
+
* @param settings - Settings and credentials for Azure transcribe
|
|
2259
|
+
*/
|
|
2260
|
+
audioTranscribeAzure(settings: AudioTranscribeAzureSettings): Promise<AudioTranscribeAzureNode>;
|
|
2261
|
+
/**
|
|
2262
|
+
* Create a Media Node performing transcription into subtitles using the
|
|
2263
|
+
* Whisper speech recognition model.
|
|
2264
|
+
* @param settings - Settings and credentials for Whisper transcribe
|
|
2265
|
+
*/
|
|
2266
|
+
audioTranscribeWhisper(settings: AudioTranscribeWhisperSettings): Promise<AudioTranscribeWhisperNode>;
|
|
2227
2267
|
/**
|
|
2228
2268
|
* Mix multiple audio streams together into a single output,
|
|
2229
2269
|
* with optional gain control on each input.
|
|
@@ -2752,7 +2792,6 @@ export declare interface Resolution {
|
|
|
2752
2792
|
* see: {@link NorskOutput.rtmp}
|
|
2753
2793
|
*/
|
|
2754
2794
|
export declare class RtmpOutputNode extends AutoSinkMediaNode<"audio" | "video"> {
|
|
2755
|
-
close(): void;
|
|
2756
2795
|
}
|
|
2757
2796
|
|
|
2758
2797
|
/**
|
|
@@ -2776,7 +2815,6 @@ export declare interface RtmpOutputSettings extends SinkNodeSettings<RtmpOutputN
|
|
|
2776
2815
|
* see: {@link NorskInput.rtmpServer}
|
|
2777
2816
|
*/
|
|
2778
2817
|
export declare class RtmpServerInputNode extends SourceMediaNode {
|
|
2779
|
-
close(): void;
|
|
2780
2818
|
/**
|
|
2781
2819
|
* @public
|
|
2782
2820
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
@@ -2869,7 +2907,7 @@ export declare interface RtpEac3 {
|
|
|
2869
2907
|
kind: "eac3";
|
|
2870
2908
|
/** The clock rate of the stream */
|
|
2871
2909
|
clockRate: number;
|
|
2872
|
-
/** The language code (this will end up in outgoing metadata) */
|
|
2910
|
+
/** The language code (this will end up in outgoing metadata). RFC 5646 language tag. */
|
|
2873
2911
|
languageCode?: string;
|
|
2874
2912
|
ec3Extension: boolean;
|
|
2875
2913
|
complexityIndex: number;
|
|
@@ -2905,7 +2943,6 @@ export declare class RtpInputNode extends SourceMediaNode {
|
|
|
2905
2943
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
2906
2944
|
* */
|
|
2907
2945
|
nudge(nudge: number): void;
|
|
2908
|
-
close(): void;
|
|
2909
2946
|
}
|
|
2910
2947
|
|
|
2911
2948
|
/**
|
|
@@ -3150,7 +3187,6 @@ export declare class SrtInputNode extends SourceMediaNode {
|
|
|
3150
3187
|
* @param streamIndex - the index of the stream to be terminated
|
|
3151
3188
|
* */
|
|
3152
3189
|
closeStream(streamIndex: number): void;
|
|
3153
|
-
close(): void;
|
|
3154
3190
|
}
|
|
3155
3191
|
|
|
3156
3192
|
/**
|
|
@@ -3207,7 +3243,6 @@ export declare type SrtMode = "listener" | "caller";
|
|
|
3207
3243
|
* see: {@link NorskOutput.srt}
|
|
3208
3244
|
*/
|
|
3209
3245
|
export declare class SrtOutputNode extends AutoSinkMediaNode<"audio" | "video"> {
|
|
3210
|
-
close(): void;
|
|
3211
3246
|
}
|
|
3212
3247
|
|
|
3213
3248
|
/**
|
|
@@ -3259,7 +3294,6 @@ export declare type StabilizationMode = "low" | "medium" | "high";
|
|
|
3259
3294
|
* see: {@link NorskTransform.streamSync}
|
|
3260
3295
|
*/
|
|
3261
3296
|
export declare class StreamAlignNode extends AutoProcessorMediaNode<"audio" | "video"> {
|
|
3262
|
-
close(): void;
|
|
3263
3297
|
}
|
|
3264
3298
|
|
|
3265
3299
|
/**
|
|
@@ -3279,7 +3313,6 @@ export declare interface StreamAlignSettings extends ProcessorNodeSettings<Strea
|
|
|
3279
3313
|
* see: {@link NorskTransform.streamChaosMonkey}
|
|
3280
3314
|
*/
|
|
3281
3315
|
export declare class StreamChaosMonkeyNode extends AutoProcessorMediaNode<"audio" | "video" | "subtitle"> {
|
|
3282
|
-
close(): void;
|
|
3283
3316
|
}
|
|
3284
3317
|
|
|
3285
3318
|
/**
|
|
@@ -3311,7 +3344,6 @@ export declare interface StreamKey {
|
|
|
3311
3344
|
* see: {@link NorskTransform.streamKeyOverride}
|
|
3312
3345
|
*/
|
|
3313
3346
|
export declare class StreamKeyOverrideNode extends AutoProcessorMediaNode<"audio" | "video" | "subtitle"> {
|
|
3314
|
-
close(): void;
|
|
3315
3347
|
}
|
|
3316
3348
|
|
|
3317
3349
|
/**
|
|
@@ -3379,7 +3411,6 @@ export declare class StreamMetadataOverrideNode extends AutoProcessorMediaNode<"
|
|
|
3379
3411
|
* @param settings - The new settings
|
|
3380
3412
|
*/
|
|
3381
3413
|
updateConfig(settings: StreamMetadataOverrideSettingsUpdate): void;
|
|
3382
|
-
close(): void;
|
|
3383
3414
|
}
|
|
3384
3415
|
|
|
3385
3416
|
/**
|
|
@@ -3399,11 +3430,11 @@ export declare interface StreamMetadataOverrideSettingsUpdate {
|
|
|
3399
3430
|
audio?: {
|
|
3400
3431
|
/** Override the bitrate metadata of a compressed audio stream, or `0` to clear */
|
|
3401
3432
|
bitrate?: number;
|
|
3402
|
-
/** Override the language metadata of an audio stream, or `""` to clear */
|
|
3433
|
+
/** Override the language metadata of an audio stream, or `""` to clear. RFC 5646 language tag. */
|
|
3403
3434
|
language?: string;
|
|
3404
3435
|
};
|
|
3405
3436
|
subtitles?: {
|
|
3406
|
-
/** Override the language metadata of a subtitles stream, or `""` to clear */
|
|
3437
|
+
/** Override the language metadata of a subtitles stream, or `""` to clear. RFC 5646 language tag. */
|
|
3407
3438
|
language?: string;
|
|
3408
3439
|
};
|
|
3409
3440
|
}
|
|
@@ -3445,7 +3476,6 @@ export declare interface StreamStatisticsMixin {
|
|
|
3445
3476
|
* see {@link NorskControl.streamStatistics}.
|
|
3446
3477
|
*/
|
|
3447
3478
|
export declare class StreamStatisticsNode extends AutoProcessorMediaNode<"audio" | "video"> {
|
|
3448
|
-
close(): void;
|
|
3449
3479
|
}
|
|
3450
3480
|
|
|
3451
3481
|
/**
|
|
@@ -3472,7 +3502,6 @@ export declare interface StreamStatisticsSettings extends ProcessorNodeSettings<
|
|
|
3472
3502
|
*/
|
|
3473
3503
|
export declare class StreamSwitchHardNode<Pins extends string> extends ProcessorMediaNode<Pins> {
|
|
3474
3504
|
switchSource(newSource: Pins): void;
|
|
3475
|
-
close(): void;
|
|
3476
3505
|
}
|
|
3477
3506
|
|
|
3478
3507
|
/**
|
|
@@ -3497,7 +3526,6 @@ export declare class StreamSwitchSmoothNode<Pins extends string> extends Process
|
|
|
3497
3526
|
* Switches the source used for the current output of this node
|
|
3498
3527
|
*/
|
|
3499
3528
|
switchSource(newSource: Pins): void;
|
|
3500
|
-
close(): void;
|
|
3501
3529
|
}
|
|
3502
3530
|
|
|
3503
3531
|
/**
|
|
@@ -3551,7 +3579,6 @@ export declare interface StreamSwitchSmoothSettings<Pins extends string> extends
|
|
|
3551
3579
|
* see: {@link NorskTransform.streamSync}
|
|
3552
3580
|
*/
|
|
3553
3581
|
export declare class StreamSyncNode extends AutoProcessorMediaNode<"audio" | "video"> {
|
|
3554
|
-
close(): void;
|
|
3555
3582
|
}
|
|
3556
3583
|
|
|
3557
3584
|
/**
|
|
@@ -3572,7 +3599,6 @@ export declare class StreamTimestampNudgeNode extends AutoProcessorMediaNode<"au
|
|
|
3572
3599
|
* Applies a gradual nudge to the stream timestamps by the specified number of milliseconds
|
|
3573
3600
|
* */
|
|
3574
3601
|
nudge(nudge: number): void;
|
|
3575
|
-
close(): void;
|
|
3576
3602
|
}
|
|
3577
3603
|
|
|
3578
3604
|
/**
|
|
@@ -3589,7 +3615,6 @@ export declare interface StreamTimestampNudgeSettings extends ProcessorNodeSetti
|
|
|
3589
3615
|
* see: {@link NorskDebug.streamTimestampReport}
|
|
3590
3616
|
*/
|
|
3591
3617
|
export declare class StreamTimestampReportNode extends AutoSinkMediaNode<string> {
|
|
3592
|
-
close(): void;
|
|
3593
3618
|
}
|
|
3594
3619
|
|
|
3595
3620
|
/**
|
|
@@ -3667,6 +3692,10 @@ export declare interface SubtitleStreamMetadata {
|
|
|
3667
3692
|
*/
|
|
3668
3693
|
export declare function subtitleStreams(streams: readonly StreamMetadata[]): StreamMetadata[];
|
|
3669
3694
|
|
|
3695
|
+
export declare function toOptBool(b?: boolean): OptionalBool | undefined;
|
|
3696
|
+
|
|
3697
|
+
export declare function toOptInt(i?: number): OptionalInt | undefined;
|
|
3698
|
+
|
|
3670
3699
|
declare class TsCommonInputNode<SourceMessage, T extends SourceMediaNode> extends SourceMediaNode {
|
|
3671
3700
|
constructor(tsType: TsInputType, client: MediaClient, unregisterNode: (node: MediaNodeState) => void, settings: SourceNodeSettings<T> & StreamStatisticsMixin, nudgeFn: (nudge: TimestampProgramNudge) => SourceMessage, onEof: (() => void) | undefined, grpcStartFn: () => grpc.ClientDuplexStream<SourceMessage, TsInputEvent>);
|
|
3672
3701
|
/**
|
|
@@ -3674,7 +3703,6 @@ declare class TsCommonInputNode<SourceMessage, T extends SourceMediaNode> extend
|
|
|
3674
3703
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
3675
3704
|
* */
|
|
3676
3705
|
nudge(programNumber: number, nudge: number): void;
|
|
3677
|
-
close(): void;
|
|
3678
3706
|
}
|
|
3679
3707
|
|
|
3680
3708
|
declare enum TsInputType {
|
|
@@ -3704,7 +3732,6 @@ export declare interface UdpTsInputSettings extends RemoteInputSettings<UdpTsInp
|
|
|
3704
3732
|
* see: {@link NorskOutput.udpTs}
|
|
3705
3733
|
*/
|
|
3706
3734
|
export declare class UdpTsOutputNode extends AutoSinkMediaNode<"audio" | "video"> {
|
|
3707
|
-
close(): void;
|
|
3708
3735
|
}
|
|
3709
3736
|
|
|
3710
3737
|
/**
|
|
@@ -3771,7 +3798,6 @@ export declare class VideoComposeNode<Pins extends string> extends ProcessorMedi
|
|
|
3771
3798
|
* do this too often (more than once a second for example!)
|
|
3772
3799
|
*/
|
|
3773
3800
|
updateConfig(settings: VideoComposeSettingsUpdate<Pins>): void;
|
|
3774
|
-
close(): void;
|
|
3775
3801
|
}
|
|
3776
3802
|
|
|
3777
3803
|
/** @public */
|
|
@@ -3844,7 +3870,6 @@ export declare interface VideoComposeSettingsUpdate<Pins extends string> {
|
|
|
3844
3870
|
* see: {@link NorskTransform.videoEncode}
|
|
3845
3871
|
*/
|
|
3846
3872
|
export declare class VideoEncodeNode extends AutoProcessorMediaNode<"video"> {
|
|
3847
|
-
close(): void;
|
|
3848
3873
|
}
|
|
3849
3874
|
|
|
3850
3875
|
/**
|
|
@@ -3926,7 +3951,6 @@ export declare function videoStreams(streams: readonly StreamMetadata[]): Stream
|
|
|
3926
3951
|
* see: {@link NorskInput.audioSignal}
|
|
3927
3952
|
*/
|
|
3928
3953
|
export declare class VideoTestcardGeneratorNode extends SourceMediaNode {
|
|
3929
|
-
close(): void;
|
|
3930
3954
|
}
|
|
3931
3955
|
|
|
3932
3956
|
/**
|
|
@@ -3960,7 +3984,6 @@ export declare function videoToPin<Pins extends string>(pin: Pins): (streams: St
|
|
|
3960
3984
|
* see: {@link NorskTransform.videoTransform}
|
|
3961
3985
|
*/
|
|
3962
3986
|
export declare class VideoTransformNode extends AutoProcessorMediaNode<"video"> {
|
|
3963
|
-
close(): void;
|
|
3964
3987
|
}
|
|
3965
3988
|
|
|
3966
3989
|
/**
|
|
@@ -3987,7 +4010,6 @@ export declare interface VideoTransformSettings extends ProcessorNodeSettings<Vi
|
|
|
3987
4010
|
export declare class WebRTCBrowserNode extends AutoProcessorMediaNode<"audio" | "video"> {
|
|
3988
4011
|
/** @public The URL of the local player */
|
|
3989
4012
|
playerUrl: string;
|
|
3990
|
-
close(): void;
|
|
3991
4013
|
}
|
|
3992
4014
|
|
|
3993
4015
|
/**
|
|
@@ -4013,7 +4035,6 @@ export declare class WhepOutputNode extends AutoSinkMediaNode<"audio" | "video">
|
|
|
4013
4035
|
playerUrl: string;
|
|
4014
4036
|
/** @public The URL of the WHEP endpoint */
|
|
4015
4037
|
endpointUrl: string;
|
|
4016
|
-
close(): void;
|
|
4017
4038
|
}
|
|
4018
4039
|
|
|
4019
4040
|
/**
|
|
@@ -4044,7 +4065,6 @@ export declare class WhipInputNode extends SourceMediaNode {
|
|
|
4044
4065
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
4045
4066
|
* */
|
|
4046
4067
|
nudge(sourceName: string, programNumber: number, nudge: number): void;
|
|
4047
|
-
close(): void;
|
|
4048
4068
|
}
|
|
4049
4069
|
|
|
4050
4070
|
/** @public */
|
|
@@ -4070,7 +4090,6 @@ export declare interface WhipInputSettings extends InputSettings<WhipInputNode>,
|
|
|
4070
4090
|
* see: {@link NorskOutput.whip}
|
|
4071
4091
|
*/
|
|
4072
4092
|
export declare class WhipOutputNode extends AutoSinkMediaNode<"audio" | "video"> {
|
|
4073
|
-
close(): void;
|
|
4074
4093
|
}
|
|
4075
4094
|
|
|
4076
4095
|
/**
|
|
@@ -60,7 +60,7 @@ export interface StreamStatisticsMixin {
|
|
|
60
60
|
export declare class MediaNodeState {
|
|
61
61
|
id: MediaNodeId | undefined;
|
|
62
62
|
constructor(client: MediaClient);
|
|
63
|
-
close(): void
|
|
63
|
+
close(): Promise<void>;
|
|
64
64
|
}
|
|
65
65
|
/** @public */
|
|
66
66
|
export declare type ReceiveFromAddress<Pins extends string> = {
|
|
@@ -68,7 +68,16 @@ class MediaNodeState {
|
|
|
68
68
|
this.id = undefined;
|
|
69
69
|
}
|
|
70
70
|
close() {
|
|
71
|
-
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
return new Promise((r) => __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
if (this.id) {
|
|
74
|
+
(0, utils_1.debuglog)("Sending close request for media node with id %s", this.id);
|
|
75
|
+
this.client.closeMediaNode((0, utils_1.provideFull)(media_pb_1.MediaNodeId, { id: this.id }), () => r());
|
|
76
|
+
}
|
|
77
|
+
else
|
|
78
|
+
r();
|
|
79
|
+
}));
|
|
80
|
+
});
|
|
72
81
|
}
|
|
73
82
|
/** @internal */
|
|
74
83
|
finalise() {
|
|
@@ -13,7 +13,6 @@ export interface StreamTimestampReportSettings extends SinkNodeSettings<StreamTi
|
|
|
13
13
|
* see: {@link NorskDebug.streamTimestampReport}
|
|
14
14
|
*/
|
|
15
15
|
export declare class StreamTimestampReportNode extends AutoSinkMediaNode<string> {
|
|
16
|
-
close(): void;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* @public
|
|
@@ -44,7 +44,7 @@ export interface RtpEac3 {
|
|
|
44
44
|
kind: "eac3";
|
|
45
45
|
/** The clock rate of the stream */
|
|
46
46
|
clockRate: number;
|
|
47
|
-
/** The language code (this will end up in outgoing metadata) */
|
|
47
|
+
/** The language code (this will end up in outgoing metadata). RFC 5646 language tag. */
|
|
48
48
|
languageCode?: string;
|
|
49
49
|
ec3Extension: boolean;
|
|
50
50
|
complexityIndex: number;
|
|
@@ -121,7 +121,6 @@ export declare class RtpInputNode extends SourceMediaNode {
|
|
|
121
121
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
122
122
|
* */
|
|
123
123
|
nudge(nudge: number): void;
|
|
124
|
-
close(): void;
|
|
125
124
|
}
|
|
126
125
|
/**
|
|
127
126
|
* @public
|
|
@@ -219,7 +218,6 @@ export interface StreamKeySettings {
|
|
|
219
218
|
* see: {@link NorskInput.rtmpServer}
|
|
220
219
|
*/
|
|
221
220
|
export declare class RtmpServerInputNode extends SourceMediaNode {
|
|
222
|
-
close(): void;
|
|
223
221
|
/**
|
|
224
222
|
* @public
|
|
225
223
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
@@ -239,7 +237,6 @@ declare class TsCommonInputNode<SourceMessage, T extends SourceMediaNode> extend
|
|
|
239
237
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
240
238
|
* */
|
|
241
239
|
nudge(programNumber: number, nudge: number): void;
|
|
242
|
-
close(): void;
|
|
243
240
|
}
|
|
244
241
|
/**
|
|
245
242
|
* @public
|
|
@@ -269,7 +266,6 @@ export declare class DeckLinkInputNode extends SourceMediaNode {
|
|
|
269
266
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
270
267
|
* */
|
|
271
268
|
nudge(nudge: number): void;
|
|
272
|
-
close(): void;
|
|
273
269
|
}
|
|
274
270
|
/** @public */
|
|
275
271
|
export interface WhipInputSettings extends InputSettings<WhipInputNode>, StreamStatisticsMixin {
|
|
@@ -302,7 +298,6 @@ export declare class WhipInputNode extends SourceMediaNode {
|
|
|
302
298
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
303
299
|
* */
|
|
304
300
|
nudge(sourceName: string, programNumber: number, nudge: number): void;
|
|
305
|
-
close(): void;
|
|
306
301
|
}
|
|
307
302
|
/**
|
|
308
303
|
* @public
|
|
@@ -319,7 +314,6 @@ export interface LocalFileInputSettings extends InputSettings<SourceMediaNode> {
|
|
|
319
314
|
* see: {@link NorskInput.fileWebVtt}
|
|
320
315
|
*/
|
|
321
316
|
export declare class FileWebVttInputNode extends SourceMediaNode {
|
|
322
|
-
close(): void;
|
|
323
317
|
}
|
|
324
318
|
/** @public */
|
|
325
319
|
export interface FileTsInputSettings extends LocalFileInputSettings, StreamStatisticsMixin {
|
|
@@ -412,7 +406,6 @@ export declare class SrtInputNode extends SourceMediaNode {
|
|
|
412
406
|
* @param streamIndex - the index of the stream to be terminated
|
|
413
407
|
* */
|
|
414
408
|
closeStream(streamIndex: number): void;
|
|
415
|
-
close(): void;
|
|
416
409
|
}
|
|
417
410
|
/**
|
|
418
411
|
* @public
|
|
@@ -483,7 +476,6 @@ export declare class BrowserInputNode extends SourceMediaNode {
|
|
|
483
476
|
* Applies a gradual nudge to the outgoing stream timestamps by the specified number of milliseconds
|
|
484
477
|
* */
|
|
485
478
|
nudge(nudge: number): void;
|
|
486
|
-
close(): void;
|
|
487
479
|
}
|
|
488
480
|
/**
|
|
489
481
|
* @public
|
|
@@ -509,7 +501,6 @@ export interface AudioSignalGeneratorSettings extends SourceNodeSettings<AudioSi
|
|
|
509
501
|
* see: {@link NorskInput.audioSignal}
|
|
510
502
|
*/
|
|
511
503
|
export declare class AudioSignalGeneratorNode extends SourceMediaNode {
|
|
512
|
-
close(): void;
|
|
513
504
|
}
|
|
514
505
|
/**
|
|
515
506
|
* @public
|
|
@@ -539,7 +530,6 @@ declare type Pattern = "black" | "smpte75" | "smpte100";
|
|
|
539
530
|
* see: {@link NorskInput.audioSignal}
|
|
540
531
|
*/
|
|
541
532
|
export declare class VideoTestcardGeneratorNode extends SourceMediaNode {
|
|
542
|
-
close(): void;
|
|
543
533
|
}
|
|
544
534
|
/**
|
|
545
535
|
* @public
|
|
@@ -559,7 +549,6 @@ export interface FileImageInputSettings extends SourceNodeSettings<FileImageInpu
|
|
|
559
549
|
* see: {@link NorskInput.fileImage}
|
|
560
550
|
*/
|
|
561
551
|
export declare class FileImageInputNode extends SourceMediaNode {
|
|
562
|
-
close(): void;
|
|
563
552
|
}
|
|
564
553
|
/**
|
|
565
554
|
* @public
|
|
@@ -603,7 +592,6 @@ export declare class FileMp4InputNode extends SourceMediaNode {
|
|
|
603
592
|
* */
|
|
604
593
|
nudge(nudge: number): void;
|
|
605
594
|
updateSettings(settings: FileMp4InputSettingsUpdate): void;
|
|
606
|
-
close(): void;
|
|
607
595
|
}
|
|
608
596
|
/**
|
|
609
597
|
* @public
|