Creating a Mobile Live-Streaming App
How Do I Get Started?
You’ve decided you need mobile live-streaming capabilities to allow your users with iOS and Android devices to capture and send a live video stream from anywhere with a mobile connection. How do you get started? This guide presents options, best practices, and examples for creating a mobile live video streaming app of your own or integrating live-streaming capabilities into your existing mobile app.
Mobile Broadcasting Goes Mainstream
Worldwide, the dominance of mobile devices continues to drive technology’s evolution. Mobile broadcasting is exploding, and it’s not just for social media. Mass-market apps such as Periscope have received major attention, but the uses beyond that are wide-ranging, from niche apps such as G9 Live that are targeted to specific professions to streaming of live sporting events, insurance-claim damage reporting, aerial reconnaissance via drones, crime-fighting citizen journalism, and much more. Clearly, live streaming from mobile devices has moved from the new and different to the mainstream and bridged the gap between business and pleasure. If organizations want to capitalize on this movement, they need to act quickly and utilize proven technology to fully leverage mobile live video streaming.
Your End-to-End Mobile Streaming Options
A successful mobile live-streaming app requires a reliable end-to-end streaming workflow, from video and audio capture to encoding, transcoding, packaging, delivery, and playback. The right approach for you depends heavily on what pieces you already have,
Mobile Live-Streaming Workflow Options & Descriptions
Use your existing camera(s) and encoder
You already have one or more video cameras and a hardware or software encoder for compressing the outgoing video and audio.
Use a third-party mobile encoding app
You already have a mobile encoding app and now you need to deliver streams to viewers.
You plan to use the available Wowza GoCoder app as is to meet your live-streaming requirements, white-label it, or leverage the available SDK to add the ability for users to send a live stream from your existing mobile app.
The options in the table here map to the three streaming workflows shown in the graphic above. Choose the one that best matches the scenario you plan to enable.
In the following sections we’ll explore how to get up and running with your chosen option for mobile live streaming. (Each of these assumes someone is actively managing the delivery of streams to viewers and is responding to requests to stream live incoming content from a remote [mobile] encoder.)
Option 1: Use Your Existing Camera(s) and Encoder
If you’ve already been streaming with one or more cameras and a software or hardware encoder (or an IP camera with built-in encoder) and are now trying to reach viewers on their mobile devices, take the following steps to complete your workflow.
- Determine which streaming formats your encoder can deliver. The H.264 video and AAC audio codecs and the RTMP and RTSP streaming protocols are common for compression and delivery.
- Decide whether to use Wowza Streaming Engine™ media server software or the Wowza Streaming Cloud™ online service for delivery of streams.
- Determine which media players and devices you will be targeting as you get started. (Common ones include JW Player, Flowplayer, Shaka Player, THEOplayer, and Radiant Media Player.)
- We often recommend JW Player as a great any-screen option, including both in-browser playback support and mobile SDKs for iOS and Android devices.
- Many other player technologies are available, including open source options such as the Google Shaka Player for MPEG-DASH streaming.
- On Wowza Streaming Cloud, you also have the option to use the provided any-screen player, either on a free hosted web page that Wowza™ provides and you brand, or on your own web page.
Best PracticeYou can test multiple players and streaming formats directly on the Wowza Test Players page to ensure everything works as planned before you take your app live.
- When you’re ready to send a stream from the existing encoder, log into your Wowza server or cloud account, then follow the five-step setup wizard in Wowza Streaming Cloud or this tutorial for Wowza Streaming Engine, publish your live stream, set up playback to your web page or desired player, and share a link to your stream with your audience via social media, your website, email, etc.
Option 2: Use a Third-Party Mobile Live-Streaming App
Numerous third-party mobile apps for iOS and Android can encode and send live streams to Wowza Streaming Engine and Wowza Streaming Cloud for any-screen distribution. If you’ve found or built an app you like, follow these steps to share your live streams with viewers.
- Determine which streaming formats your mobile live-streaming app can deliver. The H.264 video and AAC audio codecs and the RTMP and RTSP streaming protocols are common for compression and delivery.
- Note that some mobile live-streaming apps don’t have support for source authentication—if yours does not…
- Determine the risk of an unauthorized person sending an unapproved stream for delivery.
- Determine how risk-averse you are and, if the risk seems sufficiently high, consider switching to a mobile app that supports RTSP or RTMP authentication.
- Decide whether to use Wowza Streaming Engine media server software or the Wowza Streaming Cloud online service to deliver your streams. If you’ll be using a CDN (content delivery network), edge servers, or services such as YouTube Live to scale out your streaming, assign the appropriate stream targets.
- Determine which media players and devices you will be targeting as you get started. (See the Best Practice note from Option #1.)
- Provide mobile users with links to download the mobile live-streaming app you’re using.
- When a mobile user contacts you with a real-time request to broadcast a stream from his or her location, log into your Wowza server or cloud account, then follow the five-step setup wizard in Wowza Streaming Cloud or this tutorial for Wowza Streaming Engine, publish your live stream, set up playback to your web page or desired player, and share a link to your stream with your audience via social media, your website, email, etc.
Option 3: Use the Wowza GoCoder Mobile Capture and Encoding App or SDK
Wowza GoCoder gives you three ways to offer your users an elegant mobile live-streaming app.
- Wowza GoCoder:
An app available for free on the Apple App Store and Google Play Store
- Wowza GoCoder Private Label:
An offering that allows you to work with Wowza to design a version of Wowza GoCoder with your own branding and configuration settings
- Wowza GoCoder SDK:
A software development kit that simplifies mobile app development for iOS and Android
Use the Wowza GoCoder mobile app on Apple iOS and Android devices to encode and stream live events in HD on the go, from any location to any screen, in real time over Wi-Fi, 4G, or 3G. Users can also control Wowza GoCoder from their Apple Watch or Android Wear devices paired with iOS and Android devices
- Decide whether to use Wowza Streaming Engine media server software or the Wowza Streaming Cloud online service for delivery of streams.
- Determine which media players and devices you will be targeting as you get started. (See the Best Practice note under Option 1 earlier.)
- Provide mobile users with links to download Wowza GoCoder from the Apple App Store and the Google Play Store.
- When a mobile user contacts you with a real-time request to broadcast a stream from his or her location, log into your Wowza server or cloud account, then follow the five-step setup wizard in Wowza Streaming Cloud or this tutorial for Wowza Streaming Engine (selecting Wowza GoCoder as your video source), publish your live stream, set up playback to your web page or desired player, and share a link to your stream via social media, your website, email, etc.
Wowza GoCoder Private Label allows you to white-label the Wowza GoCoder app, giving it your own branding and configuration settings. You can then deploy this custom-branded version directly to the Apple App Store or the Google Play Store for your users to download and use on their own smartphones and tablets. Contact Wowza for more details on this program. The Wowza GoCoder app is free to use, and the Wowza GoCoder Private Label offering is priced separately.
The new Wowza GoCoder SDK simplifies mobile app development for iOS and Android by offering a common, cross-platform API to capture, encode, and stream live video and audio with broad support for the ever-growing spectrum of connected, handheld devices. If you need a live-streaming app with a different feature set or a higher level of customization than Wowza GoCoder or Wowza GoCoder Private Label alone provide, consider the SDK for Wowza GoCoder. This is the same SDK that the Wowza GoCoder app itself is built on.
The GoCoder SDK provides the ultimate flexibility for easy creation and seamless integration of live video streaming functionality for a truly customized and branded app experience. Direct integration with Wowza Streaming Engine software and the Wowza Streaming Cloud online service provides a true end-to-end mobile broadcasting solution that enables organizations to benefit from significantly faster speed to market, lower development costs, proven technology, and unlimited scalability.
What You Can Control with the SDK
- Live capture, encoding, and streaming on a wide range of iOS and Android devices through a single API designed to encapsulate platform and device complexity with a consistent, smallfootprint API signature
- Connections to Wowza Streaming Engine and Wowza Streaming Cloud through a single configuration interface for streaming and authentication settings
- Detailed video and audio encoder settings, including support for video resolution up to 4K Ultra HD
- Camera focus, exposure, and the flashlight/torch features across hardware platforms
- Network bitrate for improved quality of service
For more detailed instructions for Wowza GoCoder–based mobile app workflows, check out the mobile streaming app tech guide by Wowza Media Systems.
Ensemble Video's EnsembleLive app for iOS and Android, built with the Wowza GoCoder Private Label offering, enables business and education customers to easily record content directly to an Ensemble Video media library while live-streaming video and audio in real time directly from a smartphone or tablet.
G9MD designed a streaming platform specifically for healthcare providers, and integrated a Wowza GoCoder Private Label–based app to power HD streaming of surgeries and more. This approach allowed for speedy deployment of an easy-to-use mobile streaming app. Now G9MD is working with the Wowza GoCoder SDK to gain even greater flexibility from a fully custom app that meets their robust roadmap.
“The GoCoder Private Label offering gives us the flexibility and customizations we need to simplify mobile streaming and recording workflows. Wowza Media Systems continues to provide innovative streaming technologies that we can leverage to enhance content creation and viewing, and stay ahead of the curve.”
“By using Wowza GoCoder mobile encoding capabilities coupled with G9MD’s social business ecosystem and G9MD.TV live video streaming and broadcasting platform for healthcare, we are enabling physicians worldwide to share knowledge and advance surgical techniques through mobile live video streaming.”
Processing and Delivery Options
No matter how you capture your live event, your goal is probably to enable playback on as many endpoints as you can reach, including computers, smart TVs, game consoles, set-top boxes, and mobile devices. With Wowza technologies, you have two primary content-processing and -delivery alternatives for reaching screens anywhere.
Wowza Streaming Engine software can be installed on most operating systems, either on premises or on a cloud service such as Amazon Web Services, Microsoft Azure, or Google Cloud Platform. You have full control over the software via the built-in admin console (Wowza Streaming Engine Manager), the command line, a Java API, and a REST API.
Wowza Streaming Cloud is a managed online service where Wowza does the heavy lifting, and includes best-practice transcoding; stream delivery; and a free, nonbranded, plays-anywhere player that Wowza can host or you can embed. A REST API is also available to enable deep customization. Using the Wowza Streaming Cloud service allows you to focus less on running servers and more on building great customer experiences in a short time.
You have a wide array of options in the pursuit of a mobile live-streaming app that works the way you need it to for your business. Don’t wait any longer to create your own mobile live broadcasting app or integrate live streaming into your existing app. Wowza is here and ready to help.