I am currently trying to livestream using the iOS GoCoder SDK with my network link conditioner turned on to 3g, with an output bandwidth of 330kbps.
I start the live stream with the presets for 1280x720, and within a few seconds I get the event that the bandwidth has been decreased. My bandwidth scale multiplier is low, 0.3, and it drops down to the bandwidth to 1125kbps.
After that, I get the low bandwidth event, followed by the encoding paused event, and then nothing else.
How come the bandwidth does not continue to drop after the encoder has been paused? Should I be manually setting the bandwidth myself based off of the currentBroadcastingNetworkBitrateThroughput?Or should I be trying to load a lower preset when I know my connection is bad?
Are there optimal settings that should be set for the configuration? Here is what I have now
WowzaGoCoder.setLogLevel(.verbose)
streamerConfig = WowzaConfig()
streamerConfig.broadcastVideoOrientation = lockedOrientation.videoOrientation
streamerConfig.load(WOWZFrameSizePreset.preset1280x720)
streamerConfig.videoFrameBufferSizeMultiplier = 0
streamerConfig.videoFrameRateLowBandwidthSkipCount = 15
streamerConfig.videoBitrateLowBandwidthScalingFactor = 0.30
streamerConfig.videoFrameRate = 30
streamerConfig.videoKeyFrameInterval = 60
streamerConfig.audioSampleRate = 44100
Here are some logs from the WOWZCallback:
~ on wowz status: Optional(Status is starting )
~ on wowz status: Optional(Status is running )
~ wowza bitrate decreased:
~ previous bitrate: 3750000 -- new bitrate: 1125000
~ wowza bitrate decreased:
~ previous bitrate: 3750000 -- new bitrate: 1125000
~ wowza has low bandwidth
~ wowza encoding is paused