
com.pulumi.azure.media.kotlin.inputs.TransformOutputCustomPresetCodecH265VideoArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-kotlin Show documentation
Show all versions of pulumi-azure-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.media.kotlin.inputs
import com.pulumi.azure.media.inputs.TransformOutputCustomPresetCodecH265VideoArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property complexity The complexity of the encoding. Possible values are `Balanced`, `Speed` or `Quality`. Default to `Balanced`.
* @property keyFrameInterval The distance between two key frames. The value should be non-zero in the range `0.5` to `20` seconds, specified in ISO 8601 format. Note that this setting is ignored if `sync_mode` is set to `Passthrough`, where the KeyFrameInterval value will follow the input source setting. Defaults to `PT2S`.
* @property label The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file.
* @property layers One or more `layer` blocks as defined below.
* @property sceneChangeDetectionEnabled Whether the encoder should insert key frames at scene changes. This flag should be set to true only when the encoder is being configured to produce a single output video. Default to `false`.
* @property stretchMode Specifies the resizing mode - how the input video will be resized to fit the desired output resolution(s). Possible values are `AutoFit`, `AutoSize` or `None`. Default to `AutoSize`.
* @property syncMode Specifies the synchronization mode for the video. Possible values are `Auto`, `Cfr`, `Passthrough` or `Vfr`. Default to `Auto`.
*/
public data class TransformOutputCustomPresetCodecH265VideoArgs(
public val complexity: Output? = null,
public val keyFrameInterval: Output? = null,
public val label: Output? = null,
public val layers: Output>? = null,
public val sceneChangeDetectionEnabled: Output? = null,
public val stretchMode: Output? = null,
public val syncMode: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.media.inputs.TransformOutputCustomPresetCodecH265VideoArgs = com.pulumi.azure.media.inputs.TransformOutputCustomPresetCodecH265VideoArgs.builder()
.complexity(complexity?.applyValue({ args0 -> args0 }))
.keyFrameInterval(keyFrameInterval?.applyValue({ args0 -> args0 }))
.label(label?.applyValue({ args0 -> args0 }))
.layers(layers?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.sceneChangeDetectionEnabled(sceneChangeDetectionEnabled?.applyValue({ args0 -> args0 }))
.stretchMode(stretchMode?.applyValue({ args0 -> args0 }))
.syncMode(syncMode?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [TransformOutputCustomPresetCodecH265VideoArgs].
*/
@PulumiTagMarker
public class TransformOutputCustomPresetCodecH265VideoArgsBuilder internal constructor() {
private var complexity: Output? = null
private var keyFrameInterval: Output? = null
private var label: Output? = null
private var layers: Output>? = null
private var sceneChangeDetectionEnabled: Output? = null
private var stretchMode: Output? = null
private var syncMode: Output? = null
/**
* @param value The complexity of the encoding. Possible values are `Balanced`, `Speed` or `Quality`. Default to `Balanced`.
*/
@JvmName("tksbthejpougedik")
public suspend fun complexity(`value`: Output) {
this.complexity = value
}
/**
* @param value The distance between two key frames. The value should be non-zero in the range `0.5` to `20` seconds, specified in ISO 8601 format. Note that this setting is ignored if `sync_mode` is set to `Passthrough`, where the KeyFrameInterval value will follow the input source setting. Defaults to `PT2S`.
*/
@JvmName("etskjvkbngjvriyq")
public suspend fun keyFrameInterval(`value`: Output) {
this.keyFrameInterval = value
}
/**
* @param value The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file.
*/
@JvmName("eybwjptoqbdbtqxv")
public suspend fun label(`value`: Output) {
this.label = value
}
/**
* @param value One or more `layer` blocks as defined below.
*/
@JvmName("wdoylqbwjvcgwtpb")
public suspend fun layers(`value`: Output>) {
this.layers = value
}
@JvmName("lxjhbxtourdwgrac")
public suspend fun layers(vararg values: Output) {
this.layers = Output.all(values.asList())
}
/**
* @param values One or more `layer` blocks as defined below.
*/
@JvmName("pdohxeqkjrgnwhtt")
public suspend fun layers(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy