/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * Use automated ABR to have MediaConvert set up the renditions in your ABR package * for you automatically, based on characteristics of your input video. This * feature optimizes video quality while minimizing the overall size of your ABR * package.

See Also:

AWS * API Reference

*/ class AutomatedAbrSettings { public: AWS_MEDIACONVERT_API AutomatedAbrSettings(); AWS_MEDIACONVERT_API AutomatedAbrSettings(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API AutomatedAbrSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * Optional. The maximum target bit rate used in your automated ABR stack. Use this * value to set an upper limit on the bandwidth consumed by the highest-quality * rendition. This is the rendition that is delivered to viewers with the fastest * internet connections. If you don't specify a value, MediaConvert uses 8,000,000 * (8 mb/s) by default. */ inline int GetMaxAbrBitrate() const{ return m_maxAbrBitrate; } /** * Optional. The maximum target bit rate used in your automated ABR stack. Use this * value to set an upper limit on the bandwidth consumed by the highest-quality * rendition. This is the rendition that is delivered to viewers with the fastest * internet connections. If you don't specify a value, MediaConvert uses 8,000,000 * (8 mb/s) by default. */ inline bool MaxAbrBitrateHasBeenSet() const { return m_maxAbrBitrateHasBeenSet; } /** * Optional. The maximum target bit rate used in your automated ABR stack. Use this * value to set an upper limit on the bandwidth consumed by the highest-quality * rendition. This is the rendition that is delivered to viewers with the fastest * internet connections. If you don't specify a value, MediaConvert uses 8,000,000 * (8 mb/s) by default. */ inline void SetMaxAbrBitrate(int value) { m_maxAbrBitrateHasBeenSet = true; m_maxAbrBitrate = value; } /** * Optional. The maximum target bit rate used in your automated ABR stack. Use this * value to set an upper limit on the bandwidth consumed by the highest-quality * rendition. This is the rendition that is delivered to viewers with the fastest * internet connections. If you don't specify a value, MediaConvert uses 8,000,000 * (8 mb/s) by default. */ inline AutomatedAbrSettings& WithMaxAbrBitrate(int value) { SetMaxAbrBitrate(value); return *this;} /** * Optional. The maximum number of renditions that MediaConvert will create in your * automated ABR stack. The number of renditions is determined automatically, based * on analysis of each job, but will never exceed this limit. When you set this to * Auto in the console, which is equivalent to excluding it from your JSON job * specification, MediaConvert defaults to a limit of 15. */ inline int GetMaxRenditions() const{ return m_maxRenditions; } /** * Optional. The maximum number of renditions that MediaConvert will create in your * automated ABR stack. The number of renditions is determined automatically, based * on analysis of each job, but will never exceed this limit. When you set this to * Auto in the console, which is equivalent to excluding it from your JSON job * specification, MediaConvert defaults to a limit of 15. */ inline bool MaxRenditionsHasBeenSet() const { return m_maxRenditionsHasBeenSet; } /** * Optional. The maximum number of renditions that MediaConvert will create in your * automated ABR stack. The number of renditions is determined automatically, based * on analysis of each job, but will never exceed this limit. When you set this to * Auto in the console, which is equivalent to excluding it from your JSON job * specification, MediaConvert defaults to a limit of 15. */ inline void SetMaxRenditions(int value) { m_maxRenditionsHasBeenSet = true; m_maxRenditions = value; } /** * Optional. The maximum number of renditions that MediaConvert will create in your * automated ABR stack. The number of renditions is determined automatically, based * on analysis of each job, but will never exceed this limit. When you set this to * Auto in the console, which is equivalent to excluding it from your JSON job * specification, MediaConvert defaults to a limit of 15. */ inline AutomatedAbrSettings& WithMaxRenditions(int value) { SetMaxRenditions(value); return *this;} /** * Optional. The minimum target bitrate used in your automated ABR stack. Use this * value to set a lower limit on the bitrate of video delivered to viewers with * slow internet connections. If you don't specify a value, MediaConvert uses * 600,000 (600 kb/s) by default. */ inline int GetMinAbrBitrate() const{ return m_minAbrBitrate; } /** * Optional. The minimum target bitrate used in your automated ABR stack. Use this * value to set a lower limit on the bitrate of video delivered to viewers with * slow internet connections. If you don't specify a value, MediaConvert uses * 600,000 (600 kb/s) by default. */ inline bool MinAbrBitrateHasBeenSet() const { return m_minAbrBitrateHasBeenSet; } /** * Optional. The minimum target bitrate used in your automated ABR stack. Use this * value to set a lower limit on the bitrate of video delivered to viewers with * slow internet connections. If you don't specify a value, MediaConvert uses * 600,000 (600 kb/s) by default. */ inline void SetMinAbrBitrate(int value) { m_minAbrBitrateHasBeenSet = true; m_minAbrBitrate = value; } /** * Optional. The minimum target bitrate used in your automated ABR stack. Use this * value to set a lower limit on the bitrate of video delivered to viewers with * slow internet connections. If you don't specify a value, MediaConvert uses * 600,000 (600 kb/s) by default. */ inline AutomatedAbrSettings& WithMinAbrBitrate(int value) { SetMinAbrBitrate(value); return *this;} /** * Optional. Use Automated ABR rules to specify restrictions for the rendition * sizes MediaConvert will create in your ABR stack. You can use these rules if * your ABR workflow has specific rendition size requirements, but you still want * MediaConvert to optimize for video quality and overall file size. */ inline const Aws::Vector& GetRules() const{ return m_rules; } /** * Optional. Use Automated ABR rules to specify restrictions for the rendition * sizes MediaConvert will create in your ABR stack. You can use these rules if * your ABR workflow has specific rendition size requirements, but you still want * MediaConvert to optimize for video quality and overall file size. */ inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } /** * Optional. Use Automated ABR rules to specify restrictions for the rendition * sizes MediaConvert will create in your ABR stack. You can use these rules if * your ABR workflow has specific rendition size requirements, but you still want * MediaConvert to optimize for video quality and overall file size. */ inline void SetRules(const Aws::Vector& value) { m_rulesHasBeenSet = true; m_rules = value; } /** * Optional. Use Automated ABR rules to specify restrictions for the rendition * sizes MediaConvert will create in your ABR stack. You can use these rules if * your ABR workflow has specific rendition size requirements, but you still want * MediaConvert to optimize for video quality and overall file size. */ inline void SetRules(Aws::Vector&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } /** * Optional. Use Automated ABR rules to specify restrictions for the rendition * sizes MediaConvert will create in your ABR stack. You can use these rules if * your ABR workflow has specific rendition size requirements, but you still want * MediaConvert to optimize for video quality and overall file size. */ inline AutomatedAbrSettings& WithRules(const Aws::Vector& value) { SetRules(value); return *this;} /** * Optional. Use Automated ABR rules to specify restrictions for the rendition * sizes MediaConvert will create in your ABR stack. You can use these rules if * your ABR workflow has specific rendition size requirements, but you still want * MediaConvert to optimize for video quality and overall file size. */ inline AutomatedAbrSettings& WithRules(Aws::Vector&& value) { SetRules(std::move(value)); return *this;} /** * Optional. Use Automated ABR rules to specify restrictions for the rendition * sizes MediaConvert will create in your ABR stack. You can use these rules if * your ABR workflow has specific rendition size requirements, but you still want * MediaConvert to optimize for video quality and overall file size. */ inline AutomatedAbrSettings& AddRules(const AutomatedAbrRule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } /** * Optional. Use Automated ABR rules to specify restrictions for the rendition * sizes MediaConvert will create in your ABR stack. You can use these rules if * your ABR workflow has specific rendition size requirements, but you still want * MediaConvert to optimize for video quality and overall file size. */ inline AutomatedAbrSettings& AddRules(AutomatedAbrRule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } private: int m_maxAbrBitrate; bool m_maxAbrBitrateHasBeenSet = false; int m_maxRenditions; bool m_maxRenditionsHasBeenSet = false; int m_minAbrBitrate; bool m_minAbrBitrateHasBeenSet = false; Aws::Vector m_rules; bool m_rulesHasBeenSet = false; }; } // namespace Model } // namespace MediaConvert } // namespace Aws