All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.media.inputs.PresetConfigurationsArgs Maven / Gradle / Ivy

There is a newer version: 2.89.2
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.media.inputs;

import com.pulumi.azurenative.media.enums.Complexity;
import com.pulumi.azurenative.media.enums.InterleaveOutput;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * An object of optional configuration settings for encoder.
 * 
 */
public final class PresetConfigurationsArgs extends com.pulumi.resources.ResourceArgs {

    public static final PresetConfigurationsArgs Empty = new PresetConfigurationsArgs();

    /**
     * Allows you to configure the encoder settings to control the balance between speed and quality. Example: set Complexity as Speed for faster encoding but less compression efficiency.
     * 
     */
    @Import(name="complexity")
    private @Nullable Output> complexity;

    /**
     * @return Allows you to configure the encoder settings to control the balance between speed and quality. Example: set Complexity as Speed for faster encoding but less compression efficiency.
     * 
     */
    public Optional>> complexity() {
        return Optional.ofNullable(this.complexity);
    }

    /**
     * Sets the interleave mode of the output to control how audio and video are stored in the container format. Example: set InterleavedOutput as NonInterleavedOutput to produce audio-only and video-only outputs in separate MP4 files.
     * 
     */
    @Import(name="interleaveOutput")
    private @Nullable Output> interleaveOutput;

    /**
     * @return Sets the interleave mode of the output to control how audio and video are stored in the container format. Example: set InterleavedOutput as NonInterleavedOutput to produce audio-only and video-only outputs in separate MP4 files.
     * 
     */
    public Optional>> interleaveOutput() {
        return Optional.ofNullable(this.interleaveOutput);
    }

    /**
     * The key frame interval in seconds. Example: set KeyFrameIntervalInSeconds as 2 to reduce the playback buffering for some players.
     * 
     */
    @Import(name="keyFrameIntervalInSeconds")
    private @Nullable Output keyFrameIntervalInSeconds;

    /**
     * @return The key frame interval in seconds. Example: set KeyFrameIntervalInSeconds as 2 to reduce the playback buffering for some players.
     * 
     */
    public Optional> keyFrameIntervalInSeconds() {
        return Optional.ofNullable(this.keyFrameIntervalInSeconds);
    }

    /**
     * The maximum bitrate in bits per second (threshold for the top video layer). Example: set MaxBitrateBps as 6000000 to avoid producing very high bitrate outputs for contents with high complexity.
     * 
     */
    @Import(name="maxBitrateBps")
    private @Nullable Output maxBitrateBps;

    /**
     * @return The maximum bitrate in bits per second (threshold for the top video layer). Example: set MaxBitrateBps as 6000000 to avoid producing very high bitrate outputs for contents with high complexity.
     * 
     */
    public Optional> maxBitrateBps() {
        return Optional.ofNullable(this.maxBitrateBps);
    }

    /**
     * The maximum height of output video layers. Example: set MaxHeight as 720 to produce output layers up to 720P even if the input is 4K.
     * 
     */
    @Import(name="maxHeight")
    private @Nullable Output maxHeight;

    /**
     * @return The maximum height of output video layers. Example: set MaxHeight as 720 to produce output layers up to 720P even if the input is 4K.
     * 
     */
    public Optional> maxHeight() {
        return Optional.ofNullable(this.maxHeight);
    }

    /**
     * The maximum number of output video layers. Example: set MaxLayers as 4 to make sure at most 4 output layers are produced to control the overall cost of the encoding job.
     * 
     */
    @Import(name="maxLayers")
    private @Nullable Output maxLayers;

    /**
     * @return The maximum number of output video layers. Example: set MaxLayers as 4 to make sure at most 4 output layers are produced to control the overall cost of the encoding job.
     * 
     */
    public Optional> maxLayers() {
        return Optional.ofNullable(this.maxLayers);
    }

    /**
     * The minimum bitrate in bits per second (threshold for the bottom video layer). Example: set MinBitrateBps as 200000 to have a bottom layer that covers users with low network bandwidth.
     * 
     */
    @Import(name="minBitrateBps")
    private @Nullable Output minBitrateBps;

    /**
     * @return The minimum bitrate in bits per second (threshold for the bottom video layer). Example: set MinBitrateBps as 200000 to have a bottom layer that covers users with low network bandwidth.
     * 
     */
    public Optional> minBitrateBps() {
        return Optional.ofNullable(this.minBitrateBps);
    }

