Skip to content
v2.276.0

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.