Four points to pay attention to when developing live video streaming media mobile applications on iOS.

1 Non-extensible architecture

Real-time video streaming is a sensitive issue for these applications, where performance is key. For example, you want to minimize the delay between publisher and subscriber, less than 2 seconds if possible.

It is important in a solution to assign audiences to servers at different nodes and to select switches carefully to avoid server overload. Look for streaming services that offer scalable solutions and real-time support.

Based on the user role separation service, it can optimize bandwidth usage on different servers, save mobile device batteries, and reduce errors caused by overuse of the service.

2 There is not enough testing for edge cases

As developers, we often use emulators instead of real devices. However, we can easily reproduce gesture events on a real iOS device, which is very difficult to do in a simulator. If you never hit the home button by mistake and realize that you can still hear the application in the background, or worse, the application crashes, you are very lucky.

Here are some tests to consider when building a live video streaming mobile app on iOS:

  • If you use many dependencies, as we do, make sure they work together. Since videos rely heavily on AVFoundation, and they may use share managers to control audio, video bit rates, etc., it is likely that one video frame will influence another. For example, pay close attention to subscribed live streams and detect pauses when you start publishing video feeds from iOS devices.
  • When you start to overload your application, track the performance using the instrument tool that comes with Xcode on your device. Make sure CPU usage is not too high and memory does not time out.
  • Use the application and go to the background. You’d be surprised by the amount of unexpected behavior you can expect during development testing!
  • Use iTunes, Spotify and other audio, and test your app with other apps.
  • Make sure the server receives your video stream when you publish content from an iOS application. It comes in two ways!

By performing these tests, you can detect early on whether the framework is a good fit for your needs, and you can switch as needed early in the iOS development process. You’ll have more time to optimize your mobile applications and improve performance. Good performance means customer satisfaction

Forget good/average and bad network conditions

Most frameworks handle different network conditions, if necessary to reduce the bit rate. But what about your app? What should your application do if a stream is dropped during play? What if the live show starts again? These are the questions to consider when developing these real-time streaming mobile apps on iOS.

When writing iOS apps, we tend to forget that the average user is using his phone everywhere, from comfortable Wi-Fi to the subway. Feel free to overuse the Reachability framework to detect network changes and adjust your UI accordingly.

4 Do not know new version/new device

October is usually a key month for every iOS developer. Why is that? Because usually after all the announcements at WWDC, new versions of iOS, and sometimes new devices. When we started developing our development a few months ago, we didn’t test enough UI on the iPhone X device, and we had to switch from Swift 3 to Swift 4. Communicate properly with the product owner, raise appropriate concerns and be prepared for change!

These tips come from our personal experience and hopefully will help you if you need an open live video streaming mobile application on iOS. There are many different factors to consider, some of which are not addressed, but don’t forget that you are developing a fun application!

WEB:www.liveqing.com