@norskvideo/norsk-sdk 1.0.354 → 1.0.357
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/lib/src/media_nodes/output.d.ts +20 -0
- package/lib/src/media_nodes/output.js +6 -6
- package/lib/src/media_nodes/processor.d.ts +6 -5
- package/lib/src/media_nodes/processor.js +24 -9
- package/lib/src/media_nodes/types.d.ts +124 -24
- package/lib/src/media_nodes/types.js +235 -29
- package/lib/src/sdk.js +1 -1
- package/lib/src/system.d.ts +2 -1
- package/lib/src/system.js +1 -0
- package/lib/src/types.d.ts +24 -1
- package/lib/src/types.js +53 -32
- package/package.json +2 -2
- package/src/sdk.ts +1 -1
- package/src/system.ts +4 -0
- package/src/types.ts +54 -4
- package/dist/norsk-sdk.d.ts +0 -5074
- package/lib/src/tsdoc-metadata.json +0 -11
|
@@ -40,6 +40,10 @@ export interface CmafOutputSettings extends SinkNodeSettings<CmafAudioOutputNode
|
|
|
40
40
|
* Audio or video bitrate for the {@link NorskOutput.cmafMultiVariant} playlist
|
|
41
41
|
*/
|
|
42
42
|
bitrate?: number;
|
|
43
|
+
/**
|
|
44
|
+
* The name to use for the playlist in a multivariant playlist
|
|
45
|
+
*/
|
|
46
|
+
name?: string;
|
|
43
47
|
}
|
|
44
48
|
/**
|
|
45
49
|
* @public
|
|
@@ -68,6 +72,10 @@ export interface HlsTsVideoOutputSettings extends SinkNodeSettings<HlsTsVideoOut
|
|
|
68
72
|
* Video bitrate for the {@link NorskOutput.hlsTsMultiVariant} playlist
|
|
69
73
|
*/
|
|
70
74
|
bitrate?: number;
|
|
75
|
+
/**
|
|
76
|
+
* The name to use for the playlist in a multivariant playlist
|
|
77
|
+
*/
|
|
78
|
+
name?: string;
|
|
71
79
|
}
|
|
72
80
|
/**
|
|
73
81
|
* @public
|
|
@@ -96,6 +104,10 @@ export interface HlsTsAudioOutputSettings extends SinkNodeSettings<HlsTsAudioOut
|
|
|
96
104
|
* Audio bitrate for the {@link NorskOutput.hlsTsMultiVariant} playlist
|
|
97
105
|
*/
|
|
98
106
|
bitrate?: number;
|
|
107
|
+
/**
|
|
108
|
+
* The name to use for the playlist in a multivariant playlist
|
|
109
|
+
*/
|
|
110
|
+
name?: string;
|
|
99
111
|
}
|
|
100
112
|
/**
|
|
101
113
|
* @public
|
|
@@ -116,6 +128,10 @@ export interface CmafWebVttOutputSettings extends SinkNodeSettings<CmafWebVttOut
|
|
|
116
128
|
* A local directory in which to store the segments while they're available
|
|
117
129
|
*/
|
|
118
130
|
hlsCacheDirectory: string;
|
|
131
|
+
/**
|
|
132
|
+
* The name to use for the playlist in a multivariant playlist
|
|
133
|
+
*/
|
|
134
|
+
name?: string;
|
|
119
135
|
}
|
|
120
136
|
/**
|
|
121
137
|
* @public
|
|
@@ -155,6 +171,10 @@ export interface HlsTsCombinedPushOutputSettings extends SinkNodeSettings<HlsTsC
|
|
|
155
171
|
* Directives to add to the m3u media playlists
|
|
156
172
|
*/
|
|
157
173
|
m3uAdditions?: string;
|
|
174
|
+
/**
|
|
175
|
+
* The name to use for the playlist in a multivariant playlist
|
|
176
|
+
*/
|
|
177
|
+
name?: string;
|
|
158
178
|
}
|
|
159
179
|
/**
|
|
160
180
|
* @public
|
|
@@ -398,7 +398,7 @@ class CmafVideoOutputNode extends CmafNodeWithPlaylist {
|
|
|
398
398
|
? (0, utils_1.provideFull)(media_pb_1.MediaNodeId, { id: settings.id })
|
|
399
399
|
: undefined, encryption: settings.encryption
|
|
400
400
|
? (0, types_1.mkEncryptionSettings)(settings.encryption)
|
|
401
|
-
: undefined, destinations: settings.destinations.map(mkCmafDestination), m3uAdditions: settings.m3uAdditions || "", mpdAdditions: settings.mpdAdditions || "", bitrate: settings.bitrate || 0 }));
|
|
401
|
+
: undefined, destinations: settings.destinations.map(mkCmafDestination), m3uAdditions: settings.m3uAdditions || "", mpdAdditions: settings.mpdAdditions || "", bitrate: settings.bitrate || 0, name: (0, types_1.toOptString)(settings.name) }));
|
|
402
402
|
const hls = client.createOutputCmafVideo();
|
|
403
403
|
hls.write((0, utils_1.provideFull)(media_pb_1.CmafVideoMessage, (0, utils_1.mkMessageCase)({ configuration: config })));
|
|
404
404
|
return hls;
|
|
@@ -445,7 +445,7 @@ class CmafAudioOutputNode extends CmafNodeWithPlaylist {
|
|
|
445
445
|
? (0, utils_1.provideFull)(media_pb_1.MediaNodeId, { id: settings.id })
|
|
446
446
|
: undefined, encryption: settings.encryption
|
|
447
447
|
? (0, types_1.mkEncryptionSettings)(settings.encryption)
|
|
448
|
-
: undefined, destinations: settings.destinations.map(mkCmafDestination), m3uAdditions: settings.m3uAdditions || "", mpdAdditions: settings.mpdAdditions || "", bitrate: settings.bitrate || 0 }));
|
|
448
|
+
: undefined, destinations: settings.destinations.map(mkCmafDestination), m3uAdditions: settings.m3uAdditions || "", mpdAdditions: settings.mpdAdditions || "", bitrate: settings.bitrate || 0, name: (0, types_1.toOptString)(settings.name) }));
|
|
449
449
|
const hls = client.createOutputCmafAudio();
|
|
450
450
|
hls.write((0, utils_1.provideFull)(media_pb_1.CmafAudioMessage, (0, utils_1.mkMessageCase)({ configuration: config })));
|
|
451
451
|
return hls;
|
|
@@ -549,7 +549,7 @@ class HlsTsVideoOutputNode extends CmafNodeWithPlaylist {
|
|
|
549
549
|
super(client, unregisterNode, settings, () => {
|
|
550
550
|
const config = (0, utils_1.provideFull)(media_pb_1.HlsTsVideoConfiguration, Object.assign(Object.assign({}, settings), { id: settings.id
|
|
551
551
|
? (0, utils_1.provideFull)(media_pb_1.MediaNodeId, { id: settings.id })
|
|
552
|
-
: undefined, destinations: settings.destinations.map(mkCmafDestination), m3uAdditions: settings.m3uAdditions || "", mpdAdditions: settings.mpdAdditions || "", bitrate: settings.bitrate || 0 }));
|
|
552
|
+
: undefined, destinations: settings.destinations.map(mkCmafDestination), m3uAdditions: settings.m3uAdditions || "", mpdAdditions: settings.mpdAdditions || "", bitrate: settings.bitrate || 0, name: (0, types_1.toOptString)(settings.name) }));
|
|
553
553
|
const hls = client.createOutputHlsTsVideo();
|
|
554
554
|
hls.write((0, utils_1.provideFull)(media_pb_1.HlsTsVideoMessage, (0, utils_1.mkMessageCase)({ configuration: config })));
|
|
555
555
|
return hls;
|
|
@@ -598,7 +598,7 @@ class HlsTsAudioOutputNode extends CmafNodeWithPlaylist {
|
|
|
598
598
|
super(client, unregisterNode, settings, () => {
|
|
599
599
|
const config = (0, utils_1.provideFull)(media_pb_1.HlsTsAudioConfiguration, Object.assign(Object.assign({}, settings), { id: settings.id
|
|
600
600
|
? (0, utils_1.provideFull)(media_pb_1.MediaNodeId, { id: settings.id })
|
|
601
|
-
: undefined, destinations: settings.destinations.map(mkCmafDestination), m3uAdditions: settings.m3uAdditions || "", mpdAdditions: settings.mpdAdditions || "", bitrate: settings.bitrate || 0 }));
|
|
601
|
+
: undefined, destinations: settings.destinations.map(mkCmafDestination), m3uAdditions: settings.m3uAdditions || "", mpdAdditions: settings.mpdAdditions || "", bitrate: settings.bitrate || 0, name: (0, types_1.toOptString)(settings.name) }));
|
|
602
602
|
const hls = client.createOutputHlsTsAudio();
|
|
603
603
|
hls.write((0, utils_1.provideFull)(media_pb_1.HlsTsAudioMessage, (0, utils_1.mkMessageCase)({ configuration: config })));
|
|
604
604
|
return hls;
|
|
@@ -655,7 +655,7 @@ class HlsTsCombinedPushOutputNode extends CmafNodeWithPlaylist {
|
|
|
655
655
|
super(client, unregisterNode, settings, () => {
|
|
656
656
|
const config = (0, utils_1.provideFull)(media_pb_1.HlsTsCombinedPushConfiguration, Object.assign(Object.assign({}, settings), { id: settings.id
|
|
657
657
|
? (0, utils_1.provideFull)(media_pb_1.MediaNodeId, { id: settings.id })
|
|
658
|
-
: undefined, destination: mkCmafDestination(settings.destination), m3uAdditions: settings.m3uAdditions || "" }));
|
|
658
|
+
: undefined, destination: mkCmafDestination(settings.destination), m3uAdditions: settings.m3uAdditions || "", name: (0, types_1.toOptString)(settings.name) }));
|
|
659
659
|
const hls = client.createOutputHlsTsCombinedPush();
|
|
660
660
|
hls.write((0, utils_1.provideFull)(media_pb_1.HlsTsCombinedPushMessage, (0, utils_1.mkMessageCase)({ configuration: config })));
|
|
661
661
|
return hls;
|
|
@@ -676,7 +676,7 @@ class CmafWebVttOutputNode extends CmafNodeWithPlaylist {
|
|
|
676
676
|
super(client, unregisterNode, settings, () => {
|
|
677
677
|
const config = (0, utils_1.provideFull)(media_pb_1.CmafWebVttConfiguration, Object.assign(Object.assign({}, settings), { id: settings.id
|
|
678
678
|
? (0, utils_1.provideFull)(media_pb_1.MediaNodeId, { id: settings.id })
|
|
679
|
-
: undefined, destinations: settings.destinations.map(mkCmafDestination), segmentDurationSeconds: settings.segmentDurationSeconds, hlsCacheDirectory: settings.hlsCacheDirectory }));
|
|
679
|
+
: undefined, destinations: settings.destinations.map(mkCmafDestination), segmentDurationSeconds: settings.segmentDurationSeconds, hlsCacheDirectory: settings.hlsCacheDirectory, name: (0, types_1.toOptString)(settings.name) }));
|
|
680
680
|
const hls = client.createOutputCmafWebVtt();
|
|
681
681
|
hls.write((0, utils_1.provideFull)(media_pb_1.CmafWebVttMessage, (0, utils_1.mkMessageCase)({ configuration: config })));
|
|
682
682
|
return hls;
|
|
@@ -4,7 +4,7 @@ import { MediaClient } from "@norskvideo/norsk-api/lib/media_grpc_pb";
|
|
|
4
4
|
import { StreamStatisticsSampling, Subscription } from "@norskvideo/norsk-api/lib/media_pb";
|
|
5
5
|
import { FrameRate, VancPayloadFormat, VancType2AncillaryId } from "../types";
|
|
6
6
|
import { AutoSinkMediaNode, MediaNodeState, SinkNodeSettings, SourceMediaNode, SourceNodeSettings, StreamStatisticsMixin } from "./common";
|
|
7
|
-
import { AacProfile, AudioMeasureLevels, AwsCredentials, ChannelLayout, ComposeMissingStreamBehaviour, ComposeHardwareAcceleration, Db, IceServerSettings, LoganH264, LoganHevc, MultiStreamStatistics, NvidiaH264, NvidiaHevc, PixelFormat, QuadraH264, QuadraHevc,
|
|
7
|
+
import { AacProfile, AudioMeasureLevels, AwsCredentials, ChannelLayout, ComposeMissingStreamBehaviour, ComposeHardwareAcceleration, Db, IceServerSettings, LoganH264, LoganHevc, MultiStreamStatistics, NvidiaH264, NvidiaHevc, PixelFormat, QuadraH264, QuadraHevc, AmdU30H264, AmdU30Hevc, AmdMA35DH264, AmdMA35DHevc, Resolution, SampleAspectRatio, SampleRate, SentenceBuildMode, SimpleEasing, StabilizationMode, StreamKey, StreamMetadata, X264Codec, X265Codec, SubscriptionError, DeinterlaceSettings, Scte35SpliceInfoSection } from "./types";
|
|
8
8
|
import { Writable, Readable } from 'stream';
|
|
9
9
|
export interface ProcessorMediaNode<Pins extends string> extends SourceMediaNode, AutoSinkMediaNode<Pins> {
|
|
10
10
|
}
|
|
@@ -254,6 +254,7 @@ export declare class StreamSyncNode extends AutoProcessorMediaNode<"audio" | "vi
|
|
|
254
254
|
export interface StreamAlignSettings extends ProcessorNodeSettings<StreamAlignNode> {
|
|
255
255
|
sampleRate: SampleRate;
|
|
256
256
|
frameRate: FrameRate;
|
|
257
|
+
syncAv?: boolean;
|
|
257
258
|
}
|
|
258
259
|
/**
|
|
259
260
|
* @public
|
|
@@ -730,7 +731,7 @@ export interface AudioTranscribeAzureSettings extends ProcessorNodeSettings<Audi
|
|
|
730
731
|
azureKey: string;
|
|
731
732
|
/** Region for the Azure Speech Service endpoint */
|
|
732
733
|
azureRegion: string;
|
|
733
|
-
maximumLineLength
|
|
734
|
+
maximumLineLength?: number;
|
|
734
735
|
}
|
|
735
736
|
/**
|
|
736
737
|
* @public
|
|
@@ -839,13 +840,13 @@ export interface VideoEncodeRung {
|
|
|
839
840
|
/**
|
|
840
841
|
* The codec (and detailed configuration) to use for the encoding operation.
|
|
841
842
|
*
|
|
842
|
-
* Note: Nvidia, Logan/Quadra,
|
|
843
|
+
* Note: Nvidia, Logan/Quadra, AmdU30, AmdMA35D require the appropriate hardware to be set up and
|
|
843
844
|
* made available to Norsk
|
|
844
845
|
*
|
|
845
846
|
* A ladder can use several different codecs across its various rungs and the
|
|
846
847
|
* VideoEncode node will attempt to build a pipeline that uses the hardware efficently
|
|
847
848
|
*/
|
|
848
|
-
codec: X264Codec | X265Codec | NvidiaH264 | NvidiaHevc | LoganH264 | LoganHevc | QuadraH264 | QuadraHevc |
|
|
849
|
+
codec: X264Codec | X265Codec | NvidiaH264 | NvidiaHevc | LoganH264 | LoganHevc | QuadraH264 | QuadraHevc | AmdU30H264 | AmdU30Hevc | AmdMA35DH264 | AmdMA35DHevc;
|
|
849
850
|
}
|
|
850
851
|
/**
|
|
851
852
|
* @public
|
|
@@ -867,7 +868,7 @@ export declare class VideoEncodeNode extends AutoProcessorMediaNode<"video"> {
|
|
|
867
868
|
* see: {@link NorskTransform.videoDecode}
|
|
868
869
|
* */
|
|
869
870
|
export interface VideoDecodeSettings extends ProcessorNodeSettings<VideoDecodeNode> {
|
|
870
|
-
decoder: 'software' | 'nvidia' | 'quadra' | 'logan' | '
|
|
871
|
+
decoder: 'software' | 'nvidia' | 'quadra' | 'logan' | 'amdU30' | 'amdMA35D';
|
|
871
872
|
}
|
|
872
873
|
/**
|
|
873
874
|
* @public
|
|
@@ -760,7 +760,8 @@ class StreamAlignNode extends AutoProcessorMediaNode {
|
|
|
760
760
|
? (0, utils_1.provideFull)(media_pb_1.MediaNodeId, { id: settings.id })
|
|
761
761
|
: undefined,
|
|
762
762
|
sampleRate: (0, types_2.toSampleRate)(settings.sampleRate),
|
|
763
|
-
frameRate: (0, utils_1.provideFull)(media_pb_1.FrameRate, settings.frameRate)
|
|
763
|
+
frameRate: (0, utils_1.provideFull)(media_pb_1.FrameRate, settings.frameRate),
|
|
764
|
+
syncAv: !!settings.syncAv
|
|
764
765
|
});
|
|
765
766
|
this.grpcStream = this.client.createTransformStreamAlign();
|
|
766
767
|
this.grpcStream.write((0, utils_1.provideFull)(media_pb_1.StreamAlignMessage, (0, utils_1.mkMessageCase)({ initialConfig: config })));
|
|
@@ -1894,16 +1895,28 @@ class VideoEncodeNode extends AutoProcessorMediaNode {
|
|
|
1894
1895
|
value: (0, types_2.toQuadraHevc)(stream.codec),
|
|
1895
1896
|
};
|
|
1896
1897
|
break;
|
|
1897
|
-
case "
|
|
1898
|
+
case "amdU30-h264":
|
|
1899
|
+
codec = {
|
|
1900
|
+
case: "amdU30H264",
|
|
1901
|
+
value: (0, types_2.toAmdU30H264)(stream.codec),
|
|
1902
|
+
};
|
|
1903
|
+
break;
|
|
1904
|
+
case "amdU30-hevc":
|
|
1905
|
+
codec = {
|
|
1906
|
+
case: "amdU30Hevc",
|
|
1907
|
+
value: (0, types_2.toAmdU30Hevc)(stream.codec),
|
|
1908
|
+
};
|
|
1909
|
+
break;
|
|
1910
|
+
case "amdMA35D-h264":
|
|
1898
1911
|
codec = {
|
|
1899
|
-
case: "
|
|
1900
|
-
value: (0, types_2.
|
|
1912
|
+
case: "amdMA35DH264",
|
|
1913
|
+
value: (0, types_2.toAmdMA35DH264)(stream.codec),
|
|
1901
1914
|
};
|
|
1902
1915
|
break;
|
|
1903
|
-
case "
|
|
1916
|
+
case "amdMA35D-hevc":
|
|
1904
1917
|
codec = {
|
|
1905
|
-
case: "
|
|
1906
|
-
value: (0, types_2.
|
|
1918
|
+
case: "amdMA35DHevc",
|
|
1919
|
+
value: (0, types_2.toAmdMA35DHevc)(stream.codec),
|
|
1907
1920
|
};
|
|
1908
1921
|
break;
|
|
1909
1922
|
default:
|
|
@@ -1982,8 +1995,10 @@ function toVideoDecoder(decoder) {
|
|
|
1982
1995
|
return media_pb_1.VideoDecodeConfiguration_VideoDecoder.QUADRA;
|
|
1983
1996
|
case 'logan':
|
|
1984
1997
|
return media_pb_1.VideoDecodeConfiguration_VideoDecoder.LOGAN;
|
|
1985
|
-
case '
|
|
1986
|
-
return media_pb_1.VideoDecodeConfiguration_VideoDecoder.
|
|
1998
|
+
case 'amdU30':
|
|
1999
|
+
return media_pb_1.VideoDecodeConfiguration_VideoDecoder.AMDU30;
|
|
2000
|
+
case 'amdMA35D':
|
|
2001
|
+
return media_pb_1.VideoDecodeConfiguration_VideoDecoder.AMDMA35D;
|
|
1987
2002
|
default:
|
|
1988
2003
|
(0, utils_1.exhaustiveCheck)(decoder);
|
|
1989
2004
|
}
|
|
@@ -628,36 +628,36 @@ export interface QuadraHevc {
|
|
|
628
628
|
vbvMaxRate?: number;
|
|
629
629
|
}
|
|
630
630
|
/** @public */
|
|
631
|
-
export declare type
|
|
631
|
+
export declare type AmdU30H264Profile = "baseline" | "main" | "extended" | "high" | "high10";
|
|
632
632
|
/** @public */
|
|
633
|
-
export declare type
|
|
633
|
+
export declare type AmdU30HevcProfile = "main" | "main10";
|
|
634
634
|
/** @public */
|
|
635
|
-
export declare type
|
|
635
|
+
export declare type AmdU30HevcTier = "main" | "high";
|
|
636
636
|
/** @public */
|
|
637
|
-
export declare type
|
|
637
|
+
export declare type AmdU30H264Level = 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
|
638
638
|
/** @public */
|
|
639
|
-
export declare type
|
|
639
|
+
export declare type AmdU30HevcLevel = 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
|
640
640
|
/** @public */
|
|
641
|
-
export interface
|
|
641
|
+
export interface AmdU30RateControl {
|
|
642
642
|
value: number;
|
|
643
643
|
mode: "constQp" | "cbr" | "vbr" | "lowLatency";
|
|
644
644
|
}
|
|
645
645
|
/**
|
|
646
646
|
* @public
|
|
647
|
-
* Settings for a H264 Encode using
|
|
647
|
+
* Settings for a H264 Encode using AmdU30 hardware
|
|
648
648
|
* A detailed description of these params can be found
|
|
649
|
-
* on the
|
|
649
|
+
* on the AmdU30 Encoder Documentation
|
|
650
650
|
*
|
|
651
651
|
* These fields have deliberately been written to maintain the same semantics as the
|
|
652
|
-
*
|
|
652
|
+
* AmdU30 documentation where possible.
|
|
653
653
|
*
|
|
654
|
-
* If left undefined, all will default to
|
|
654
|
+
* If left undefined, all will default to AmdU30's own defaults
|
|
655
655
|
* */
|
|
656
|
-
export interface
|
|
657
|
-
type: "
|
|
658
|
-
profile?:
|
|
659
|
-
level?:
|
|
660
|
-
rateControl?:
|
|
656
|
+
export interface AmdU30H264 {
|
|
657
|
+
type: "amdU30-h264";
|
|
658
|
+
profile?: AmdU30H264Profile;
|
|
659
|
+
level?: AmdU30H264Level;
|
|
660
|
+
rateControl?: AmdU30RateControl;
|
|
661
661
|
lookaheadDepth?: number;
|
|
662
662
|
idrPeriod?: number;
|
|
663
663
|
bframes?: number;
|
|
@@ -667,20 +667,120 @@ export interface XilinxH264 {
|
|
|
667
667
|
}
|
|
668
668
|
/**
|
|
669
669
|
* @public
|
|
670
|
-
* Settings for a HEVC Encode using
|
|
670
|
+
* Settings for a HEVC Encode using AmdU30 hardware
|
|
671
671
|
* A detailed description of these params can be found
|
|
672
|
-
* on the
|
|
672
|
+
* on the AmdU30 Encoder Documentation
|
|
673
673
|
*
|
|
674
674
|
* These fields have deliberately been written to maintain the same semantics as the
|
|
675
|
-
*
|
|
675
|
+
* AmdU30 documentation where possible.
|
|
676
676
|
*
|
|
677
|
-
* If left undefined, all will default to
|
|
677
|
+
* If left undefined, all will default to AmdU30's own defaults
|
|
678
678
|
* */
|
|
679
|
-
export interface
|
|
680
|
-
type: "
|
|
681
|
-
profile?:
|
|
682
|
-
level?:
|
|
683
|
-
tier?:
|
|
679
|
+
export interface AmdU30Hevc {
|
|
680
|
+
type: "amdU30-hevc";
|
|
681
|
+
profile?: AmdU30HevcProfile;
|
|
682
|
+
level?: AmdU30HevcLevel;
|
|
683
|
+
tier?: AmdU30HevcTier;
|
|
684
|
+
}
|
|
685
|
+
/** @public */
|
|
686
|
+
export declare type AmdMA35DH264Profile = "baseline" | "main" | "high" | "high10";
|
|
687
|
+
/** @public */
|
|
688
|
+
export declare type AmdMA35DHevcProfile = "main" | "main10";
|
|
689
|
+
/** @public */
|
|
690
|
+
export declare type AmdMA35DHevcTier = "main" | "high";
|
|
691
|
+
/** @public */
|
|
692
|
+
export declare type AmdMA35DH264Level = 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
|
693
|
+
/** @public */
|
|
694
|
+
export declare type AmdMA35DHevcLevel = 1 | 2 | 2.1 | 3 | 3.1 | 4 | 4.1 | 5 | 5.1 | 5.2 | 6 | 6.1 | 6.2;
|
|
695
|
+
/** @public */
|
|
696
|
+
export interface AmdMA35DRateControlConstQp {
|
|
697
|
+
mode: "const-qp";
|
|
698
|
+
qp: number;
|
|
699
|
+
}
|
|
700
|
+
export interface AmdMA35DRateControlCBR {
|
|
701
|
+
mode: "cbr";
|
|
702
|
+
bitrate: number;
|
|
703
|
+
}
|
|
704
|
+
export interface AmdMA35DRateControlVBR {
|
|
705
|
+
mode: "vbr";
|
|
706
|
+
bitrate: number;
|
|
707
|
+
}
|
|
708
|
+
export interface AmdMA35DRateControlConstrainedVBR {
|
|
709
|
+
mode: "constrained-vbr";
|
|
710
|
+
bitrate: number;
|
|
711
|
+
maxBitrate: number;
|
|
712
|
+
bufSize: number;
|
|
713
|
+
}
|
|
714
|
+
export interface AmdMA35DRateControlConstrainedABR {
|
|
715
|
+
mode: "constrained-abr";
|
|
716
|
+
bitrate: number;
|
|
717
|
+
maxBitrate: number;
|
|
718
|
+
bufSize: number;
|
|
719
|
+
}
|
|
720
|
+
export declare type AmdMA35DRateControl = AmdMA35DRateControlConstQp | AmdMA35DRateControlCBR | AmdMA35DRateControlVBR | AmdMA35DRateControlConstrainedVBR | AmdMA35DRateControlConstrainedABR;
|
|
721
|
+
/**
|
|
722
|
+
* @public
|
|
723
|
+
* Common settings for a HEVC and H264 Encodes using AmdMA35D hardware
|
|
724
|
+
* A detailed description of these params can be found
|
|
725
|
+
* on the AmdMA35D Encoder Documentation
|
|
726
|
+
*
|
|
727
|
+
* These fields have deliberately been written to maintain the same semantics as the
|
|
728
|
+
* AmdMA35D documentation where possible.
|
|
729
|
+
*
|
|
730
|
+
* If left undefined, all will default to AmdMA35D's own defaults
|
|
731
|
+
* */
|
|
732
|
+
export interface AmdMA35DEncodeCommon {
|
|
733
|
+
rateControl?: AmdMA35DRateControl;
|
|
734
|
+
lookaheadDepth?: number;
|
|
735
|
+
gopSize?: number;
|
|
736
|
+
tempAqGain?: number;
|
|
737
|
+
spatAqGain?: number;
|
|
738
|
+
minQp?: number;
|
|
739
|
+
maxQp?: number;
|
|
740
|
+
preset?: "fast" | "medium" | "slow";
|
|
741
|
+
crf?: number;
|
|
742
|
+
forcedIdr?: number;
|
|
743
|
+
bf?: number;
|
|
744
|
+
qpMode?: "relative-load" | "uniform";
|
|
745
|
+
spatialAq?: "auto" | "disable" | "enable";
|
|
746
|
+
temporalAq?: "auto" | "disable" | "enable";
|
|
747
|
+
dynamicGop?: "auto" | "disable" | "enable";
|
|
748
|
+
tuneMetrics?: "vq" | "psnr" | "ssim" | "vmaf";
|
|
749
|
+
latencyMs?: number;
|
|
750
|
+
delayInitialization?: number;
|
|
751
|
+
}
|
|
752
|
+
/**
|
|
753
|
+
* @public
|
|
754
|
+
* Settings for a H264 Encode using AmdMA35D hardware
|
|
755
|
+
* A detailed description of these params can be found
|
|
756
|
+
* on the AmdMA35D Encoder Documentation
|
|
757
|
+
*
|
|
758
|
+
* These fields have deliberately been written to maintain the same semantics as the
|
|
759
|
+
* AmdMA35D documentation where possible.
|
|
760
|
+
*
|
|
761
|
+
* If left undefined, all will default to AmdMA35D's own defaults
|
|
762
|
+
* */
|
|
763
|
+
export interface AmdMA35DH264 extends AmdMA35DEncodeCommon {
|
|
764
|
+
type: "amdMA35D-h264";
|
|
765
|
+
profile?: AmdMA35DH264Profile;
|
|
766
|
+
level?: AmdMA35DH264Level;
|
|
767
|
+
}
|
|
768
|
+
/**
|
|
769
|
+
* @public
|
|
770
|
+
* Settings for a HEVC Encode using AmdMA35D hardware
|
|
771
|
+
* A detailed description of these params can be found
|
|
772
|
+
* on the AmdMA35D Encoder Documentation
|
|
773
|
+
*
|
|
774
|
+
* These fields have deliberately been written to maintain the same semantics as the
|
|
775
|
+
* AmdMA35D documentation where possible.
|
|
776
|
+
*
|
|
777
|
+
* If left undefined, all will default to AmdMA35D's own defaults
|
|
778
|
+
* */
|
|
779
|
+
export interface AmdMA35DHevc extends AmdMA35DEncodeCommon {
|
|
780
|
+
type: "amdMA35D-hevc";
|
|
781
|
+
profile?: AmdMA35DHevcProfile;
|
|
782
|
+
level?: AmdMA35DHevcLevel;
|
|
783
|
+
tier?: AmdMA35DHevcTier;
|
|
684
784
|
}
|
|
685
785
|
/** @public */
|
|
686
786
|
export declare type RtpLinearPcmBitDepth = 16 | 24;
|