Android Live video steaming from one device to another

504 views Asked by At

I am building an android application which will stream video calling from one device to another android device for that i am using wowza video streaming API(Media engine) With that i am able to steam video from android app to web but is it possible denter image description hereevice to device video steaming?

1

There are 1 answers

0
Sreehari On

If you are planning to develop all the infrastructure , then these are the points to be evaluated and concluded.

What Technology is used

WebRTC is the technology used to support video calling. WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via APIs. Check out WebRTC Details here It was introduced by Google in 2010. This allows real time communication between two browsers / mobiles.

Concepts involved

1. Data streams and Hardware

WebRTC helps into setting up/identifying hardware’s and identifying network with STUN server ( What is STUN server ) along with hardware ( microphone/camera and speakers) . For mobiles this comes as inbuilt hardwares

2. Audio Video CODECS

Google has made audio/video required for these features as open source. Generally Audio G711 for phones (still varies in specific cases) . And for Video VP8 and VP9

3. Peer Discovery

For making a call , generally either address is required. Now in internet most IP’s are dynamic. To solve this , server needs to keep track of who is online. This can be done using XMPP, SIP or some custom protocols. So for anyone to receive a call, the caller should check with server or the other way around

4. STUN Server

Once signalling (peer discovery) is done, then STUN server is required. This server will faciliate to determine external IP address as well as info whether two or more devices can talk to each other or not

5. TURN Server

If a peer-to-peer session is not possible , then a TURN server is required. The TURN server will basically shift the bits for you through open holes in the firewall between the two clients. This happens due to asymmetric firewalls and the possibility to punch holes on different ports in firewalls

Or else you can use providers like SINCH who already handles and configures the basic requirement and you only need to concentrate on mobile front end.

Check out SINCH ANDROID SAMPLE as well