This example shows how to easily detect upload bandwidth with Red5 Pro prior to publishing a stream.
Checking the upload bandwidth prior to publishing a stream is relatively simple, requiring only a few pieces of setup.
- One must instantiate an
R5BandwidthDetection
instance - One must then utilize the
checkUploadSpeed
method of that instance - Doing so requires passing in:
- The base url (usually the same as the
host
you would provide to yourR5Configuration
) - How long you wish the total bandwidth test to take, in seconds
- Callback blocks for the successful and unsuccessful attempts at checking the bandwidth
- The base url (usually the same as the
A simplified example of this would be:
let detection = R5BandwidthDetection()
detection.checkUploadSpeed("your-host", forSeconds: 2.5, withSuccess: { (Kbps) in
print("Upload speed is \(Kbps)Kbps\n")
}) { (error) in
print("There was an error checking your download speed! \(error?.localizedDescription ?? "Unknown error")")
}
The rest of this example is based on PublishTest.swift and ensures that a minimum bandwidth (as defined by the tests.plist
file) is met prior to publishing to the stream.