// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ci.Inputs
{

    public sealed class MediaSnapshotTemplateSnapshotArgs : Pulumi.ResourceArgs
    {
        /// <summary>
        /// Screenshot black screen detection parameters, Valid when IsCheckBlack=true, Value reference range [30, 100], indicating the proportion of black pixels, the smaller the value, the smaller the proportion of black pixels, Start&amp;gt;0, the parameter setting is invalid, no filter black screen, Start =0 parameter is valid, the start time of the frame capture is the first frame non-black screen start.
        /// </summary>
        [Input("blackLevel")]
        public Input<string>? BlackLevel { get; set; }

        /// <summary>
        /// Screenshot image processing parameters, for example: imageMogr2/format/png.
        /// </summary>
        [Input("ciParam")]
        public Input<string>? CiParam { get; set; }

        /// <summary>
        /// Number of screenshots, range (0 10000].
        /// </summary>
        [Input("count", required: true)]
        public Input<string> Count { get; set; } = null!;

        /// <summary>
        /// high, value range: [128, 4096], Unit: px, If only Height is set, Width is calculated according to the original ratio of the video.
        /// </summary>
        [Input("height")]
        public Input<string>? Height { get; set; }

        /// <summary>
        /// Whether to enable black screen detection true/false.
        /// </summary>
        [Input("isCheckBlack")]
        public Input<string>? IsCheckBlack { get; set; }

        /// <summary>
        /// Whether to check the number of screenshots forcibly, when using custom interval mode to take screenshots, the video time is not long enough to capture Count screenshots, you can switch to average screenshot mode to capture Count screenshots.
        /// </summary>
        [Input("isCheckCount")]
        public Input<string>? IsCheckCount { get; set; }

        /// <summary>
        /// Screenshot mode, value range: {Interval, Average, KeyFrame}- Interval means interval mode Average means average mode- KeyFrame represents the key frame mode- Interval mode: Start, TimeInterval, The Count parameter takes effect. When Count is set and TimeInterval is not set, Indicates to capture all frames, a total of Count pictures- Average mode: Start, the Count parameter takes effect. express.
        /// </summary>
        [Input("mode")]
        public Input<string>? Mode { get; set; }

        /// <summary>
        /// Screenshot black screen detection parameters, Valid when IsCheckBlack=true, The threshold for judging whether a pixel is a black point, value range: [0, 255].
        /// </summary>
        [Input("pixelBlackThreshold")]
        public Input<string>? PixelBlackThreshold { get; set; }

        /// <summary>
        /// Screenshot output mode parameters, Value range: {OnlySnapshot, OnlySprite, SnapshotAndSprite}, OnlySnapshot means output only screenshot mode OnlySprite means only output sprite mode SnapshotAndSprite means output screenshot and sprite mode.
        /// </summary>
        [Input("snapshotOutMode")]
        public Input<string>? SnapshotOutMode { get; set; }

        /// <summary>
        /// Screenshot output configuration.
        /// </summary>
        [Input("spriteSnapshotConfig")]
        public Input<Inputs.MediaSnapshotTemplateSnapshotSpriteSnapshotConfigArgs>? SpriteSnapshotConfig { get; set; }

        /// <summary>
        /// Starting time, [0 video duration] in seconds, Support float format, the execution accuracy is accurate to milliseconds.
        /// </summary>
        [Input("start")]
        public Input<string>? Start { get; set; }

        /// <summary>
        /// Screenshot time interval, (0 3600], in seconds, Support float format, the execution accuracy is accurate to milliseconds.
        /// </summary>
        [Input("timeInterval")]
        public Input<string>? TimeInterval { get; set; }

        /// <summary>
        /// wide, value range: [128, 4096], Unit: px, If only Width is set, Height is calculated according to the original ratio of the video.
        /// </summary>
        [Input("width")]
        public Input<string>? Width { get; set; }

        public MediaSnapshotTemplateSnapshotArgs()
        {
        }
    }
}
