createOriginEndpoint
inline suspend fun MediaPackageV2Client.createOriginEndpoint(crossinline block: CreateOriginEndpointRequest.Builder.() -> Unit): CreateOriginEndpointResponse
The endpoint is attached to a channel, and represents the output of the live content. You can associate multiple endpoints to a single channel. Each endpoint gives players and downstream CDNs (such as Amazon CloudFront) access to the content for playback. Content can't be served from a channel until it has an endpoint. You can create only one endpoint with each request.
Samples
import aws.sdk.kotlin.services.mediapackagev2.model.CreateHlsManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.CreateLowLatencyHlsManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.DrmSystem
import aws.sdk.kotlin.services.mediapackagev2.model.ScteFilter
fun main() {
//sampleStart
// Creating an OriginEndpoint with container type TS, and encryption enabled
val resp = mediaPackageV2Client.createOriginEndpoint {
channelGroupName = "exampleChannelGroup"
channelName = "exampleChannel"
originEndpointName = "exampleOriginEndpointTS"
containerType = ContainerType.fromValue("TS")
description = "Description for exampleOriginEndpointTS"
startoverWindowSeconds = 300
segment = Segment {
segmentDurationSeconds = 6
segmentName = "segmentName"
tsUseAudioRenditionGroup = true
includeIframeOnlyStreams = true
tsIncludeDvbSubtitles = true
scte = Scte {
scteFilter = listOf<ScteFilter>(
ScteFilter.fromValue("SPLICE_INSERT"),
ScteFilter.fromValue("BREAK")
)
}
encryption = Encryption {
constantInitializationVector = "A382A901F3C1F7718512266CFFBB0B7E"
encryptionMethod = EncryptionMethod {
tsEncryptionMethod = TsEncryptionMethod.fromValue("AES_128")
}
keyRotationIntervalSeconds = 300
spekeKeyProvider = SpekeKeyProvider {
encryptionContractConfiguration = EncryptionContractConfiguration {
presetSpeke20Audio = PresetSpeke20Audio.fromValue("SHARED")
presetSpeke20Video = PresetSpeke20Video.fromValue("SHARED")
}
resourceId = "ResourceId"
drmSystems = listOf<DrmSystem>(
DrmSystem.fromValue("CLEAR_KEY_AES_128")
)
roleArn = "arn:aws:iam::123456789012:role/empRole"
url = "https://foo.com"
}
}
}
hlsManifests = listOf<CreateHlsManifestConfiguration>(
CreateHlsManifestConfiguration {
manifestName = "exampleManifest1"
childManifestName = "exampleChildManifest1"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
},
CreateHlsManifestConfiguration {
manifestName = "exampleManifest2"
childManifestName = "exampleManifest2"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
}
)
lowLatencyHlsManifests = listOf<CreateLowLatencyHlsManifestConfiguration>(
CreateLowLatencyHlsManifestConfiguration {
manifestName = "exampleLLManifest1"
childManifestName = "exampleLLChildManifest1"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
},
CreateLowLatencyHlsManifestConfiguration {
manifestName = "exampleLLManifest2"
childManifestName = "exampleLLManifest2"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
}
)
tags = mapOf<String, String>(
"key1" to "value1",
"key2" to "value2"
)
}
//sampleEnd
}
import aws.sdk.kotlin.services.mediapackagev2.model.CreateHlsManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.CreateLowLatencyHlsManifestConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.DrmSystem
import aws.sdk.kotlin.services.mediapackagev2.model.ScteFilter
fun main() {
//sampleStart
// Creating an OriginEndpoint with container type CMAF, and encryption enabled
val resp = mediaPackageV2Client.createOriginEndpoint {
channelGroupName = "exampleChannelGroup"
channelName = "exampleChannel"
originEndpointName = "exampleOriginEndpointCMAF"
containerType = ContainerType.fromValue("TS")
startoverWindowSeconds = 300
segment = Segment {
segmentDurationSeconds = 6
segmentName = "segmentName"
includeIframeOnlyStreams = true
scte = Scte {
scteFilter = listOf<ScteFilter>(
ScteFilter.fromValue("SPLICE_INSERT"),
ScteFilter.fromValue("BREAK")
)
}
encryption = Encryption {
constantInitializationVector = "A382A901F3C1F7718512266CFFBB0B9F"
encryptionMethod = EncryptionMethod {
cmafEncryptionMethod = CmafEncryptionMethod.fromValue("CBCS")
}
keyRotationIntervalSeconds = 300
spekeKeyProvider = SpekeKeyProvider {
encryptionContractConfiguration = EncryptionContractConfiguration {
presetSpeke20Audio = PresetSpeke20Audio.fromValue("PRESET_AUDIO_1")
presetSpeke20Video = PresetSpeke20Video.fromValue("PRESET_VIDEO_1")
}
resourceId = "ResourceId"
drmSystems = listOf<DrmSystem>(
DrmSystem.fromValue("PLAYREADY"),
DrmSystem.fromValue("WIDEVINE")
)
roleArn = "arn:aws:iam::123456789012:role/empRole"
url = "https://foo.com"
}
}
}
hlsManifests = listOf<CreateHlsManifestConfiguration>(
CreateHlsManifestConfiguration {
manifestName = "exampleManifest1"
childManifestName = "exampleChildManifest1"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
},
CreateHlsManifestConfiguration {
manifestName = "exampleManifest2"
childManifestName = "exampleManifest2"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
}
)
lowLatencyHlsManifests = listOf<CreateLowLatencyHlsManifestConfiguration>(
CreateLowLatencyHlsManifestConfiguration {
manifestName = "exampleLLManifest1"
childManifestName = "exampleLLChildManifest1"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
},
CreateLowLatencyHlsManifestConfiguration {
manifestName = "exampleLLManifest2"
childManifestName = "exampleLLManifest2"
scteHls = ScteHls {
adMarkerHls = AdMarkerHls.fromValue("DATERANGE")
}
manifestWindowSeconds = 30
programDateTimeIntervalSeconds = 60
}
)
tags = mapOf<String, String>(
"key1" to "value1",
"key2" to "value2"
)
}
//sampleEnd
}