Agora.io Live Streaming for Android

Mar 22 2019Written by Manektech Team

Live streaming is the method of broadcasting real-time, live video to an audience over the internet. In live streaming, recording and broadcasting works simultaneously. For live streaming, you need an internet enabled device, like a smartphone or tablet, and a platform to broadcast on.

Agora Interactive Live Streaming enables the real-time interactions among hosts and advanced audiences with low delay, fully reproducing the scene.

For live-streaming app for Android, go to the Agora.io developer site. Following steps to Build SDK.

Create a developer account at www.agora.io.
Developer dashboard
After signing in, you’ll land in the developer dashboard?—?this is where you’ll access all the developer resources.
Navigate to the “Projects”tab in the top-left, a default project has been created.
You will see the App ID?—?which serves as your API key to use Agora’s services.
You can rename or get new App IDs by adding new projects.
Click on the “Download” tab to navigate to the downloads page.
Click on the “Download” tab to navigate to the downloads page.
You will find all of Agora’s APIs, including Interactive Live Broadcasting APIs, Video-Call APIs, Voice-Call APIs, Gaming Voice APIs and add-on modules.
Download the APIs of your choice.

There are two Android packages of Agora Native SDK used to make live streaming:
Voice package with required libraries
Full Package(including both Voice and Video) with required libraries

Prepare environment for live streaming:

1. Following development environment requirements are satisfied:
Android SDK API Level> = 16
Android Studio 2.0 or later
Android real devices with audio and video functionality
Apps require Android 4.1 and above devices
Prepare an App ID according to Obtaining an App ID

2. Required libraries
agora-rtc-sdk.jar (mandatory)
armeabi-v7a/
x86/
arm64-v8a

Basic Live Broadcast

Agora Native SDK supports both Communication and Live Broadcast functions which is set when calling setChannelProfile before joining a channel. This document describes the detailed functions when the Agora Native SDK is used for Live Broadcast.

Channel Setup

Agora Native SDK allows you to join and leave the shared Agora channels for live broadcast, identified by unique channel names, Your application code should create and manage unique channel names.

Media Control

Agora Native SDK allows to enable and disable voice and video and set various voice and video parameters that help the Agora Native SDK optimize communications.

Device Control

Agora Native SDK allows you to access the microphone or speakerphone, set the volume, select from alternative cameras, and set the video window display.

Host in and Push Streams

Agora Native SDK supports the following basic functions when it comes to host in:
It supports up to 7 video hosts interacting with each other in the same Agora Channel in real time;
No limitation on the number of audiences who can watch the Live Broadcast;
The host can switch to audience anytime during the Live Broadcast, and vice versa;

Scenarios for Host In and Push Stream :

? Client Host in + Server Push Stream: It pushes stream to CDN(Content Delivery Network) at the Agora Cloud side. Supports below two modes:

The Agora SDK captures both video and audio data.
The Agora SDK captures the audio data, while the users capture the video data by themselves.

? Client Host in + Client Push Stream: It pushes stream to CDN using a third-party SDK integrated in the client application. Supports following modes:
The Agora SDK captures both video and audio data.
The Agora SDK captures the audio data, while the users capture the video data by themselves;
The users capture both the video and audio data by themselves;

? Other Scenario: It provides customized solution for customers.

Function and Api names :

There are list of Api names, used to implement the basic communication or live broadcast function:

Select the channel mode - setChannelProfile
Start the video - enableVideo
Set the local and remote video view - Local: setupLocalVideo and Remote: setupRemoteVideo
Set the video profiles - setVideoProfile
Set the user role - setClientRole
Set the stream mode - enableDualStreamMode
Set the stream type to be received - setRemoteVideoStreamType
Start the live broadcast - joinChannel
Exit the live broadcast - leaveChannel

Contact us

Here to Help ambitious people TRANSFORM the Digital Solutions!