IVSLocalStageStreamVideoConfiguration

Objective-C


@interface IVSLocalStageStreamVideoConfiguration : NSObject

Swift

class IVSLocalStageStreamVideoConfiguration : NSObject

A configuration object describing the desired format of the published video track associated the IVSStageStream.

  • The maximum bitrate for the publishing video stream. By default this is 900,000.

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger maxBitrate;

    Swift

    var maxBitrate: Int { get }
  • Sets the maximum bitrate for the publishing video stream. This value must be between 100k and 2,500k If the provided bitrate falls outside this range, bitrate will not be set and the provided outError will be set.

    Declaration

    Objective-C

    - (BOOL)setMaxBitrate:(NSInteger)maxBitrate
                    error:(NSError *_Nullable *_Nullable)outError;

    Swift

    func setMaxBitrate(_ maxBitrate: Int) throws

    Parameters

    maxBitrate

    the maximum bitrate for the publishing video stream

    outError

    On input, a pointer to an error object. If an error occurs, the pointer is an NSError object that describes the error. If you don’t want error information, pass in nil.

    Return Value

    if the set operation is successful or not.

  • The minimum bitrate for the output video stream. By default this is 100,000.

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger minBitrate;

    Swift

    var minBitrate: Int { get }
  • Sets the minimum bitrate for the publishing video stream. This value must be between 100k and 2,500k If the provided bitrate falls outside this range, bitrate will not be set and the provided outError will be set. This is ignored when simulcast is enabled.

    Declaration

    Objective-C

    - (BOOL)setMinBitrate:(NSInteger)minBitrate
                    error:(NSError *_Nullable *_Nullable)outError;

    Swift

    func setMinBitrate(_ minBitrate: Int) throws

    Parameters

    minBitrate

    the minimum bitrate for the publishing video stream

    outError

    On input, a pointer to an error object. If an error occurs, the pointer is an NSError object that describes the error. If you don’t want error information, pass in nil.

    Return Value

    if the set operation is successful or not.

  • The resolution of the output video stream. By default this is 360x640.

    Declaration

    Objective-C

    @property (nonatomic, readonly) CGSize size;

    Swift

    var size: CGSize { get }
  • Sets the resolution of the publishing video stream. The width and height must both be between 160 and 1280, and the maximum total number of pixels is 921,600. So the smallest size you can provide is 160x160, and the largest is either 720x1280 or 1280x720. If the provided resolution does not meet this criteria, the resolution will not be set and the provided outError will be set.

    Declaration

    Objective-C

    - (BOOL)setSize:(CGSize)size error:(NSError *_Nullable *_Nullable)outError;

    Swift

    func setSize(_ size: CGSize) throws

    Parameters

    size

    The resolution of the publishing video stream

    outError

    On input, a pointer to an error object. If an error occurs, the pointer is an NSError object that describes the error. If you don’t want error information, pass in nil.

    Return Value

    if the set operation is successful or not.

  • The target framerate of the publishing video stream. By default this is 15.

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger targetFramerate;

    Swift

    var targetFramerate: Int { get }
  • Sets the target framerate of the publishing video stream. This must be between 10 and 30 If the provided framerate falls outside this range, the framerate will not be set and the provided outError will be set.

    Declaration

    Objective-C

    - (BOOL)setTargetFramerate:(NSInteger)targetFramerate
                         error:(NSError *_Nullable *_Nullable)outError;

    Swift

    func setTargetFramerate(_ targetFramerate: Int) throws

    Parameters

    targetFramerate

    The target framerate for the publishing video stream

    outError

    On input, a pointer to an error object. If an error occurs, the pointer is an NSError object that describes the error. If you don’t want error information, pass in nil.

    Return Value

    if the set operation is successful or not.

  • When encoding video, and some constraint (bandwidth, CPU) prevents encoding at the configured framerate and resolution, the encoder must make a choice on how to modify the encoding parameters. This value is used to indicate that choice. This is ignored when simulcast is enabled.

    Declaration

    Objective-C

    @property (nonatomic) IVSLocalStageStreamVideoConfigurationDegradationPreference degradationPreference;

    Swift

    var degradationPreference: IVSLocalStageStreamVideoConfiguration.DegradationPreference { get set }
  • This describes the simulcast configuration for the video stream.

    Declaration

    Objective-C

    @property (nonatomic, strong) IVSSimulcastConfiguration *_Nonnull simulcast;

    Swift

    var simulcast: IVSSimulcastConfiguration { get set }