Im find https://github.com/cloudwebrtc/flutter-webrtc for use webrtc in flutter. But in repository, the sample is only peer to peer with 2 devices. I have build app for my customer for video call with many people. It's possible use this package for build video conference (2+) in flutter?
Yes, you should be able to establish a video call with many people using WebRTC and this package.
One approach would be to create a new RTCPeerConnection for every new peer in your room.
Check out this example, it does exactly that.
However, since WebRTC is intended for peer-to-peer, this solution is not scalable at all, because you are going to be creating new peer connections exponentially.
With ~6 people, the quality of your call will already be terrible.
If your intention is to have a conference room, you should really look into using a Selective Forwarding Unit (SFU), if you plan to be scalable at all.
Checkout Janus VideoRoom plugin for an open-source SFU implementation, just be aware that it's a bit cumbersome to set it up.
For room video call, or live stream... you have to use a Media server to make it, webrtc just allow 2 peer, need a Media server to be an intermediaries
unfortunately, you cannot use it for 2+ communication, because the main idea of webRTC is connect two sides through P2P.
Related
I am creating a 3 peer Webrtc Flutter app. I have used https://www.youtube.com/watch?v=-wWOyaJ-PUM, this example to learn. but I don't know how to create 3 Peer connections?
I am also using node socket.io for creating a room. But still don't get it How to use RTCPeerConnection to make 3 peer video chat in Flutter? I already asked on Reddit. But not get a relevant reply. so please give me any relevant steps or code?
You'd need to either
setup peer-to-peer between all the parties (there will be 3 links in total, each party will be sending video twice and be receiving two streams), or
you need an intermediary server
I'm building an application that provides voice conversation with Flutter and WebRTC. When I initiate a call with WebRTC, no sound is sent in a voice call.
I use STUN server for P2P and privacy. A connection is established with the STUN server and I am receiving candidate data. There is no mutual voice conversation only. I know STUN server has problems with ports and firewalls. I am sure my problem is not caused by this.
Before writing here, I thought to issue an issue to the WebRTC repo on GitHub, but unfortunately the repo is quite passive. I could not even get an answer to the issue I opened 2 weeks ago(About sound effects).
I share the dart file with the voice conversation. I would be very happy if you could give an idea. I could not find a solution. Thank you for sparing your precious time.
My code: call_page.dart
I want to have my application receive notifications without forcing the user to be logged in or authenticated. Thank you for your time!
Well, I'm using OneSignal to send notificaitions to the users of my Android app and it's working fine. Moreover, it uses FCM as its base. So, that shouldn't be a problem too. You can segment users thet way you want and send notifications to one or many - upto you. It's all for free and very easy to set up the basics of it. It's here: OneSignal
You can probably use Socket IO for your case to send messages from one device to another.
There are many good to have Socket IO frameworks which can consider for your requirement
Signal R in Android
SignalR is a new library used to add real-time web functionality to your applications. Signal R uses technology such as
web sockets
Event Source,
forever frame
long polling
Signal R is capable of selecting the best from those four technology depending on your internet connection and your application stability.
Signal R is used in application such as
Chatting application
Stock market application
Real-time gaming
Native Socket.IO
Socket.IO provides an event-oriented API that works across all networks, devices and browsers. Its incredibly robust (works even behind corporate proxies!) and highly performant, which is very suitable for multiplayer games or realtime communication.
We are currently in the middle of a large infrastructure rebuild. We are replacing everything from the CRM to the ERP to the CTI.
We have decided to use WebRTC for the CTI. After working with WebRTC for a bit I really see the promise in this technology and started to think that maybe this is the way we want to go for our Webchat as well.
The premise behind this is to be able to add Voice / Video and Screensharing to our chat feature at some point in time.
Since WebRTC is not supported in Safari IE Edge Etc. I am thinking we may be just slightly ahead of ourselves in using WebRTC for text chat.
One thought would be to build it all out as WebRTC determine if the browser allows as default back to XMPP etc.
I have been researching this on my own and have found some options out there like talky.io but in this rebuild we are focusing on not having any third parties involved in our applications (We have had a couple go bye bye with no warning).
Is there a framework / library / open source project out there that tackles part or all of this task?
Is this task as daunting as I think it is going to be or am I overreacting?
Am I crazy, should be locked in a padded room and use an existing chat service?
talky is built ontop of https://github.com/legastero/stanza.io which includes a jingle/webrtc module
Take a look at the Jitsi project (specifically Jitsi Meet). A public version is running at meet.jit.si that you can try out; it uses webrtc for the voice / video, and Jingle / XMPP for the signaling. It is all open source, so you can be sure you won't lose access if the company goes under or something else bad were to happen. The Jitsi team runs it using the Prosody XMPP server; they make a good combination.
I want to create a playstation home style multiplayer game for iphone. How can I implement multiplayer in my project? Also, how can I give players a chance to chat? How can I let them create their own avatars to interact? I am a one man developer, with no access to servers. Maybe I can use iPhone game centre???
If you're looking for some kind of platform to build on, there is a product called SmartFoxServer:
http://www.smartfoxserver.com/
I have not used it, but it claims to provide a client API for native Obj-C or Unity3D. It allows for chat features.
If you want to roll your own, I recommend getting started with NodeJS:
http://nodejs.org/
GameCenter does not provide any kind of backend for multiplayer networking, at least not in the way you are implying. If you intend to build a networked multiplayer game over the internet, you most likely need some kind of backend.
Slicehost is a good way of getting a server like NodeJS running quickly and cheaply:
http://www.slicehost.com/
Don't forget that GameKit in iOS allows multiple devices to find each other locally (via Bluetooth or local Wifi) and create sessions. This might be a good starting point for your game. Here's some info on GameKit:
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/Introduction/Introduction.html
I think this would usually be done with webservice interaction against a server. You may be able to develop a webservice and pay a small fee to have it hosted by a web provider, or to use your own machine as (an unreliable) server while proving the concept.
Or you could just use Nextpeer - http://www.nextpeer.com
It makes adding online tournaments to your game real simple.
You can look at Gamooga (http://www.gamooga.com/).
Its a realtime communication platform for multiplayer games so you dont need to worry about building and deploying your own multiplayer servers. You can upload your own server side scripts onto Gamooga's cluster which receive and process your clients' messages. You can use Gamooga's iOS API with in your app to send messages from the client side to your server side scripts. You can download the SDK and look at the demos to start off.
There is a free plan of Gamooga platform too that you can make use of to start with.
Disclosure: I am founder of Gamooga, replying only since its relevant to the question.