createChannel method
- String? adConfigurationArn,
- bool? authorized,
- ContainerFormat? containerFormat,
- bool? insecureIngest,
- ChannelLatencyMode? latencyMode,
- MultitrackInputConfiguration? multitrackInputConfiguration,
- String? name,
- String? playbackRestrictionPolicyArn,
- TranscodePreset? preset,
- String? recordingConfigurationArn,
- Map<
String, String> ? tags, - ChannelType? type,
Creates a new channel and an associated stream key to start streaming.
May throw AccessDeniedException.
May throw PendingVerification.
May throw ResourceNotFoundException.
May throw ServiceQuotaExceededException.
May throw ValidationException.
Parameter adConfigurationArn :
ARN of the ad configuration associated with the channel.
Parameter authorized :
Whether the channel is private (enabled for playback authorization).
Default: false.
Parameter containerFormat :
Indicates which content-packaging format is used (MPEG-TS or fMP4). If
multitrackInputConfiguration is specified and
enabled is true, then
containerFormat is required and must be set to
FRAGMENTED_MP4. Otherwise, containerFormat may
be set to TS or FRAGMENTED_MP4. Default:
TS.
Parameter insecureIngest :
Whether the channel allows insecure RTMP and SRT ingest. Default:
false.
Parameter 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.
Parameter multitrackInputConfiguration :
Object specifying multitrack input configuration. Default: no multitrack
input configuration is specified.
Parameter name :
Channel name.
Parameter playbackRestrictionPolicyArn :
Playback-restriction-policy ARN. A valid ARN value here both specifies the
ARN and enables playback restriction. Default: "" (empty string, no
playback restriction policy is applied).
Parameter 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 ("").
Parameter recordingConfigurationArn :
Recording-configuration ARN. A valid ARN value here both specifies the ARN
and enables recording. Default: "" (empty string, recording is disabled).
Parameter tags :
Array of 1-50 maps, each of the form string:string
(key:value). See Best
practices and strategies in Tagging Amazon Web Services Resources
and Tag Editor for details, including restrictions that apply to tags
and "Tag naming limits and requirements"; Amazon IVS has no
service-specific constraints beyond what is documented there.
Parameter 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. Default: STANDARD. For
details, see Channel
Types.
Implementation
Future<CreateChannelResponse> createChannel({
String? adConfigurationArn,
bool? authorized,
ContainerFormat? containerFormat,
bool? insecureIngest,
ChannelLatencyMode? latencyMode,
MultitrackInputConfiguration? multitrackInputConfiguration,
String? name,
String? playbackRestrictionPolicyArn,
TranscodePreset? preset,
String? recordingConfigurationArn,
Map<String, String>? tags,
ChannelType? type,
}) async {
final $payload = <String, dynamic>{
if (adConfigurationArn != null) 'adConfigurationArn': adConfigurationArn,
if (authorized != null) 'authorized': authorized,
if (containerFormat != null) 'containerFormat': containerFormat.value,
if (insecureIngest != null) 'insecureIngest': insecureIngest,
if (latencyMode != null) 'latencyMode': latencyMode.value,
if (multitrackInputConfiguration != null)
'multitrackInputConfiguration': multitrackInputConfiguration,
if (name != null) 'name': name,
if (playbackRestrictionPolicyArn != null)
'playbackRestrictionPolicyArn': playbackRestrictionPolicyArn,
if (preset != null) 'preset': preset.value,
if (recordingConfigurationArn != null)
'recordingConfigurationArn': recordingConfigurationArn,
if (tags != null) 'tags': tags,
if (type != null) 'type': type.value,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/CreateChannel',
exceptionFnMap: _exceptionFns,
);
return CreateChannelResponse.fromJson(response);
}