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

com.pulumi.azurenative.videoanalyzer.inputs.VideoEncoderH264Args 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.videoanalyzer.inputs;

import com.pulumi.azurenative.videoanalyzer.inputs.VideoScaleArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * A custom preset for encoding video with the H.264 (AVC) codec.
 * 
 */
public final class VideoEncoderH264Args extends com.pulumi.resources.ResourceArgs {

    public static final VideoEncoderH264Args Empty = new VideoEncoderH264Args();

    /**
     * The maximum bitrate, in kilobits per second or Kbps, at which video should be encoded. If omitted, encoder sets it automatically to try and match the quality of the input video.
     * 
     */
    @Import(name="bitrateKbps")
    private @Nullable Output bitrateKbps;

    /**
     * @return The maximum bitrate, in kilobits per second or Kbps, at which video should be encoded. If omitted, encoder sets it automatically to try and match the quality of the input video.
     * 
     */
    public Optional> bitrateKbps() {
        return Optional.ofNullable(this.bitrateKbps);
    }

    /**
     * The frame rate (in frames per second) of the encoded video. The value must be greater than zero, and less than or equal to 300. If omitted, the encoder uses the average frame rate of the input video.
     * 
     */
    @Import(name="frameRate")
    private @Nullable Output frameRate;

    /**
     * @return The frame rate (in frames per second) of the encoded video. The value must be greater than zero, and less than or equal to 300. If omitted, the encoder uses the average frame rate of the input video.
     * 
     */
    public Optional> frameRate() {
        return Optional.ofNullable(this.frameRate);
    }

    /**
     * Describes the resolution of the encoded video. If omitted, the encoder uses the resolution of the input video.
     * 
     */
    @Import(name="scale")
    private @Nullable Output scale;

    /**
     * @return Describes the resolution of the encoded video. If omitted, the encoder uses the resolution of the input video.
     * 
     */
    public Optional> scale() {
        return Optional.ofNullable(this.scale);
    }

    /**
     * The discriminator for derived types.
     * Expected value is '#Microsoft.VideoAnalyzer.VideoEncoderH264'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.VideoAnalyzer.VideoEncoderH264'.
     * 
     */
    public Output type() {
        return this.type;
    }

    private VideoEncoderH264Args() {}

    private VideoEncoderH264Args(VideoEncoderH264Args $) {
        this.bitrateKbps = $.bitrateKbps;
        this.frameRate = $.frameRate;
        this.scale = $.scale;
        this.type = $.type;
    }

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

    public static final class Builder {
        private VideoEncoderH264Args $;

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

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

        /**
         * @param bitrateKbps The maximum bitrate, in kilobits per second or Kbps, at which video should be encoded. If omitted, encoder sets it automatically to try and match the quality of the input video.
         * 
         * @return builder
         * 
         */
        public Builder bitrateKbps(@Nullable Output bitrateKbps) {
            $.bitrateKbps = bitrateKbps;
            return this;
        }

        /**
         * @param bitrateKbps The maximum bitrate, in kilobits per second or Kbps, at which video should be encoded. If omitted, encoder sets it automatically to try and match the quality of the input video.
         * 
         * @return builder
         * 
         */
        public Builder bitrateKbps(String bitrateKbps) {
            return bitrateKbps(Output.of(bitrateKbps));
        }

        /**
         * @param frameRate The frame rate (in frames per second) of the encoded video. The value must be greater than zero, and less than or equal to 300. If omitted, the encoder uses the average frame rate of the input video.
         * 
         * @return builder
         * 
         */
        public Builder frameRate(@Nullable Output frameRate) {
            $.frameRate = frameRate;
            return this;
        }

        /**
         * @param frameRate The frame rate (in frames per second) of the encoded video. The value must be greater than zero, and less than or equal to 300. If omitted, the encoder uses the average frame rate of the input video.
         * 
         * @return builder
         * 
         */
        public Builder frameRate(String frameRate) {
            return frameRate(Output.of(frameRate));
        }

        /**
         * @param scale Describes the resolution of the encoded video. If omitted, the encoder uses the resolution of the input video.
         * 
         * @return builder
         * 
         */
        public Builder scale(@Nullable Output scale) {
            $.scale = scale;
            return this;
        }

        /**
         * @param scale Describes the resolution of the encoded video. If omitted, the encoder uses the resolution of the input video.
         * 
         * @return builder
         * 
         */
        public Builder scale(VideoScaleArgs scale) {
            return scale(Output.of(scale));
        }

        /**
         * @param type The discriminator for derived types.
         * Expected value is '#Microsoft.VideoAnalyzer.VideoEncoderH264'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The discriminator for derived types.
         * Expected value is '#Microsoft.VideoAnalyzer.VideoEncoderH264'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public VideoEncoderH264Args build() {
            $.type = Codegen.stringProp("type").output().arg($.type).require();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy