public sealed class Channel : IMessage<Channel>, IEquatable<Channel>, IDeepCloneable<Channel>, IBufferMessage, IMessage
Reference documentation and code samples for the Live Stream v1 API class Channel.
Channel resource represents the processor that does a user-defined
"streaming" operation, which includes getting an input stream through an
input, transcoding it to multiple renditions, and publishing output live
streams in certain formats (for example, HLS or DASH) to the specified
location.
Output only. The
[InputAttachment.key][google.cloud.video.livestream.v1.InputAttachment.key]
that serves as the current input source. The first input in the
[input_attachments][google.cloud.video.livestream.v1.Channel.input_attachments]
is the initial input source.
public RepeatedField<Encryption> Encryptions { get; }
Encryption configurations for this channel. Each configuration has an ID
which is referred to by each MuxStream to indicate which configuration is
used for that output.
public RepeatedField<InputAttachment> InputAttachments { get; }
A list of input attachments that this channel uses.
One channel can have multiple inputs as the input sources. Only one
input can be selected as the input source at one time.
Output only. A description of the reason for the streaming error. This
property is always present when
[streaming_state][google.cloud.video.livestream.v1.Channel.streaming_state]
is
[STREAMING_ERROR][google.cloud.video.livestream.v1.Channel.StreamingState.STREAMING_ERROR].
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eChannel\u003c/code\u003e class in the Google Cloud Video Live Stream v1 API represents a live stream processing operation that handles input streams, transcoding, and publishing to formats like HLS or DASH.\u003c/p\u003e\n"],["\u003cp\u003eThis documentation provides information about the \u003ccode\u003eChannel\u003c/code\u003e class, including its properties such as \u003ccode\u003eActiveInput\u003c/code\u003e, \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eManifests\u003c/code\u003e, \u003ccode\u003eMuxStreams\u003c/code\u003e, and \u003ccode\u003eStreamingState\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eChannel\u003c/code\u003e class supports multiple input sources, but only one can be active at a time, and it uses configurations for encryption, logging, and retention of output files.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the \u003ccode\u003eChannel\u003c/code\u003e API is version 1.8.0, with prior versions including 1.7.0 down to 1.0.0 also being available.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eChannel\u003c/code\u003e implements multiple interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e for use in various functions.\u003c/p\u003e\n"]]],[],null,["# Live Stream v1 API - Class Channel (1.9.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.9.0 (latest)](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/latest/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.8.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.8.0/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.7.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.7.0/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.6.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.6.0/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.5.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.5.0/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.4.0/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.3.0/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.2.0/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.1.0/Google.Cloud.Video.LiveStream.V1.Channel)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/1.0.0/Google.Cloud.Video.LiveStream.V1.Channel) \n\n public sealed class Channel : IMessage\u003cChannel\u003e, IEquatable\u003cChannel\u003e, IDeepCloneable\u003cChannel\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Live Stream v1 API class Channel.\n\nChannel resource represents the processor that does a user-defined\n\"streaming\" operation, which includes getting an input stream through an\ninput, transcoding it to multiple renditions, and publishing output live\nstreams in certain formats (for example, HLS or DASH) to the specified\nlocation. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Channel \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Channel](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/latest/Google.Cloud.Video.LiveStream.V1.Channel), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Channel](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/latest/Google.Cloud.Video.LiveStream.V1.Channel), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Channel](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/latest/Google.Cloud.Video.LiveStream.V1.Channel), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Video.LiveStream.V1](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/latest/Google.Cloud.Video.LiveStream.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Video.LiveStream.V1.dll\n\nConstructors\n------------\n\n### Channel()\n\n public Channel()\n\n### Channel(Channel)\n\n public Channel(Channel other)\n\nProperties\n----------\n\n### ActiveInput\n\n public string ActiveInput { get; set; }\n\nOutput only. The\n\\[InputAttachment.key\\]\\[google.cloud.video.livestream.v1.InputAttachment.key\\]\nthat serves as the current input source. The first input in the\n\\[input_attachments\\]\\[google.cloud.video.livestream.v1.Channel.input_attachments\\]\nis the initial input source.\n\n### ChannelName\n\n public ChannelName ChannelName { get; set; }\n\n[ChannelName](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/latest/Google.Cloud.Video.LiveStream.V1.ChannelName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Video.LiveStream.V1/latest/Google.Cloud.Video.LiveStream.V1.Channel#Google_Cloud_Video_LiveStream_V1_Channel_Name) resource name property.\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The creation time.\n\n### ElementaryStreams\n\n public RepeatedField\u003cElementaryStream\u003e ElementaryStreams { get; }\n\nList of elementary streams.\n\n### Encryptions\n\n public RepeatedField\u003cEncryption\u003e Encryptions { get; }\n\nEncryption configurations for this channel. Each configuration has an ID\nwhich is referred to by each MuxStream to indicate which configuration is\nused for that output.\n\n### InputAttachments\n\n public RepeatedField\u003cInputAttachment\u003e InputAttachments { get; }\n\nA list of input attachments that this channel uses.\nOne channel can have multiple inputs as the input sources. Only one\ninput can be selected as the input source at one time.\n\n### InputConfig\n\n public InputConfig InputConfig { get; set; }\n\nThe configuration for input sources defined in\n\\[input_attachments\\]\\[google.cloud.video.livestream.v1.Channel.input_attachments\\].\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nUser-defined key/value metadata.\n\n### LogConfig\n\n public LogConfig LogConfig { get; set; }\n\nConfiguration of platform logs for this channel.\n\n### Manifests\n\n public RepeatedField\u003cManifest\u003e Manifests { get; }\n\nList of output manifests.\n\n### MuxStreams\n\n public RepeatedField\u003cMuxStream\u003e MuxStreams { get; }\n\nList of multiplexing settings for output streams.\n\n### Name\n\n public string Name { get; set; }\n\nThe resource name of the channel, in the form of:\n`projects/{project}/locations/{location}/channels/{channelId}`.\n\n### Output\n\n public Channel.Types.Output Output { get; set; }\n\nRequired. Information about the output (that is, the Cloud Storage bucket\nto store the generated live stream).\n\n### RetentionConfig\n\n public RetentionConfig RetentionConfig { get; set; }\n\nOptional. Configuration for retention of output files for this channel.\n\n### SpriteSheets\n\n public RepeatedField\u003cSpriteSheet\u003e SpriteSheets { get; }\n\nList of output sprite sheets.\n\n### StaticOverlays\n\n public RepeatedField\u003cStaticOverlay\u003e StaticOverlays { get; }\n\nOptional. List of static overlay images. Those images display over the\noutput content for the whole duration of the live stream.\n\n### StreamingError\n\n public Status StreamingError { get; set; }\n\nOutput only. A description of the reason for the streaming error. This\nproperty is always present when\n\\[streaming_state\\]\\[google.cloud.video.livestream.v1.Channel.streaming_state\\]\nis\n\\[STREAMING_ERROR\\]\\[google.cloud.video.livestream.v1.Channel.StreamingState.STREAMING_ERROR\\].\n\n### StreamingState\n\n public Channel.Types.StreamingState StreamingState { get; set; }\n\nOutput only. State of the streaming operation.\n\n### TimecodeConfig\n\n public TimecodeConfig TimecodeConfig { get; set; }\n\nConfiguration of timecode for this channel.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The update time."]]