Experimental
@aws-cdk/aws-medialive-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.
FileLocation Class
A reference to a file MediaLive reads at runtime — for example an input-loss slate image, an avail-blanking image, a burn-in caption font, or a color-correction LUT.
Use the static factory methods to create one from an S3 bucket (which auto-grants the channel role read access) or from a raw URL.
Example
ts
declare const bucket: s3.IBucket;
declare const video: medialive.EncodeConfiguration;
declare const audio: medialive.EncodeConfiguration;
medialive.OutputGroupConfiguration.hls({
name: 'hls',
destinations: [medialive.OutputDestination.toBucket(bucket, 'live/stream')],
outputs: [
{
encodes: [video],
outputName: 'video',
hlsSettings: medialive.HlsSettings.standard({
m3u8Settings: medialive.M3u8Settings.of({
scte35Behavior: medialive.M3u8Scte35Behavior.PASSTHROUGH,
programNum: 1,
}),
}),
},
{
encodes: [audio],
outputName: 'audio',
hlsSettings: medialive.HlsSettings.audioOnly({
audioGroupId: 'program',
audioOnlyImage: medialive.FileLocation.fromBucket(bucket, 'art/cover.png'),
}),
},
],
});
python
# bucket: s3.IBucket
# video: medialive.EncodeConfiguration
# audio: medialive.EncodeConfiguration
medialive.OutputGroupConfiguration.hls(
name="hls",
destinations=[medialive.OutputDestination.to_bucket(bucket, "live/stream")],
outputs=[medialive.HlsOutputDefinition(
encodes=[video],
output_name="video",
hls_settings=medialive.HlsSettings.standard(
m3u8_settings=medialive.M3u8Settings.of(
scte35_behavior=medialive.M3u8Scte35Behavior.PASSTHROUGH,
program_num=1
)
)
), medialive.HlsOutputDefinition(
encodes=[audio],
output_name="audio",
hls_settings=medialive.HlsSettings.audio_only(
audio_group_id="program",
audio_only_image=medialive.FileLocation.from_bucket(bucket, "art/cover.png")
)
)
]
)
java
IBucket bucket;
EncodeConfiguration video;
EncodeConfiguration audio;
OutputGroupConfiguration.hls(HlsOutputGroupProps.builder()
.name("hls")
.destinations(List.of(OutputDestination.toBucket(bucket, "live/stream")))
.outputs(List.of(HlsOutputDefinition.builder()
.encodes(List.of(video))
.outputName("video")
.hlsSettings(HlsSettings.standard(StandardHlsSettingsProps.builder()
.m3u8Settings(M3u8Settings.of(M3u8SettingsProps.builder()
.scte35Behavior(M3u8Scte35Behavior.PASSTHROUGH)
.programNum(1)
.build()))
.build()))
.build(), HlsOutputDefinition.builder()
.encodes(List.of(audio))
.outputName("audio")
.hlsSettings(HlsSettings.audioOnly(AudioOnlyHlsSettingsProps.builder()
.audioGroupId("program")
.audioOnlyImage(FileLocation.fromBucket(bucket, "art/cover.png"))
.build()))
.build()))
.build());
csharp
// Install: dotnet add package Amazon.CDK.AWS.MediaLive.Alpha
IBucket bucket;
EncodeConfiguration video;
EncodeConfiguration audio;
OutputGroupConfiguration.Hls(new HlsOutputGroupProps {
Name = "hls",
Destinations = new [] { OutputDestination.ToBucket(bucket, "live/stream") },
Outputs = new [] { new HlsOutputDefinition {
Encodes = new [] { video },
OutputName = "video",
HlsSettings = HlsSettings.Standard(new StandardHlsSettingsProps {
M3u8Settings = M3u8Settings.Of(new M3u8SettingsProps {
Scte35Behavior = M3u8Scte35Behavior.PASSTHROUGH,
ProgramNum = 1
})
})
}, new HlsOutputDefinition {
Encodes = new [] { audio },
OutputName = "audio",
HlsSettings = HlsSettings.AudioOnly(new AudioOnlyHlsSettingsProps {
AudioGroupId = "program",
AudioOnlyImage = FileLocation.FromBucket(bucket, "art/cover.png")
})
} }
});
go
// Install: go get github.com/aws/aws-cdk-go/awsmedialivealpha/v2
var bucket IBucket
var video EncodeConfiguration
var audio EncodeConfiguration
medialive.OutputGroupConfiguration_Hls(&HlsOutputGroupProps{
Name: jsii.String("hls"),
Destinations: []OutputDestination{
medialive.OutputDestination_ToBucket(bucket, jsii.String("live/stream")),
},
Outputs: []HlsOutputDefinition{
&HlsOutputDefinition{
Encodes: []EncodeConfiguration{
video,
},
OutputName: jsii.String("video"),
HlsSettings: medialive.HlsSettings_Standard(&StandardHlsSettingsProps{
M3u8Settings: medialive.M3u8Settings_Of(&M3u8SettingsProps{
Scte35Behavior: medialive.M3u8Scte35Behavior_PASSTHROUGH(),
ProgramNum: jsii.Number(1),
}),
}),
},
&HlsOutputDefinition{
Encodes: []EncodeConfiguration{
audio,
},
OutputName: jsii.String("audio"),
HlsSettings: medialive.HlsSettings_AudioOnly(&AudioOnlyHlsSettingsProps{
AudioGroupId: jsii.String("program"),
AudioOnlyImage: medialive.FileLocation_FromBucket(bucket, jsii.String("art/cover.png")),
}),
},
},
})
Initializer
ts
new FileLocation()
python
FileLocation()
java
new FileLocation()
csharp
new FileLocation()
go
NewFileLocation()
Methods
fromBucket(bucket: IBucket, key: string): FileLocation // chainable@staticmethod def from_bucket(bucket: IBucket, key: str) -> FileLocationpublic static FileLocation fromBucket(IBucket bucket, String key)public static FileLocation FromBucket(IBucket bucket, string key)func FromBucket(Bucket IBucket, Key *string) FileLocationstatic#Reference a file in an S3 bucket.
Automatically grants the channel role read access.
2 parameters
Parameters
bucketbucketbucketbucketBucket— The S3 bucket containing the file.keykeykeykeyKey— The object key within the bucket (e.g. 'slates/offline.png').
url(url: string, options?: FileLocationOptions): FileLocation // chainable@staticmethod def url(url: str, options: typing.Optional[FileLocationOptions] = None) -> FileLocationpublic static FileLocation url(String url, FileLocationOptions options)public static FileLocation Url(string url, FileLocationOptions? options = null)func Url(Url *string, Options FileLocationOptions) FileLocationstatic#Reference a file by URL (e.g. an `https://` endpoint or an `s3ssl://` path).
2 parameters
Parameters
urlurlurlurlUrl— The URL MediaLive reads the file from.optionsoptionsoptionsoptionsOptions— Optional credentials.