@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-06-336ac6c6 → 1.27.0-2025-07-09-f9b24945
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/info.js +665 -284
- package/client/style.css +46 -0
- package/lib/info.js +3 -1
- package/lib/info.js.map +1 -1
- package/lib/input.rtmp/info.d.ts +20 -1
- package/lib/input.rtmp/runtime.d.ts +20 -1
- package/lib/input.rtmp/types.d.ts +47 -27
- package/lib/input.rtmp/types.source.yaml +319 -0
- package/lib/input.rtmp/types.yaml +206 -131
- package/lib/input.silence/info.d.ts +4 -2
- package/lib/input.silence/types.d.ts +4 -7
- package/lib/input.silence/types.source.yaml +27 -0
- package/lib/input.silence/types.yaml +82 -4
- package/lib/input.srt-caller/info.d.ts +41 -4
- package/lib/input.srt-caller/types.d.ts +51 -43
- package/lib/input.srt-caller/types.source.yaml +70 -0
- package/lib/input.srt-caller/types.yaml +138 -24
- package/lib/input.srt-listener/info.d.ts +41 -4
- package/lib/input.srt-listener/runtime.d.ts +34 -3
- package/lib/input.srt-listener/types.d.ts +74 -44
- package/lib/input.srt-listener/types.source.yaml +329 -0
- package/lib/input.srt-listener/types.yaml +259 -132
- package/lib/input.udp-ts/info.d.ts +20 -1
- package/lib/input.udp-ts/types.d.ts +20 -25
- package/lib/input.udp-ts/types.source.yaml +40 -0
- package/lib/input.udp-ts/types.yaml +81 -3
- package/lib/input.videoTestCard/info.d.ts +8 -2
- package/lib/input.videoTestCard/types.d.ts +8 -10
- package/lib/input.videoTestCard/types.source.yaml +32 -0
- package/lib/input.videoTestCard/types.yaml +30 -6
- package/lib/input.whip/info.d.ts +7 -1
- package/lib/input.whip/types.d.ts +44 -28
- package/lib/input.whip/types.source.yaml +190 -0
- package/lib/input.whip/types.yaml +179 -104
- package/lib/output.autoCmaf/fullscreen.js +46 -1
- package/lib/output.autoCmaf/fullscreen.js.map +1 -1
- package/lib/output.autoCmaf/info.js +20 -0
- package/lib/output.autoCmaf/info.js.map +1 -1
- package/lib/output.autoCmaf/inline-view.d.ts +3 -2
- package/lib/output.autoCmaf/inline-view.js +72 -2
- package/lib/output.autoCmaf/inline-view.js.map +1 -1
- package/lib/output.autoCmaf/runtime.d.ts +2 -1
- package/lib/output.autoCmaf/runtime.js +41 -11
- package/lib/output.autoCmaf/runtime.js.map +1 -1
- package/lib/output.autoCmaf/types.d.ts +2 -0
- package/lib/output.autoCmaf/types.yaml +6 -0
- package/lib/output.cmafMultiVariant/runtime.js +2 -2
- package/lib/output.cmafMultiVariant/runtime.js.map +1 -1
- package/lib/output.cmafPlaylist/info.js +19 -0
- package/lib/output.cmafPlaylist/info.js.map +1 -1
- package/lib/output.cmafPlaylist/runtime.js +6 -3
- package/lib/output.cmafPlaylist/runtime.js.map +1 -1
- package/lib/output.cmafPlaylist/types.d.ts +1 -0
- package/lib/output.cmafPlaylist/types.yaml +3 -0
- package/lib/output.preview/inline-view.js +1 -1
- package/lib/output.preview/inline-view.js.map +1 -1
- package/lib/output.preview/runtime.js +2 -2
- package/lib/output.preview/runtime.js.map +1 -1
- package/lib/output.statistics/info.d.ts +172 -2
- package/lib/output.statistics/types.d.ts +400 -72
- package/lib/output.statistics/types.source.yaml +119 -0
- package/lib/output.statistics/types.yaml +333 -91
- package/lib/output.tsMediaPlaylist/runtime.js +2 -2
- package/lib/output.tsMediaPlaylist/runtime.js.map +1 -1
- package/lib/output.tsMultiVariant/runtime.js +1 -1
- package/lib/output.tsMultiVariant/runtime.js.map +1 -1
- package/lib/output.whep/runtime.js +3 -1
- package/lib/output.whep/runtime.js.map +1 -1
- package/lib/processor.audioEncoder/info.d.ts +10 -2
- package/lib/processor.audioEncoder/types.d.ts +23 -12
- package/lib/processor.audioEncoder/types.source.yaml +78 -0
- package/lib/processor.audioEncoder/types.yaml +103 -29
- package/lib/processor.browserOverlay/info.js +5 -3
- package/lib/processor.browserOverlay/info.js.map +1 -1
- package/lib/processor.browserOverlay/runtime.d.ts +2 -1
- package/lib/processor.browserOverlay/runtime.js +16 -2
- package/lib/processor.browserOverlay/runtime.js.map +1 -1
- package/lib/processor.fixedLadder/info.d.ts +182 -7
- package/lib/processor.fixedLadder/types.d.ts +619 -19
- package/lib/processor.fixedLadder/types.source.yaml +462 -0
- package/lib/processor.fixedLadder/types.yaml +336 -115
- package/lib/processor.makeProgram/info.d.ts +1 -0
- package/lib/processor.makeProgram/info.js +9 -0
- package/lib/processor.makeProgram/info.js.map +1 -1
- package/lib/processor.makeProgram/runtime.d.ts +2 -1
- package/lib/processor.makeProgram/runtime.js +14 -1
- package/lib/processor.makeProgram/runtime.js.map +1 -1
- package/lib/processor.makeProgram/types.d.ts +1 -0
- package/lib/processor.makeProgram/types.yaml +3 -1
- package/lib/processor.smartSingleMediaSwitch/info.d.ts +12 -4
- package/lib/processor.smartSingleMediaSwitch/types.d.ts +22 -18
- package/lib/processor.smartSingleMediaSwitch/types.source.yaml +115 -0
- package/lib/processor.smartSingleMediaSwitch/types.yaml +147 -50
- package/lib/processor.smartSourceSwitch/form-views.d.ts +6 -0
- package/lib/processor.smartSourceSwitch/form-views.js +11 -0
- package/lib/processor.smartSourceSwitch/form-views.js.map +1 -0
- package/lib/processor.smartSourceSwitch/info.d.ts +18 -4
- package/lib/processor.smartSourceSwitch/info.js +30 -0
- package/lib/processor.smartSourceSwitch/info.js.map +1 -1
- package/lib/processor.smartSourceSwitch/inline-view.js +9 -8
- package/lib/processor.smartSourceSwitch/inline-view.js.map +1 -1
- package/lib/processor.smartSourceSwitch/runtime.d.ts +4 -1
- package/lib/processor.smartSourceSwitch/runtime.js +56 -27
- package/lib/processor.smartSourceSwitch/runtime.js.map +1 -1
- package/lib/processor.smartSourceSwitch/types.d.ts +41 -18
- package/lib/processor.smartSourceSwitch/types.source.yaml +129 -0
- package/lib/processor.smartSourceSwitch/types.yaml +177 -48
- package/lib/processor.syncExternalAudio/info.d.ts +1 -0
- package/lib/processor.syncExternalAudio/types.d.ts +1 -0
- package/lib/processor.videoDecoder/info.js +4 -2
- package/lib/processor.videoDecoder/info.js.map +1 -1
- package/lib/processor.zoomTo/info.d.ts +54 -0
- package/lib/processor.zoomTo/info.js +174 -0
- package/lib/processor.zoomTo/info.js.map +1 -0
- package/lib/processor.zoomTo/runtime-types.d.ts +11 -0
- package/lib/processor.zoomTo/runtime-types.js +3 -0
- package/lib/processor.zoomTo/runtime-types.js.map +1 -0
- package/lib/processor.zoomTo/runtime.d.ts +45 -0
- package/lib/processor.zoomTo/runtime.js +323 -0
- package/lib/processor.zoomTo/runtime.js.map +1 -0
- package/lib/processor.zoomTo/types.d.ts +182 -0
- package/lib/processor.zoomTo/types.js +3 -0
- package/lib/processor.zoomTo/types.js.map +1 -0
- package/lib/processor.zoomTo/types.yaml +356 -0
- package/lib/test/auto-cmaf.js +7 -4
- package/lib/test/auto-cmaf.js.map +1 -1
- package/lib/test/smart-source-switch.js +117 -2
- package/lib/test/smart-source-switch.js.map +1 -1
- package/lib/test/zoom-to.d.ts +1 -0
- package/lib/test/zoom-to.js +345 -0
- package/lib/test/zoom-to.js.map +1 -0
- package/package.json +5 -5
- package/lib/output.autoCmaf/summary.d.ts +0 -6
- package/lib/output.autoCmaf/summary.js +0 -57
- package/lib/output.autoCmaf/summary.js.map +0 -1
@@ -2,32 +2,43 @@ export type paths = Record<string, never>;
|
|
2
2
|
export type webhooks = Record<string, never>;
|
3
3
|
export interface components {
|
4
4
|
schemas: {
|
5
|
-
channelLayout:
|
6
|
-
|
5
|
+
channelLayout: ("mono" | "stereo" | "surround" | "4.0" | "5.0" | "5.1" | "7.1" | "5.1.4" | "7.1.4") | ("l" | "r" | "c" | "lfe" | "ls" | "rs" | "lc" | "rc" | "lsr" | "rsr" | "cs" | "lsd" | "rsd" | "lss" | "rss" | "lw" | "rw" | "lv" | "rv" | "cv" | "lvr" | "rvr" | "cvr" | "lvss" | "rvss" | "ts" | "lfe2" | "lb" | "rb" | "cb" | "lvs" | "rvs" | "lfe3" | "leos" | "reos" | "hwbcal" | "hwbcar" | "lbs" | "rbs" | "unknown")[] | {
|
6
|
+
single: "l" | "r" | "c" | "lfe" | "ls" | "rs" | "lc" | "rc" | "lsr" | "rsr" | "cs" | "lsd" | "rsd" | "lss" | "rss" | "lw" | "rw" | "lv" | "rv" | "cv" | "lvr" | "rvr" | "cvr" | "lvss" | "rvss" | "ts" | "lfe2" | "lb" | "rb" | "cb" | "lvs" | "rvs" | "lfe3" | "leos" | "reos" | "hwbcal" | "hwbcar" | "lbs" | "rbs" | "unknown";
|
7
|
+
};
|
8
|
+
sampleRate: 8000 | 11025 | 12000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 | 64000 | 88200 | 96000;
|
7
9
|
aacProfile: "main" | "lc" | "high";
|
8
10
|
aac: {
|
9
11
|
kind: "aac";
|
10
|
-
profile:
|
11
|
-
sampleRate:
|
12
|
+
profile: "main" | "lc" | "high";
|
13
|
+
sampleRate: 8000 | 11025 | 12000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 | 64000 | 88200 | 96000;
|
12
14
|
};
|
13
15
|
opus: {
|
14
16
|
kind: "opus";
|
15
17
|
};
|
16
|
-
codec:
|
18
|
+
codec: {
|
19
|
+
kind: "aac";
|
20
|
+
profile: "main" | "lc" | "high";
|
21
|
+
sampleRate: 8000 | 11025 | 12000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 | 64000 | 88200 | 96000;
|
22
|
+
} | {
|
23
|
+
kind: "opus";
|
24
|
+
};
|
17
25
|
audioEncoderConfig: {
|
18
26
|
id: string;
|
19
27
|
displayName: string;
|
20
28
|
notes?: string;
|
21
29
|
renditionName: string;
|
22
|
-
channelLayout:
|
30
|
+
channelLayout: ("mono" | "stereo" | "surround" | "4.0" | "5.0" | "5.1" | "7.1" | "5.1.4" | "7.1.4") | ("l" | "r" | "c" | "lfe" | "ls" | "rs" | "lc" | "rc" | "lsr" | "rsr" | "cs" | "lsd" | "rsd" | "lss" | "rss" | "lw" | "rw" | "lv" | "rv" | "cv" | "lvr" | "rvr" | "cvr" | "lvss" | "rvss" | "ts" | "lfe2" | "lb" | "rb" | "cb" | "lvs" | "rvs" | "lfe3" | "leos" | "reos" | "hwbcal" | "hwbcar" | "lbs" | "rbs" | "unknown")[] | {
|
31
|
+
single: "l" | "r" | "c" | "lfe" | "ls" | "rs" | "lc" | "rc" | "lsr" | "rsr" | "cs" | "lsd" | "rsd" | "lss" | "rss" | "lw" | "rw" | "lv" | "rv" | "cv" | "lvr" | "rvr" | "cvr" | "lvss" | "rvss" | "ts" | "lfe2" | "lb" | "rb" | "cb" | "lvs" | "rvs" | "lfe3" | "leos" | "reos" | "hwbcal" | "hwbcar" | "lbs" | "rbs" | "unknown";
|
32
|
+
};
|
23
33
|
bitrate: number;
|
24
|
-
codec:
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
34
|
+
codec: {
|
35
|
+
kind: "aac";
|
36
|
+
profile: "main" | "lc" | "high";
|
37
|
+
sampleRate: 8000 | 11025 | 12000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 | 64000 | 88200 | 96000;
|
38
|
+
} | {
|
39
|
+
kind: "opus";
|
40
|
+
};
|
29
41
|
};
|
30
|
-
SampleRate: 8000 | 11025 | 12000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 | 64000 | 88200 | 96000;
|
31
42
|
};
|
32
43
|
responses: never;
|
33
44
|
parameters: never;
|
@@ -0,0 +1,78 @@
|
|
1
|
+
openapi: 3.0.0
|
2
|
+
info:
|
3
|
+
title: Audio Encoder Component
|
4
|
+
version: 1.0.0
|
5
|
+
|
6
|
+
components:
|
7
|
+
schemas:
|
8
|
+
channelLayout:
|
9
|
+
$ref: '../../../core/src/types/base.yml#/components/schemas/ChannelLayout'
|
10
|
+
|
11
|
+
sampleRate:
|
12
|
+
$ref: '../../../core/src/types/base.yml#/components/schemas/SampleRate'
|
13
|
+
|
14
|
+
aacProfile:
|
15
|
+
type: string
|
16
|
+
enum:
|
17
|
+
- main
|
18
|
+
- lc
|
19
|
+
- high
|
20
|
+
description: AAC encoding profile
|
21
|
+
|
22
|
+
aac:
|
23
|
+
type: object
|
24
|
+
properties:
|
25
|
+
kind:
|
26
|
+
type: string
|
27
|
+
enum: ['aac']
|
28
|
+
profile:
|
29
|
+
$ref: '#/components/schemas/aacProfile'
|
30
|
+
sampleRate:
|
31
|
+
$ref: '#/components/schemas/sampleRate'
|
32
|
+
required: ['kind', 'profile', 'sampleRate']
|
33
|
+
|
34
|
+
opus:
|
35
|
+
type: object
|
36
|
+
properties:
|
37
|
+
kind:
|
38
|
+
type: string
|
39
|
+
enum: ['opus']
|
40
|
+
required: ['kind']
|
41
|
+
|
42
|
+
codec:
|
43
|
+
oneOf:
|
44
|
+
- $ref: '#/components/schemas/aac'
|
45
|
+
- $ref: '#/components/schemas/opus'
|
46
|
+
discriminator:
|
47
|
+
propertyName: kind
|
48
|
+
|
49
|
+
audioEncoderConfig:
|
50
|
+
type: object
|
51
|
+
properties:
|
52
|
+
id:
|
53
|
+
type: string
|
54
|
+
description: Unique identifier for the component
|
55
|
+
displayName:
|
56
|
+
type: string
|
57
|
+
description: Human-readable name for the component
|
58
|
+
notes:
|
59
|
+
type: string
|
60
|
+
description: Optional notes about the component configuration
|
61
|
+
renditionName:
|
62
|
+
type: string
|
63
|
+
description: Name of this rendition of encoded audio
|
64
|
+
channelLayout:
|
65
|
+
$ref: '#/components/schemas/channelLayout'
|
66
|
+
bitrate:
|
67
|
+
type: number
|
68
|
+
minimum: 4001
|
69
|
+
description: Bitrate in bits per second
|
70
|
+
codec:
|
71
|
+
$ref: '#/components/schemas/codec'
|
72
|
+
required:
|
73
|
+
- id
|
74
|
+
- displayName
|
75
|
+
- renditionName
|
76
|
+
- channelLayout
|
77
|
+
- bitrate
|
78
|
+
- codec
|
@@ -1,51 +1,127 @@
|
|
1
|
+
# This file has been generated, please edit types.source.yaml instead
|
2
|
+
|
1
3
|
openapi: 3.0.0
|
2
4
|
info:
|
3
5
|
title: Audio Encoder Component
|
4
6
|
version: 1.0.0
|
5
|
-
|
6
7
|
components:
|
7
8
|
schemas:
|
8
|
-
channelLayout:
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
9
|
+
channelLayout: &a6
|
10
|
+
description: Channel layout for an audio stream. Can be one of several string
|
11
|
+
presets, an array of channel names, or an object with a single property.
|
12
|
+
oneOf:
|
13
|
+
- type: string
|
14
|
+
enum:
|
15
|
+
- mono
|
16
|
+
- stereo
|
17
|
+
- surround
|
18
|
+
- "4.0"
|
19
|
+
- "5.0"
|
20
|
+
- "5.1"
|
21
|
+
- "7.1"
|
22
|
+
- 5.1.4
|
23
|
+
- 7.1.4
|
24
|
+
- type: array
|
25
|
+
items: &a1
|
26
|
+
type: string
|
27
|
+
enum:
|
28
|
+
- l
|
29
|
+
- r
|
30
|
+
- c
|
31
|
+
- lfe
|
32
|
+
- ls
|
33
|
+
- rs
|
34
|
+
- lc
|
35
|
+
- rc
|
36
|
+
- lsr
|
37
|
+
- rsr
|
38
|
+
- cs
|
39
|
+
- lsd
|
40
|
+
- rsd
|
41
|
+
- lss
|
42
|
+
- rss
|
43
|
+
- lw
|
44
|
+
- rw
|
45
|
+
- lv
|
46
|
+
- rv
|
47
|
+
- cv
|
48
|
+
- lvr
|
49
|
+
- rvr
|
50
|
+
- cvr
|
51
|
+
- lvss
|
52
|
+
- rvss
|
53
|
+
- ts
|
54
|
+
- lfe2
|
55
|
+
- lb
|
56
|
+
- rb
|
57
|
+
- cb
|
58
|
+
- lvs
|
59
|
+
- rvs
|
60
|
+
- lfe3
|
61
|
+
- leos
|
62
|
+
- reos
|
63
|
+
- hwbcal
|
64
|
+
- hwbcar
|
65
|
+
- lbs
|
66
|
+
- rbs
|
67
|
+
- unknown
|
68
|
+
- type: object
|
69
|
+
properties:
|
70
|
+
single: *a1
|
71
|
+
required:
|
72
|
+
- single
|
73
|
+
sampleRate: &a3
|
74
|
+
type: integer
|
75
|
+
enum:
|
76
|
+
- 8000
|
77
|
+
- 11025
|
78
|
+
- 12000
|
79
|
+
- 16000
|
80
|
+
- 22050
|
81
|
+
- 24000
|
82
|
+
- 32000
|
83
|
+
- 44100
|
84
|
+
- 48000
|
85
|
+
- 64000
|
86
|
+
- 88200
|
87
|
+
- 96000
|
88
|
+
description: Possible sample rates in Hz.
|
89
|
+
example: 48000
|
90
|
+
aacProfile: &a2
|
15
91
|
type: string
|
16
92
|
enum:
|
17
93
|
- main
|
18
94
|
- lc
|
19
95
|
- high
|
20
96
|
description: AAC encoding profile
|
21
|
-
|
22
|
-
aac:
|
97
|
+
aac: &a4
|
23
98
|
type: object
|
24
99
|
properties:
|
25
100
|
kind:
|
26
101
|
type: string
|
27
|
-
enum:
|
28
|
-
|
29
|
-
|
30
|
-
sampleRate:
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
102
|
+
enum:
|
103
|
+
- aac
|
104
|
+
profile: *a2
|
105
|
+
sampleRate: *a3
|
106
|
+
required:
|
107
|
+
- kind
|
108
|
+
- profile
|
109
|
+
- sampleRate
|
110
|
+
opus: &a5
|
35
111
|
type: object
|
36
112
|
properties:
|
37
113
|
kind:
|
38
114
|
type: string
|
39
|
-
enum:
|
40
|
-
|
41
|
-
|
42
|
-
|
115
|
+
enum:
|
116
|
+
- opus
|
117
|
+
required:
|
118
|
+
- kind
|
119
|
+
codec: &a7
|
43
120
|
oneOf:
|
44
|
-
-
|
45
|
-
-
|
121
|
+
- *a4
|
122
|
+
- *a5
|
46
123
|
discriminator:
|
47
124
|
propertyName: kind
|
48
|
-
|
49
125
|
audioEncoderConfig:
|
50
126
|
type: object
|
51
127
|
properties:
|
@@ -61,14 +137,12 @@ components:
|
|
61
137
|
renditionName:
|
62
138
|
type: string
|
63
139
|
description: Name of this rendition of encoded audio
|
64
|
-
channelLayout:
|
65
|
-
$ref: '#/components/schemas/channelLayout'
|
140
|
+
channelLayout: *a6
|
66
141
|
bitrate:
|
67
142
|
type: number
|
68
143
|
minimum: 4001
|
69
144
|
description: Bitrate in bits per second
|
70
|
-
codec:
|
71
|
-
$ref: '#/components/schemas/codec'
|
145
|
+
codec: *a7
|
72
146
|
required:
|
73
147
|
- id
|
74
148
|
- displayName
|
@@ -21,9 +21,11 @@ function default_1({ defineComponent, validation: { Z }, }) {
|
|
21
21
|
video: true
|
22
22
|
},
|
23
23
|
produces: {
|
24
|
-
type:
|
25
|
-
|
26
|
-
|
24
|
+
type: 'dynamic-streams',
|
25
|
+
streams: (_, input) => {
|
26
|
+
return input;
|
27
|
+
}
|
28
|
+
},
|
27
29
|
},
|
28
30
|
extraValidation: function (ctx) {
|
29
31
|
ctx.requireExactVideo(1);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/info.ts"],"names":[],"mappings":";;;;;AAQA,
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/info.ts"],"names":[],"mappings":";;;;;AAQA,4BA8DC;AApED,uEAA+E;AAC/E,+EAA4E;AAE5E,kEAAyC;AACzC,gEAAuC;AAEvC,mBAAwB,EACtB,eAAe,EACf,UAAU,EAAE,EAAE,CAAC,EAAE,GACJ;IACb,OAAO,eAAe,CAAwF;QAC5G,UAAU,EAAE,0BAA0B;QACtC,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,oDAAoD;QACjE,IAAI,EAAE,iCAAe;QACrB,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,IAAI;aACZ;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBACpB,OAAO,KAAK,CAAA;gBACd,CAAC;aACF;SACF;QACD,eAAe,EAAE,UAAS,GAAG;YAC3B,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;aACrB,CAAA;QACH,CAAC;QACD,OAAO,EAAE;YACP,OAAO,EAAE,sBAAW;YACpB,MAAM,EAAE,qBAAU;YAClB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI;aACd,CAAC;YACF,WAAW,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,aAAa;wBAChB,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;oBAC1C,KAAK,SAAS;wBACZ,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBACrC,KAAK,UAAU;wBACb,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;oBACtC;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;SACF;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAA,0BAAiB,GAAE;aAC9B;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;gBAC1H,KAAK,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;aACtF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { BrowserInputNode, ComposePart, Norsk, VideoComposeNode, VideoStreamMetadata } from '@norskvideo/norsk-sdk';
|
1
|
+
import { BrowserInputNode, ComposePart, Norsk, StreamKeyOverrideNode, VideoComposeNode, VideoStreamMetadata } from '@norskvideo/norsk-sdk';
|
2
2
|
import { CreatedMediaNode, InstanceRouteArgs, OnCreated, RelatedMediaNodes, RuntimeUpdates, ServerComponentDefinition, ServerComponentSchemas, StudioComponentInputStream, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
|
3
3
|
import { components } from './types';
|
4
4
|
import { HardwareAccelerationType } from '@norskvideo/norsk-studio/lib/shared/config';
|
@@ -37,6 +37,7 @@ export default class BrowserOverlayDefinition implements ServerComponentDefiniti
|
|
37
37
|
export declare class BrowserOverlay implements CreatedMediaNode {
|
38
38
|
compose?: VideoComposeNode<"video" | "overlay">;
|
39
39
|
browser?: BrowserInputNode;
|
40
|
+
output?: StreamKeyOverrideNode;
|
40
41
|
currentVideo?: VideoStreamMetadata;
|
41
42
|
norsk: Norsk;
|
42
43
|
updates: RuntimeUpdates<BrowserOverlayState, BrowserOverlayCommand, BrowserOverlayEvent>;
|
@@ -86,6 +86,7 @@ exports.default = BrowserOverlayDefinition;
|
|
86
86
|
class BrowserOverlay {
|
87
87
|
compose;
|
88
88
|
browser;
|
89
|
+
output;
|
89
90
|
currentVideo;
|
90
91
|
norsk;
|
91
92
|
updates;
|
@@ -117,6 +118,7 @@ class BrowserOverlay {
|
|
117
118
|
if (!video || video.metadata?.message.case != "video") {
|
118
119
|
await this.compose?.close();
|
119
120
|
await this.browser?.close();
|
121
|
+
await this.output?.close();
|
120
122
|
this.compose = undefined;
|
121
123
|
this.browser = undefined;
|
122
124
|
return;
|
@@ -129,6 +131,7 @@ class BrowserOverlay {
|
|
129
131
|
(0, logging_1.debuglog)("Closing nodes for browser overlay because of metadata change", { id: this.id, old: this.currentVideo, new: nextVideo });
|
130
132
|
await this.compose?.close();
|
131
133
|
await this.browser?.close();
|
134
|
+
await this.output?.close();
|
132
135
|
this.currentVideo = undefined;
|
133
136
|
}
|
134
137
|
}
|
@@ -160,11 +163,9 @@ class BrowserOverlay {
|
|
160
163
|
id: `${this.cfg.id}-compose`,
|
161
164
|
onCreate: (n) => {
|
162
165
|
this.relatedMediaNodes.addInput(n);
|
163
|
-
this.relatedMediaNodes.addOutput(n);
|
164
166
|
},
|
165
167
|
onClose: () => {
|
166
168
|
this.relatedMediaNodes.removeInput(thisCompose);
|
167
|
-
this.relatedMediaNodes.removeOutput(thisCompose);
|
168
169
|
},
|
169
170
|
referenceStream: 'video',
|
170
171
|
hardwareAcceleration,
|
@@ -172,6 +173,19 @@ class BrowserOverlay {
|
|
172
173
|
parts: this.enabledParts,
|
173
174
|
outputResolution: { width: nextVideo.width, height: nextVideo.height }
|
174
175
|
});
|
176
|
+
this.output = await this.norsk.processor.transform.streamKeyOverride({
|
177
|
+
id: `${this.id}-output`,
|
178
|
+
streamKey: video.metadata.streamKey,
|
179
|
+
onCreate: (n) => {
|
180
|
+
this.relatedMediaNodes.addOutput(n);
|
181
|
+
},
|
182
|
+
onClose: () => {
|
183
|
+
this.relatedMediaNodes.removeOutput(thisCompose);
|
184
|
+
},
|
185
|
+
});
|
186
|
+
this.output.subscribe([
|
187
|
+
{ source: thisCompose, sourceSelector: norsk_sdk_1.selectVideo }
|
188
|
+
]);
|
175
189
|
}
|
176
190
|
if (!this.browser) {
|
177
191
|
this.browser = await this.norsk.input.browser({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/runtime.ts"],"names":[],"mappings":";;;;;;AAAA,
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/runtime.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
|
2
2
|
import type { FixedLadderConfig } from "./runtime";
|
3
3
|
import type { ResolutionName } from "@norskvideo/norsk-studio/lib/extension/common";
|
4
|
-
import type { components } from "./types";
|
5
4
|
export default function ({ defineComponent, common: { FrameRates }, }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<FixedLadderConfig, object, object, object>;
|
6
5
|
type AddH264<T extends ResolutionName> = `h264_${T}`;
|
7
6
|
export type RungName = AddH264<ResolutionName>;
|
@@ -9,14 +8,113 @@ export declare const rungNames: RungName[];
|
|
9
8
|
export declare function createSoftwareRung(rung: RungName): {
|
10
9
|
width: number;
|
11
10
|
height: number;
|
12
|
-
codec:
|
13
|
-
|
11
|
+
codec: {
|
12
|
+
type: "x264";
|
13
|
+
threads?: number;
|
14
|
+
bitrateMode?: {
|
15
|
+
value: number;
|
16
|
+
mode: "abr" | "cqp" | "crf";
|
17
|
+
};
|
18
|
+
profile?: "baseline" | "main" | "high" | "high10" | "high422" | "high444";
|
19
|
+
level?: 1 | 1.1 | 1.2 | 1.3 | 2 | 2.1 | 2.2 | 3 | 3.1 | 3.2 | 4 | 4.1 | 4.2 | 5 | 5.1;
|
20
|
+
keyFrameIntervalMin?: number;
|
21
|
+
keyFrameIntervalMax?: number;
|
22
|
+
bframes?: number;
|
23
|
+
tune?: "film" | "animation" | "grain" | "stillimage" | "psnr" | "ssim" | "fastdecode" | "zerolatency";
|
24
|
+
preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
25
|
+
frameReference?: number;
|
26
|
+
cabac?: boolean;
|
27
|
+
vbvMaxRate?: number;
|
28
|
+
vbvBufferSize?: number;
|
29
|
+
sceneCut?: number;
|
30
|
+
aud?: boolean;
|
31
|
+
noDeblock?: boolean;
|
32
|
+
nalHrd?: "none" | "vbr" | "cbr";
|
33
|
+
} | {
|
34
|
+
type: "x265";
|
35
|
+
threads?: number;
|
36
|
+
bitrateMode?: {
|
37
|
+
value: number;
|
38
|
+
mode: "abr" | "cqp" | "crf";
|
39
|
+
};
|
40
|
+
profile?: "main" | "main10" | "main444_8" | "main422_10" | "main444_10";
|
41
|
+
level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
42
|
+
tier?: "main" | "high";
|
43
|
+
keyFrameIntervalMin?: number;
|
44
|
+
keyFrameIntervalMax?: number;
|
45
|
+
bframes?: number;
|
46
|
+
tune?: "psnr" | "ssim" | "grain" | "zerolatency" | "fastdecode" | "animation";
|
47
|
+
preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
48
|
+
frameReference?: number;
|
49
|
+
vbvMaxRate?: number;
|
50
|
+
vbvBufferSize?: number;
|
51
|
+
sceneCut?: number;
|
52
|
+
aud?: boolean;
|
53
|
+
noDeblock?: boolean;
|
54
|
+
};
|
55
|
+
frameRate: {
|
56
|
+
frames: number;
|
57
|
+
seconds: number;
|
58
|
+
};
|
14
59
|
};
|
15
60
|
export declare function createNvidiaRung(rung: RungName): {
|
16
61
|
width: number;
|
17
62
|
height: number;
|
18
|
-
codec:
|
19
|
-
|
63
|
+
codec: {
|
64
|
+
type: "nv-h264";
|
65
|
+
preset?: "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7";
|
66
|
+
tuning?: "high_quality" | "low_latency" | "ultra_low_latency" | "lossless";
|
67
|
+
idrPeriod?: number;
|
68
|
+
gopInterval?: number;
|
69
|
+
frameIntervalP?: number;
|
70
|
+
maxNumRefFrames?: number;
|
71
|
+
level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
72
|
+
profile?: "baseline" | "main" | "high" | "high444";
|
73
|
+
outputAud?: boolean;
|
74
|
+
rateControl?: {
|
75
|
+
mode: "con_stqp" | "vbr" | "cbr";
|
76
|
+
averageBitrate: number;
|
77
|
+
maxBitrate?: number;
|
78
|
+
vbvBufferSize?: number;
|
79
|
+
vbvInitialDelay?: number;
|
80
|
+
enableLookahead?: boolean;
|
81
|
+
strictGopTarget?: boolean;
|
82
|
+
lookaheadDepth?: number;
|
83
|
+
enableTemporalAQ?: boolean;
|
84
|
+
enableSpatialAQ?: boolean;
|
85
|
+
aqStrength?: number;
|
86
|
+
};
|
87
|
+
useBFramesAsRef?: "disabled" | "each" | "middle";
|
88
|
+
} | {
|
89
|
+
type: "nv-hevc";
|
90
|
+
preset?: "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7";
|
91
|
+
tuning?: "high_quality" | "low_latency" | "ultra_low_latency" | "lossless";
|
92
|
+
idrPeriod?: number;
|
93
|
+
gopInterval?: number;
|
94
|
+
frameIntervalP?: number;
|
95
|
+
level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
96
|
+
profile?: "main" | "main10";
|
97
|
+
outputAud?: boolean;
|
98
|
+
tier?: "main" | "high";
|
99
|
+
rateControl?: {
|
100
|
+
mode: "con_stqp" | "vbr" | "cbr";
|
101
|
+
averageBitrate: number;
|
102
|
+
maxBitrate?: number;
|
103
|
+
vbvBufferSize?: number;
|
104
|
+
vbvInitialDelay?: number;
|
105
|
+
enableLookahead?: boolean;
|
106
|
+
strictGopTarget?: boolean;
|
107
|
+
lookaheadDepth?: number;
|
108
|
+
enableTemporalAQ?: boolean;
|
109
|
+
enableSpatialAQ?: boolean;
|
110
|
+
aqStrength?: number;
|
111
|
+
};
|
112
|
+
useBFramesAsRef?: "disabled" | "each" | "middle";
|
113
|
+
};
|
114
|
+
frameRate: {
|
115
|
+
frames: number;
|
116
|
+
seconds: number;
|
117
|
+
};
|
20
118
|
};
|
21
119
|
export declare function createQuadraRung(rung: RungName): {
|
22
120
|
width: number;
|
@@ -25,7 +123,84 @@ export declare function createQuadraRung(rung: RungName): {
|
|
25
123
|
type: "quadra";
|
26
124
|
rescaler: "default" | "filterblit" | "bicubic";
|
27
125
|
};
|
28
|
-
codec:
|
29
|
-
|
126
|
+
codec: {
|
127
|
+
type: "quadra-h264";
|
128
|
+
extraOpts?: string;
|
129
|
+
enableAud?: boolean;
|
130
|
+
gpuIndex?: number;
|
131
|
+
bitrate?: number;
|
132
|
+
enableVfr?: boolean;
|
133
|
+
crf?: number;
|
134
|
+
gopPresetIndex?: number;
|
135
|
+
intraPeriod?: number;
|
136
|
+
rcEnable?: boolean;
|
137
|
+
intraQp?: number;
|
138
|
+
rcInitDelay?: number;
|
139
|
+
profile?: "baseline" | "main" | "extended" | "high" | "high10";
|
140
|
+
level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
141
|
+
fillerEnable?: boolean;
|
142
|
+
minQp?: number;
|
143
|
+
maxQp?: number;
|
144
|
+
maxDeltaQp?: number;
|
145
|
+
cuLevelRCEnable?: boolean;
|
146
|
+
lookAheadDepth?: number;
|
147
|
+
vbvBufferSize?: number;
|
148
|
+
vbvMaxRate?: number;
|
149
|
+
} | {
|
150
|
+
type: "quadra-hevc";
|
151
|
+
extraOpts?: string;
|
152
|
+
enableAud?: boolean;
|
153
|
+
gpuIndex?: number;
|
154
|
+
bitrate?: number;
|
155
|
+
enableVfr?: boolean;
|
156
|
+
crf?: number;
|
157
|
+
gopPresetIndex?: number;
|
158
|
+
intraPeriod?: number;
|
159
|
+
rcEnable?: boolean;
|
160
|
+
intraQp?: number;
|
161
|
+
rcInitDelay?: number;
|
162
|
+
profile?: "main" | "main10";
|
163
|
+
level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
164
|
+
tier?: "main" | "high";
|
165
|
+
lossless?: boolean;
|
166
|
+
hrdEnable?: boolean;
|
167
|
+
dolbyVisionProfile?: number;
|
168
|
+
fillerEnable?: boolean;
|
169
|
+
minQp?: number;
|
170
|
+
maxQp?: number;
|
171
|
+
maxDeltaQp?: number;
|
172
|
+
cuLevelRCEnable?: boolean;
|
173
|
+
lookAheadDepth?: number;
|
174
|
+
vbvBufferSize?: number;
|
175
|
+
vbvMaxRate?: number;
|
176
|
+
} | {
|
177
|
+
type: "quadra-av1";
|
178
|
+
extraOpts?: string;
|
179
|
+
enableAud?: boolean;
|
180
|
+
gpuIndex?: number;
|
181
|
+
bitrate?: number;
|
182
|
+
enableVfr?: boolean;
|
183
|
+
crf?: number;
|
184
|
+
gopPresetIndex?: number;
|
185
|
+
intraPeriod?: number;
|
186
|
+
rcEnable?: boolean;
|
187
|
+
intraQp?: number;
|
188
|
+
rcInitDelay?: number;
|
189
|
+
profile?: "main_420_8";
|
190
|
+
tier?: "main" | "high";
|
191
|
+
level?: 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
192
|
+
fillerEnable?: boolean;
|
193
|
+
minQp?: number;
|
194
|
+
maxQp?: number;
|
195
|
+
maxDeltaQp?: number;
|
196
|
+
cuLevelRCEnable?: boolean;
|
197
|
+
lookAheadDepth?: number;
|
198
|
+
vbvBufferSize?: number;
|
199
|
+
vbvMaxRate?: number;
|
200
|
+
};
|
201
|
+
frameRate: {
|
202
|
+
frames: number;
|
203
|
+
seconds: number;
|
204
|
+
};
|
30
205
|
};
|
31
206
|
export {};
|