    /**
     * The minimum height of output video layers. Example: set MinHeight as 360 to avoid output layers of smaller resolutions like 180P.
     * 
     */
    @Import(name="minHeight")
    private @Nullable Output minHeight;

    /**
     * @return The minimum height of output video layers. Example: set MinHeight as 360 to avoid output layers of smaller resolutions like 180P.
     * 
     */
    public Optional> minHeight() {
        return Optional.ofNullable(this.minHeight);
    }

    private PresetConfigurationsArgs() {}

    private PresetConfigurationsArgs(PresetConfigurationsArgs $) {
        this.complexity = $.complexity;
        this.interleaveOutput = $.interleaveOutput;
        this.keyFrameIntervalInSeconds = $.keyFrameIntervalInSeconds;
        this.maxBitrateBps = $.maxBitrateBps;
        this.maxHeight = $.maxHeight;
        this.maxLayers = $.maxLayers;
        this.minBitrateBps = $.minBitrateBps;
        this.minHeight = $.minHeight;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(PresetConfigurationsArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private PresetConfigurationsArgs $;

        public Builder() {
            $ = new PresetConfigurationsArgs();
        }

        public Builder(PresetConfigurationsArgs defaults) {
            $ = new PresetConfigurationsArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param complexity Allows you to configure the encoder settings to control the balance between speed and quality. Example: set Complexity as Speed for faster encoding but less compression efficiency.
         * 
         * @return builder
         * 
         */
        public Builder complexity(@Nullable Output> complexity) {
            $.complexity = complexity;
            return this;
        }

        /**
         * @param complexity Allows you to configure the encoder settings to control the balance between speed and quality. Example: set Complexity as Speed for faster encoding but less compression efficiency.
         * 
         * @return builder
         * 
         */
        public Builder complexity(Either complexity) {
            return complexity(Output.of(complexity));
        }

        /**
         * @param complexity Allows you to configure the encoder settings to control the balance between speed and quality. Example: set Complexity as Speed for faster encoding but less compression efficiency.
         * 
         * @return builder
         * 
         */
        public Builder complexity(String complexity) {
            return complexity(Either.ofLeft(complexity));
        }

        /**
         * @param complexity Allows you to configure the encoder settings to control the balance between speed and quality. Example: set Complexity as Speed for faster encoding but less compression efficiency.
         * 
         * @return builder
         * 
         */
        public Builder complexity(Complexity complexity) {
            return complexity(Either.ofRight(complexity));
        }

        /**
         * @param interleaveOutput Sets the interleave mode of the output to control how audio and video are stored in the container format. Example: set InterleavedOutput as NonInterleavedOutput to produce audio-only and video-only outputs in separate MP4 files.
         * 
         * @return builder
         * 
         */
        public Builder interleaveOutput(@Nullable Output> interleaveOutput) {
            $.interleaveOutput = interleaveOutput;
            return this;
        }

        /**
         * @param interleaveOutput Sets the interleave mode of the output to control how audio and video are stored in the container format. Example: set InterleavedOutput as NonInterleavedOutput to produce audio-only and video-only outputs in separate MP4 files.
         * 
         * @return builder
         * 
         */
        public Builder interleaveOutput(Either interleaveOutput) {
            return interleaveOutput(Output.of(interleaveOutput));
        }

        /**
         * @param interleaveOutput Sets the interleave mode of the output to control how audio and video are stored in the container format. Example: set InterleavedOutput as NonInterleavedOutput to produce audio-only and video-only outputs in separate MP4 files.
         * 
         * @return builder
         * 
         */
        public Builder interleaveOutput(String interleaveOutput) {
            return interleaveOutput(Either.ofLeft(interleaveOutput));
        }

        /**
         * @param interleaveOutput Sets the interleave mode of the output to control how audio and video are stored in the container format. Example: set InterleavedOutput as NonInterleavedOutput to produce audio-only and video-only outputs in separate MP4 files.
         * 
         * @return builder
         * 
         */
        public Builder interleaveOutput(InterleaveOutput interleaveOutput) {
            return interleaveOutput(Either.ofRight(interleaveOutput));
        }

        /**
         * @param keyFrameIntervalInSeconds The key frame interval in seconds. Example: set KeyFrameIntervalInSeconds as 2 to reduce the playback buffering for some players.
         * 
         * @return builder
         * 
         */
        public Builder keyFrameIntervalInSeconds(@Nullable Output keyFrameIntervalInSeconds) {
            $.keyFrameIntervalInSeconds = keyFrameIntervalInSeconds;
            return this;
        }

        /**
         * @param keyFrameIntervalInSeconds The key frame interval in seconds. Example: set KeyFrameIntervalInSeconds as 2 to reduce the playback buffering for some players.
         * 
         * @return builder
         * 
         */
        public Builder keyFrameIntervalInSeconds(Double keyFrameIntervalInSeconds) {
            return keyFrameIntervalInSeconds(Output.of(keyFrameIntervalInSeconds));
        }

        /**
         * @param maxBitrateBps The maximum bitrate in bits per second (threshold for the top video layer). Example: set MaxBitrateBps as 6000000 to avoid producing very high bitrate outputs for contents with high complexity.
         * 
         * @return builder
         * 
         */
        public Builder maxBitrateBps(@Nullable Output maxBitrateBps) {
            $.maxBitrateBps = maxBitrateBps;
            return this;
        }

        /**
         * @param maxBitrateBps The maximum bitrate in bits per second (threshold for the top video layer). Example: set MaxBitrateBps as 6000000 to avoid producing very high bitrate outputs for contents with high complexity.
         * 
         * @return builder
         * 
         */
        public Builder maxBitrateBps(Integer maxBitrateBps) {
            return maxBitrateBps(Output.of(maxBitrateBps));
        }

        /**
         * @param maxHeight The maximum height of output video layers. Example: set MaxHeight as 720 to produce output layers up to 720P even if the input is 4K.
         * 
         * @return builder
         * 
         */
        public Builder maxHeight(@Nullable Output maxHeight) {
            $.maxHeight = maxHeight;
            return this;
        }

        /**
         * @param maxHeight The maximum height of output video layers. Example: set MaxHeight as 720 to produce output layers up to 720P even if the input is 4K.
         * 
         * @return builder
         * 
         */
        public Builder maxHeight(Integer maxHeight) {
            return maxHeight(Output.of(maxHeight));
        }

        /**
         * @param maxLayers The maximum number of output video layers. Example: set MaxLayers as 4 to make sure at most 4 output layers are produced to control the overall cost of the encoding job.
         * 
         * @return builder
         * 
         */
        public Builder maxLayers(@Nullable Output maxLayers) {
            $.maxLayers = maxLayers;
            return this;
        }

        /**
         * @param maxLayers The maximum number of output video layers. Example: set MaxLayers as 4 to make sure at most 4 output layers are produced to control the overall cost of the encoding job.
         * 
         * @return builder
         * 
         */
        public Builder maxLayers(Integer maxLayers) {
            return maxLayers(Output.of(maxLayers));
        }

        /**
         * @param minBitrateBps The minimum bitrate in bits per second (threshold for the bottom video layer). Example: set MinBitrateBps as 200000 to have a bottom layer that covers users with low network bandwidth.
         * 
         * @return builder
         * 
         */
        public Builder minBitrateBps(@Nullable Output minBitrateBps) {
            $.minBitrateBps = minBitrateBps;
            return this;
        }

        /**
         * @param minBitrateBps The minimum bitrate in bits per second (threshold for the bottom video layer). Example: set MinBitrateBps as 200000 to have a bottom layer that covers users with low network bandwidth.
         * 
         * @return builder
         * 
         */
        public Builder minBitrateBps(Integer minBitrateBps) {
            return minBitrateBps(Output.of(minBitrateBps));
        }

        /**
         * @param minHeight The minimum height of output video layers. Example: set MinHeight as 360 to avoid output layers of smaller resolutions like 180P.
         * 
         * @return builder
         * 
         */
        public Builder minHeight(@Nullable Output minHeight) {
            $.minHeight = minHeight;
            return this;
        }

        /**
         * @param minHeight The minimum height of output video layers. Example: set MinHeight as 360 to avoid output layers of smaller resolutions like 180P.
         * 
         * @return builder
         * 
         */
        public Builder minHeight(Integer minHeight) {
            return minHeight(Output.of(minHeight));
        }

        public PresetConfigurationsArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy