/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IVS { namespace Model { /** *

Summary information about a channel.

See Also:

AWS * API Reference

*/ class ChannelSummary { public: AWS_IVS_API ChannelSummary(); AWS_IVS_API ChannelSummary(Aws::Utils::Json::JsonView jsonValue); AWS_IVS_API ChannelSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_IVS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Channel ARN.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

Channel ARN.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

Channel ARN.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

Channel ARN.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

Channel ARN.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

Channel ARN.

*/ inline ChannelSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

Channel ARN.

*/ inline ChannelSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

Channel ARN.

*/ inline ChannelSummary& WithArn(const char* value) { SetArn(value); return *this;} /** *

Whether the channel is private (enabled for playback authorization). Default: * false.

*/ inline bool GetAuthorized() const{ return m_authorized; } /** *

Whether the channel is private (enabled for playback authorization). Default: * false.

*/ inline bool AuthorizedHasBeenSet() const { return m_authorizedHasBeenSet; } /** *

Whether the channel is private (enabled for playback authorization). Default: * false.

*/ inline void SetAuthorized(bool value) { m_authorizedHasBeenSet = true; m_authorized = value; } /** *

Whether the channel is private (enabled for playback authorization). Default: * false.

*/ inline ChannelSummary& WithAuthorized(bool value) { SetAuthorized(value); return *this;} /** *

Whether the channel allows insecure RTMP ingest. Default: * false.

*/ inline bool GetInsecureIngest() const{ return m_insecureIngest; } /** *

Whether the channel allows insecure RTMP ingest. Default: * false.

*/ inline bool InsecureIngestHasBeenSet() const { return m_insecureIngestHasBeenSet; } /** *

Whether the channel allows insecure RTMP ingest. Default: * false.

*/ inline void SetInsecureIngest(bool value) { m_insecureIngestHasBeenSet = true; m_insecureIngest = value; } /** *

Whether the channel allows insecure RTMP ingest. Default: * false.

*/ inline ChannelSummary& WithInsecureIngest(bool value) { SetInsecureIngest(value); return *this;} /** *

Channel latency mode. Use NORMAL to broadcast and deliver live * video up to Full HD. Use LOW for near-real-time interaction with * viewers. Default: LOW. (Note: In the Amazon IVS console, * LOW and NORMAL correspond to Ultra-low and Standard, * respectively.)

*/ inline const ChannelLatencyMode& GetLatencyMode() const{ return m_latencyMode; } /** *

Channel latency mode. Use NORMAL to broadcast and deliver live * video up to Full HD. Use LOW for near-real-time interaction with * viewers. Default: LOW. (Note: In the Amazon IVS console, * LOW and NORMAL correspond to Ultra-low and Standard, * respectively.)

*/ inline bool LatencyModeHasBeenSet() const { return m_latencyModeHasBeenSet; } /** *

Channel latency mode. Use NORMAL to broadcast and deliver live * video up to Full HD. Use LOW for near-real-time interaction with * viewers. Default: LOW. (Note: In the Amazon IVS console, * LOW and NORMAL correspond to Ultra-low and Standard, * respectively.)

*/ inline void SetLatencyMode(const ChannelLatencyMode& value) { m_latencyModeHasBeenSet = true; m_latencyMode = value; } /** *

Channel latency mode. Use NORMAL to broadcast and deliver live * video up to Full HD. Use LOW for near-real-time interaction with * viewers. Default: LOW. (Note: In the Amazon IVS console, * LOW and NORMAL correspond to Ultra-low and Standard, * respectively.)

*/ inline void SetLatencyMode(ChannelLatencyMode&& value) { m_latencyModeHasBeenSet = true; m_latencyMode = std::move(value); } /** *

Channel latency mode. Use NORMAL to broadcast and deliver live * video up to Full HD. Use LOW for near-real-time interaction with * viewers. Default: LOW. (Note: In the Amazon IVS console, * LOW and NORMAL correspond to Ultra-low and Standard, * respectively.)

*/ inline ChannelSummary& WithLatencyMode(const ChannelLatencyMode& value) { SetLatencyMode(value); return *this;} /** *

Channel latency mode. Use NORMAL to broadcast and deliver live * video up to Full HD. Use LOW for near-real-time interaction with * viewers. Default: LOW. (Note: In the Amazon IVS console, * LOW and NORMAL correspond to Ultra-low and Standard, * respectively.)

*/ inline ChannelSummary& WithLatencyMode(ChannelLatencyMode&& value) { SetLatencyMode(std::move(value)); return *this;} /** *

Channel name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

Channel name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

Channel name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

Channel name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

Channel name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

Channel name.

*/ inline ChannelSummary& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

Channel name.

*/ inline ChannelSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

Channel name.

*/ inline ChannelSummary& WithName(const char* value) { SetName(value); return *this;} /** *

Optional transcode preset for the channel. This is selectable only for * ADVANCED_HD and ADVANCED_SD channel types. For those * channel types, the default preset is * HIGHER_BANDWIDTH_DELIVERY. For other channel types * (BASIC and STANDARD), preset is the empty * string ("").

*/ inline const TranscodePreset& GetPreset() const{ return m_preset; } /** *

Optional transcode preset for the channel. This is selectable only for * ADVANCED_HD and ADVANCED_SD channel types. For those * channel types, the default preset is * HIGHER_BANDWIDTH_DELIVERY. For other channel types * (BASIC and STANDARD), preset is the empty * string ("").

*/ inline bool PresetHasBeenSet() const { return m_presetHasBeenSet; } /** *

Optional transcode preset for the channel. This is selectable only for * ADVANCED_HD and ADVANCED_SD channel types. For those * channel types, the default preset is * HIGHER_BANDWIDTH_DELIVERY. For other channel types * (BASIC and STANDARD), preset is the empty * string ("").

*/ inline void SetPreset(const TranscodePreset& value) { m_presetHasBeenSet = true; m_preset = value; } /** *

Optional transcode preset for the channel. This is selectable only for * ADVANCED_HD and ADVANCED_SD channel types. For those * channel types, the default preset is * HIGHER_BANDWIDTH_DELIVERY. For other channel types * (BASIC and STANDARD), preset is the empty * string ("").

*/ inline void SetPreset(TranscodePreset&& value) { m_presetHasBeenSet = true; m_preset = std::move(value); } /** *

Optional transcode preset for the channel. This is selectable only for * ADVANCED_HD and ADVANCED_SD channel types. For those * channel types, the default preset is * HIGHER_BANDWIDTH_DELIVERY. For other channel types * (BASIC and STANDARD), preset is the empty * string ("").

*/ inline ChannelSummary& WithPreset(const TranscodePreset& value) { SetPreset(value); return *this;} /** *

Optional transcode preset for the channel. This is selectable only for * ADVANCED_HD and ADVANCED_SD channel types. For those * channel types, the default preset is * HIGHER_BANDWIDTH_DELIVERY. For other channel types * (BASIC and STANDARD), preset is the empty * string ("").

*/ inline ChannelSummary& WithPreset(TranscodePreset&& value) { SetPreset(std::move(value)); return *this;} /** *

Recording-configuration ARN. A value other than an empty string indicates * that recording is enabled. Default: "" (empty string, recording is * disabled).

*/ inline const Aws::String& GetRecordingConfigurationArn() const{ return m_recordingConfigurationArn; } /** *

Recording-configuration ARN. A value other than an empty string indicates * that recording is enabled. Default: "" (empty string, recording is * disabled).

*/ inline bool RecordingConfigurationArnHasBeenSet() const { return m_recordingConfigurationArnHasBeenSet; } /** *

Recording-configuration ARN. A value other than an empty string indicates * that recording is enabled. Default: "" (empty string, recording is * disabled).

*/ inline void SetRecordingConfigurationArn(const Aws::String& value) { m_recordingConfigurationArnHasBeenSet = true; m_recordingConfigurationArn = value; } /** *

Recording-configuration ARN. A value other than an empty string indicates * that recording is enabled. Default: "" (empty string, recording is * disabled).

*/ inline void SetRecordingConfigurationArn(Aws::String&& value) { m_recordingConfigurationArnHasBeenSet = true; m_recordingConfigurationArn = std::move(value); } /** *

Recording-configuration ARN. A value other than an empty string indicates * that recording is enabled. Default: "" (empty string, recording is * disabled).

*/ inline void SetRecordingConfigurationArn(const char* value) { m_recordingConfigurationArnHasBeenSet = true; m_recordingConfigurationArn.assign(value); } /** *

Recording-configuration ARN. A value other than an empty string indicates * that recording is enabled. Default: "" (empty string, recording is * disabled).

*/ inline ChannelSummary& WithRecordingConfigurationArn(const Aws::String& value) { SetRecordingConfigurationArn(value); return *this;} /** *

Recording-configuration ARN. A value other than an empty string indicates * that recording is enabled. Default: "" (empty string, recording is * disabled).

*/ inline ChannelSummary& WithRecordingConfigurationArn(Aws::String&& value) { SetRecordingConfigurationArn(std::move(value)); return *this;} /** *

Recording-configuration ARN. A value other than an empty string indicates * that recording is enabled. Default: "" (empty string, recording is * disabled).

*/ inline ChannelSummary& WithRecordingConfigurationArn(const char* value) { SetRecordingConfigurationArn(value); return *this;} /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Tags attached to the resource. Array of 1-50 maps, each of the form * string:string (key:value). See Tagging * Amazon Web Services Resources for more information, including restrictions * that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no * service-specific constraints beyond what is documented there.

*/ inline ChannelSummary& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Channel type, which determines the allowable resolution and bitrate. If * you exceed the allowable input resolution or bitrate, the stream probably will * disconnect immediately. Some types generate multiple qualities (renditions) * from the original input; this automatically gives viewers the best experience * for their devices and network conditions. Some types provide transcoded video; * transcoding allows higher playback quality across a range of download speeds. * Default: STANDARD. Valid values:

  • * BASIC: Video is transmuxed: Amazon IVS delivers the original input * quality to viewers. The viewer’s video-quality choice is limited to the original * input. Input resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for * 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio * is passed through.

  • STANDARD: Video is * transcoded: multiple qualities are generated from the original input, to * automatically give viewers the best experience for their devices and network * conditions. Transcoding allows higher playback quality across a range of * download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 * Mbps. Audio is transcoded only for renditions 360p and below; above that, audio * is passed through. This is the default when you create a channel.

  • *

    ADVANCED_SD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality * (480p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *
  • ADVANCED_HD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality * (720p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *

Optional transcode presets (available for the * ADVANCED types) allow you to trade off available download bandwidth * and video quality, to optimize the viewing experience. There are two * presets:

  • Constrained bandwidth delivery uses a lower * bitrate for each quality level. Use it if you have low download bandwidth and/or * simple video content (e.g., talking heads)

  • Higher * bandwidth delivery uses a higher bitrate for each quality level. Use it if * you have high download bandwidth and/or complex video content (e.g., flashes and * quick scene changes).

*/ inline const ChannelType& GetType() const{ return m_type; } /** *

Channel type, which determines the allowable resolution and bitrate. If * you exceed the allowable input resolution or bitrate, the stream probably will * disconnect immediately. Some types generate multiple qualities (renditions) * from the original input; this automatically gives viewers the best experience * for their devices and network conditions. Some types provide transcoded video; * transcoding allows higher playback quality across a range of download speeds. * Default: STANDARD. Valid values:

  • * BASIC: Video is transmuxed: Amazon IVS delivers the original input * quality to viewers. The viewer’s video-quality choice is limited to the original * input. Input resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for * 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio * is passed through.

  • STANDARD: Video is * transcoded: multiple qualities are generated from the original input, to * automatically give viewers the best experience for their devices and network * conditions. Transcoding allows higher playback quality across a range of * download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 * Mbps. Audio is transcoded only for renditions 360p and below; above that, audio * is passed through. This is the default when you create a channel.

  • *

    ADVANCED_SD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality * (480p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *
  • ADVANCED_HD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality * (720p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *

Optional transcode presets (available for the * ADVANCED types) allow you to trade off available download bandwidth * and video quality, to optimize the viewing experience. There are two * presets:

  • Constrained bandwidth delivery uses a lower * bitrate for each quality level. Use it if you have low download bandwidth and/or * simple video content (e.g., talking heads)

  • Higher * bandwidth delivery uses a higher bitrate for each quality level. Use it if * you have high download bandwidth and/or complex video content (e.g., flashes and * quick scene changes).

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Channel type, which determines the allowable resolution and bitrate. If * you exceed the allowable input resolution or bitrate, the stream probably will * disconnect immediately. Some types generate multiple qualities (renditions) * from the original input; this automatically gives viewers the best experience * for their devices and network conditions. Some types provide transcoded video; * transcoding allows higher playback quality across a range of download speeds. * Default: STANDARD. Valid values:

  • * BASIC: Video is transmuxed: Amazon IVS delivers the original input * quality to viewers. The viewer’s video-quality choice is limited to the original * input. Input resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for * 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio * is passed through.

  • STANDARD: Video is * transcoded: multiple qualities are generated from the original input, to * automatically give viewers the best experience for their devices and network * conditions. Transcoding allows higher playback quality across a range of * download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 * Mbps. Audio is transcoded only for renditions 360p and below; above that, audio * is passed through. This is the default when you create a channel.

  • *

    ADVANCED_SD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality * (480p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *
  • ADVANCED_HD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality * (720p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *

Optional transcode presets (available for the * ADVANCED types) allow you to trade off available download bandwidth * and video quality, to optimize the viewing experience. There are two * presets:

  • Constrained bandwidth delivery uses a lower * bitrate for each quality level. Use it if you have low download bandwidth and/or * simple video content (e.g., talking heads)

  • Higher * bandwidth delivery uses a higher bitrate for each quality level. Use it if * you have high download bandwidth and/or complex video content (e.g., flashes and * quick scene changes).

*/ inline void SetType(const ChannelType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Channel type, which determines the allowable resolution and bitrate. If * you exceed the allowable input resolution or bitrate, the stream probably will * disconnect immediately. Some types generate multiple qualities (renditions) * from the original input; this automatically gives viewers the best experience * for their devices and network conditions. Some types provide transcoded video; * transcoding allows higher playback quality across a range of download speeds. * Default: STANDARD. Valid values:

  • * BASIC: Video is transmuxed: Amazon IVS delivers the original input * quality to viewers. The viewer’s video-quality choice is limited to the original * input. Input resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for * 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio * is passed through.

  • STANDARD: Video is * transcoded: multiple qualities are generated from the original input, to * automatically give viewers the best experience for their devices and network * conditions. Transcoding allows higher playback quality across a range of * download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 * Mbps. Audio is transcoded only for renditions 360p and below; above that, audio * is passed through. This is the default when you create a channel.

  • *

    ADVANCED_SD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality * (480p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *
  • ADVANCED_HD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality * (720p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *

Optional transcode presets (available for the * ADVANCED types) allow you to trade off available download bandwidth * and video quality, to optimize the viewing experience. There are two * presets:

  • Constrained bandwidth delivery uses a lower * bitrate for each quality level. Use it if you have low download bandwidth and/or * simple video content (e.g., talking heads)

  • Higher * bandwidth delivery uses a higher bitrate for each quality level. Use it if * you have high download bandwidth and/or complex video content (e.g., flashes and * quick scene changes).

*/ inline void SetType(ChannelType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Channel type, which determines the allowable resolution and bitrate. If * you exceed the allowable input resolution or bitrate, the stream probably will * disconnect immediately. Some types generate multiple qualities (renditions) * from the original input; this automatically gives viewers the best experience * for their devices and network conditions. Some types provide transcoded video; * transcoding allows higher playback quality across a range of download speeds. * Default: STANDARD. Valid values:

  • * BASIC: Video is transmuxed: Amazon IVS delivers the original input * quality to viewers. The viewer’s video-quality choice is limited to the original * input. Input resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for * 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio * is passed through.

  • STANDARD: Video is * transcoded: multiple qualities are generated from the original input, to * automatically give viewers the best experience for their devices and network * conditions. Transcoding allows higher playback quality across a range of * download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 * Mbps. Audio is transcoded only for renditions 360p and below; above that, audio * is passed through. This is the default when you create a channel.

  • *

    ADVANCED_SD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality * (480p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *
  • ADVANCED_HD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality * (720p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *

Optional transcode presets (available for the * ADVANCED types) allow you to trade off available download bandwidth * and video quality, to optimize the viewing experience. There are two * presets:

  • Constrained bandwidth delivery uses a lower * bitrate for each quality level. Use it if you have low download bandwidth and/or * simple video content (e.g., talking heads)

  • Higher * bandwidth delivery uses a higher bitrate for each quality level. Use it if * you have high download bandwidth and/or complex video content (e.g., flashes and * quick scene changes).

*/ inline ChannelSummary& WithType(const ChannelType& value) { SetType(value); return *this;} /** *

Channel type, which determines the allowable resolution and bitrate. If * you exceed the allowable input resolution or bitrate, the stream probably will * disconnect immediately. Some types generate multiple qualities (renditions) * from the original input; this automatically gives viewers the best experience * for their devices and network conditions. Some types provide transcoded video; * transcoding allows higher playback quality across a range of download speeds. * Default: STANDARD. Valid values:

  • * BASIC: Video is transmuxed: Amazon IVS delivers the original input * quality to viewers. The viewer’s video-quality choice is limited to the original * input. Input resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for * 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio * is passed through.

  • STANDARD: Video is * transcoded: multiple qualities are generated from the original input, to * automatically give viewers the best experience for their devices and network * conditions. Transcoding allows higher playback quality across a range of * download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 * Mbps. Audio is transcoded only for renditions 360p and below; above that, audio * is passed through. This is the default when you create a channel.

  • *

    ADVANCED_SD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality * (480p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *
  • ADVANCED_HD: Video is transcoded; multiple qualities are * generated from the original input, to automatically give viewers the best * experience for their devices and network conditions. Input resolution can be up * to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality * (720p). You can select an optional transcode preset (see below). Audio for all * renditions is transcoded, and an audio-only rendition is available.

  • *

Optional transcode presets (available for the * ADVANCED types) allow you to trade off available download bandwidth * and video quality, to optimize the viewing experience. There are two * presets:

  • Constrained bandwidth delivery uses a lower * bitrate for each quality level. Use it if you have low download bandwidth and/or * simple video content (e.g., talking heads)

  • Higher * bandwidth delivery uses a higher bitrate for each quality level. Use it if * you have high download bandwidth and/or complex video content (e.g., flashes and * quick scene changes).

*/ inline ChannelSummary& WithType(ChannelType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; bool m_authorized; bool m_authorizedHasBeenSet = false; bool m_insecureIngest; bool m_insecureIngestHasBeenSet = false; ChannelLatencyMode m_latencyMode; bool m_latencyModeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; TranscodePreset m_preset; bool m_presetHasBeenSet = false; Aws::String m_recordingConfigurationArn; bool m_recordingConfigurationArnHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; ChannelType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace IVS } // namespace Aws