Android Live Broadcast API

The Android Live Broadcast API has just made it to our github repository!

It allows you to enable live streaming directly inside your mobile app using the BroadcastView.

It uses the kickflip android sdk (kudos to them) and a custom RTMP stack to stream AAC/H264 audio/video to Dailymotion's servers. The RTMP stack monitors the available network bandwidth in real time to adjust the encoding bitrate to what is available. It comes bundled with the rest of the SDK, so that you can easily interact with our REST API.

We're excited to see what can be done with this. The SDK is available right now. Send us feedback and pointers on your apps!

BroadcastView

BroadcastView is a drop-in view that you can use in your app to display the preview of what is being streamed. Put it in your XML layout file or instantiate it programmatically:

mBroadcastView = new BroadcastView(this);
mBroadcastView.setListener(mViewListener);
mBroadcastView.startPublishing(video.live_publish_url);

You will need the following permissions:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>

Once startPublishing() is called, the video will be sent to our servers.

Sample App

The SDK sample app has a section about live broadcast so you can test it easily. You will need to edit the sampleapp/sampleapp.properties file:

apiKey="YOUR_API_KEY"
apiSecret="YOUR_API_SECRET"
defaultLogin=""
defaultPassword=""

Launch the app and start streaming, you can see your stream at dailymotion.com/video/videoId. Please note it may take around 30 seconds for the stream to be available.

RTMP

There are a couple of RTMP client libraries in Java, but most of them focus on receiving streams, not sending them. So we made our own. It can be found at src/main/java/com/dailymotion/sdk/broadcast/

Learn more