Implement voice and video call communication on android?

Asked

Viewed 918 times

0

I wanted to know what to start studying to implement features like video call and voice call on android. What libraries to study and stuff. Give me a north. :)

  • Voip protocol.

  • https://tools.ietf.org/html/rfc6405

1 answer

1


Just to clarify the comment of @mauhumor, VOIP is not a protocol, VOIP is an IP technology that defines the transmission capacity of VOICE over IP, we usually use as data transport the protocol UDP, this protocol is unreliable, ie it does not have any control mechanism and retransmission of data, this means that if a given package gets lost it will not be retransmitted and really it is the best choice, when we talk about real-time transmissions and that some data losses do not affect communication so much it is the obvious choice as it will not add latency during a transmission trying to relay packets as is done in the protocol TCP.

Well now that you know which protocol to use for stream communication, there are some protocols for signaling voice calls, this signaling is nothing more than a conversation between the point A and the point B defining when a link was received from the point A to make the point B touch, if the point A and B are still on an active call, if one of the points has hung up to be able to close the sockets, etc, etc, etc... The most current and most widely used signaling protocol today is the SIP but you can also find the H323 and the IAX or is just control signaling on the course of the call. The transport of the media itself will be done in another protocol that will be responsible for the transmission of the media (voice or video), nowadays it is very common the protocol RTP - (Real-time Transport Protocol).

This explanation above defines an excellent architecture for voice or video streaming, and this is surely implemented in large-scale broadcasts (Whats, skype, etc.). Now if you just want to learn the basics, make for fun a voice over IP transmission from your computer or Smartphone to someone else, you can open your microphone, capture the voice, send the VOICE packets inside a UDP socket, on the other side your other application will receive the Udps packets and play the received audio to be able to listen, ready you are doing a real-time audio transmission over IP.

This is the basics of the basics, if you want to get to the bottom of this you have to eat with flour, sockets, DSP, data compression (decrease data sent to save bandwidth), IP architecture.

As you must be realizing the subject is too broad to enter all the fields mentioned above, I hope it at least helps you understand and know which way to go.

PS: I do not know any library ready to do this on android, if you think coldly it takes some server or some method that gathers and updates the information of the clients ips, of course you need to know in which IP the client Y is to be able to call it.

  • That’s exactly what I wanted, thank you very much.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.