Class RTCRtpEncodingParameters
Represents the parameters for a codec used to encode the track's media.
Namespace: Unity.WebRTC
Assembly: Unity.WebRTC.dll
Syntax
public class RTCRtpEncodingParameters
Remarks
Represents the configuration for encoding a media track's codec, detailing properties like active state, bitrate, framerate, RTP stream ID, and video scaling, enabling precise control of media transmission.
Examples
[SerializeField]
Camera cam;
void Call()
{
MediaStream videoStream = cam.CaptureStream(WebRTCSettings.StreamSize.x, WebRTCSettings.StreamSize.y);
RTCRtpTransceiverInit init = new RTCRtpTransceiverInit()
{
direction = RTCRtpTransceiverDirection.SendOnly,
sendEncodings = new RTCRtpEncodingParameters[] {
new RTCRtpEncodingParameters { maxFramerate = 30 }
},
};
MediaStreamTrack videoTrack = videoStream.GetTracks().First();
RTCRtpTransceiver transceiver = peerConnection.AddTransceiver(videoTrack, init);
}
Constructors
RTCRtpEncodingParameters()
Creates a new RTCRtpEncodingParameters object.
Declaration
public RTCRtpEncodingParameters()
Remarks
A constructor creates an instance of RTCRtpEncodingParameters
.
Examples
RTCRtpEncodingParameters parameters = new RTCRtpEncodingParameters();
Fields
active
Indicates whether the encoding is sent.
Declaration
public bool active
Field Value
Type | Description |
---|---|
bool |
Remarks
By default, the value is true
. Setting it to false
stops the transmission but does not cause the SSRC to be removed.
maxBitrate
Specifies the maximum number of bits per second allocated for encoding tracks.
Declaration
public ulong? maxBitrate
Field Value
Type | Description |
---|---|
ulong? |
Remarks
maxBitrate
defines the maximum encoding bitrate using TIAS bandwidth, not including protocol overhead.
Factors like maxFramerate
and network capacity can further limit this rate.
Video tracks may drop frames, and audio tracks might pause if bitrates are too low, balancing quality and efficiency.
maxFramerate
Specifies the maximum number of frames per second allocated for encoding tracks.
Declaration
public uint? maxFramerate
Field Value
Type | Description |
---|---|
uint? |
minBitrate
Specifies the minimum number of bits per second allocated for encoding tracks.
Declaration
public ulong? minBitrate
Field Value
Type | Description |
---|---|
ulong? |
rid
Specifies an RTP stream ID (RID) for the RID header extension.
Declaration
public string rid
Field Value
Type | Description |
---|---|
string |
Remarks
The value can be set only during transceiver creation and not modifiable with RTCRtpSender.SetParameters
.
scaleResolutionDownBy
Specifies a scaling factor for reducing the resolution of video tracks during encoding.
Declaration
public double? scaleResolutionDownBy
Field Value
Type | Description |
---|---|
double? |
Remarks
scaleResolutionDownBy
property scales down video resolutions for encoding.
With the default value 1.0 preserves the original size.
Values above 1.0 reduce dimensions, helping optimize bandwidth and processing needs.
Values below 1.0 are invalid.