I'm new to voice and audio over a network.
I've been searching on google for samples and solutions to implement a p2p voice connection (the idea was an audio conference).
I found google talk xmpp framework that can access informations like users and text chatting.
Does anyone have any idea for this framework if is used to implement a voice chat or some things like conferencing?
You can try hoiio (it works for whole country)
The other options were tropo, pilvo and twilio (it doesn't work for some country).
Related
I'm making a desktop app using electron and want to build a voice chat inside the app, i understand that WebRTC is the principal solution for this, in my research i read about Assignaling, Stun and Turn server's. But my realy question is, if i have a client using Electron, can i made the app send streaming voice from microphone to a Server(Elixir, python or Node) and the server just broadcast for everyone in the room ? or a just need the signaling, Stun and Turn ?
If someone have a tip in material where i can learn about the solution i realy grateful.
Thank's.
For this, you can use webRTC just as you would in the Browser. I tryed to develop a voice chat using peerJS and socket.io, but It seems like if there is a problem with electron that prevents voice connections outside of your network. For one-to-many-broadcasting you can use mediaSoup, for example. More information can be found here.
If you manage to get webRTC media streams working somehow, I'd be happy if you let me know
I am very new to Real Time Protocols and I had some questions about how WebRTC works and how I can implement it. I am trying to create a one to many livestream like facebook or periscope, where one user broadcasts and other users join and stream the video. I am using Swift from my client end.
My questions are:
How do I broadcast a video using WebRTC
Is there an SDK for WebRTC in Swift/iOS
I know the questions are very vague but a guidance to the right direction would be great because I am not sure where to start
You will need to use backend servers for that.
If you plan on broadcasting to multiple users directly from your mobile app then stop...
You need to connect your mobile app to a backend media server which then can be used to broadcast the video to a larger audience.
There are several commercial and open source alternatives that enable you to do that. I'd check Red5Pro, Wowza, SwitchRTC, Jitsi, Janus and Kurento for this task.
For the client side, look at react-native-webrtc
You can find more tools for WebRTC developers here.
Regarding your question (2), there's also a SDK for iOS here and a neat get-started-page here (although 2.5ys old, but I haven't found anything better so far yet)
I want to use twilio for Remote assistance.
Where user can share camera feed and Technician can assist by drawing annotations on the screen.
similar to the demo video on https://www.twilio.com/video
I was able to get the Video Chat running on my iOS devices.
Can you please guide me how to make annotations on one device which will be shown on the other device.
Twilio Video does not provide support for annotating videos as part of the SDK. There is also no current support for using the WebRTC data channel to send that across. You need to provide your own websocket solution for this I'm afraid.
Edit
Twilio Video does support the data channel now, under the Data Tracks API. You can see the documentation here: https://www.twilio.com/docs/video/javascript-v1-using-the-datatrack-api.
You might also consider using Twilio Sync for something like this too.
I have a requirement for an IOS app where a user will start the app, records an audio speech (via device microphone) which would be broadcast to other user on the same network, all this has to be live over wireless connection(WIFI).
I did some research for possible solutions and also tried audio streaming via HTTP URL, but it was not feasible and also involves internet.
I'm looking for your opinions and if it's doable then what is the right approach, (what libraries and API's should I look for)
I'm novice to iOS development, i would really appreciate if you could explain in detail.
Thanks in advance.
Yes, it is doable. You will need two major components: A network API to send/receive data , and audio capture and playback API.
For network library, you can try CocoaAsyncSocket. It is quite simple to use.
You can use UDP protocol with multicast address. Even thought you said you wanted to broadcast, but you would be better off using multicast ( send to a group of devices).
For Audio sample how to capture and playback, check out my answer on this .
I want to build an iOS app that streams audio and some additional custom data between two users real-time. This is possible using GameKit if people are on the same network, but I haven't been able to find an SDK that can do this across the world.
Does anyone know if there is an existing service that does this?
If not, what services do you recommend for doing these two things (streaming audio and streaming data) separately?
Thanks.
WebRTC (www.webrtc.org/) has support for iOS (for audio streams, video promised later). But anyway in order to support communication for peers behind NATs - you will need your own sans, stun servers...
After looking into it, it seems that QuickBlox is able to do everything I need.