Making a FaceTime like app?

3k Views Asked by At

I'm making an app witch allows you to make a video call from one device to another. I've done a bunch of searching around and I haven't been able to find something that tells me how to get the video and audio from the iPhone camera and send that live stream to a web server to connect to another device. I have finished every other element of the app so this is all I need to finish.

2

There are 2 best solutions below

2
On

It's complicated, likely more than you imagined.

You may need to license and encode H.264 and AAC.

You'll need to understand RTP and SRTP.

You may need your own servers for SIP, STUN, TURN, and ICE.

i'm not happy with this answer but I don't want you to underestimate the magnitude of your project - it is not trivial.

2
On

This is very complicated! I assume you don't really want to code the whole thing because that would take you forever.

I'll try to brief what you need to have to make that happen: 1. Client code - You must implement an iPhone client, Client would have to connect to some SIP server, initiate calls, rings (through push) and so on... 2. SIP server - This could be really simple (if you buy this service, Usually you pay per time or for number of calls your system could support in parallel) or really complex if you want to build this service yourself (there are companies that sells those products/services and do just that).

Where to start? If you are willing to use open-source (if your client-side could be also that's the simplest way), Or just understand the scale of what you are trying to do I suggest you try linphone(https://www.linphone.org). They have open-source SIP Client for iPhone (and almost for every platform) you can use for free (if you are willing to open-source yours, Check the license there). You could also buy the code so you can keep your code secret but that is very expensive!

For server side there are a lot of services you can use, Also linphone has their own Server you can use for test free. So you can try and use before you go to a big server.

In case you don't want to implement the technology and want to start building your app with your wonderful idea, I suggest you use 3rd party that gives you everything including a simple iOS SDK, So you can integrate in minutes. Check those out: Rebtel, Twilio etc. I don't know if they have video yet but I'm sure if not they would have soon. Btw, Rebtel is totally free so there is no reason not to start with it (to be honest I never used Rebtel and don't know if it's great or not).

In my opinion if you are just starting and you don't have a big team with experience with this it would probably be a good thing to start with the last option (3rd party full service) and start building your idea because otherwise you would spent your time too much with a very complex technology.

Hope this helps.