How I make live video chat for my website - webrtc

I want to add video chat option in my website please guide me how i do this task and what should i required for doing this.How much it's cost if i will make it for my website and also it's maintenance(Like server ETC).

You are looking for something like rtchub.com

If you want it free, you can develop it yourself, using WebRTC:
WebRTC is a free, open project that provides browsers and mobile
applications with Real-Time Communications (RTC) capabilities via
simple APIs. The WebRTC components have been optimized to best serve
this purpose.
See WebRTC Tutorial
On client side you use JavaScript (jQuery), and clients communication directly using browser, but you need server part and signaling mechanism, and you can use for example SignalR or Node.js.
As example you can look at my site: SignalRTC.
P.S. WebRTC works only on selected browsers, for example Chrome, FireFox, unfortunately not on IE or Edge.

Related

Is it possible for the server to "listen in" to an audio or video stream?

Using agora.io I'd like to do something like realtime subtitles for video meetings.
Is there a way to have a server get at the data of the video/audio streams?
The server REST api seems very basic just for project management.
I want to get at the streaming audio data, not a local client capture like this demo
Perhaps I could use something like the cloud proxy although I would need to "T Pipe" the data, and I assume the data would be encrypted, not sure if the keys used are something I can get access to.
It also seems like the web client has browser dependencies; perhaps I could run that on a headless/chrome node server, but that seems like a hack and very resource intensive.
Any other suggestions on places I can look for APIs?
Also interested in other webrtc APIs and provider alternatives. Maybe Twilio has some APIs for this.
We provide Linux SDK on a case by case basis which you can deploy headless in your server. This SDK itself will act as a client that joins the channel and receives the video streams in the channel.
The SDK is written in c++ and is not public. you can request access by opening a support ticket at https://agora-ticket.agora.io/

How to develop a video chat and conference app with High Performance using any good Open Source frameworks

I see WebRTC is the the best way for developing it. But there are some paid frameworks in market for establisting video chat between wide range of clients like Web-Web, Web-Mobile(IOS, Andriod, Windows, etc.,).
Web-Web communication flow is very simple to implement. Now, I want the same for Web-to-Mobile and vice versa without using any external frameworks built on top of Native WebRTC. Please suggest me some best approach to achieve this.
The latest Chrome on Android is WebRTC friendly, that means if you have a web app that implements WebRTC. It will be working on Android's Chrome.
If you decided to create you own native app that implements WebRTC. Here are some great sources.
iOS WebRTC: https://webrtc.org/native-code/ios/
Android WebRTC: https://webrtc.org/native-code/android/
Follow the instructions in each allow you to build the native WebRTC framework that you can later on import them into your native projects.
The WebRTC APIs are somewhat related to the ones you are using in your web application. You need to do more documentation reading for those as you are using the official framework that built from the source, not a third library.
Before starting you need to review and test platform to make sure it works fine for all your target user categories. You can do that by reviewing references and also testing some existing apps for user types you plan to support.
As you mentioned wide range of clients, you need to identify the limitations of WebRTC technology. You can also evaluate other technologies: in example you could reliably serve most client types with mobile and web apps that use RTMP.

Can I create a Hangout "client" program? (kind of Google TalkAbout)

As stated in the Google Talk for Developers site, you can use the provided APIs to build a client that connects to the Google Talk service.
I would like to know if it's possible (or it will be in the near future) to build a similar client to the google hangouts.
What we pretend is to build something similar to cloud print, that provides printing services to the cloud, but for audio/video streaming: a camera and microphone would replace the
printer.
Thanks a lot.
Talk and all the XMPP stuff is going to be put down soon.
The new Hangouts infrastructure is proprietary. It only has API to integrate Hangouts into web pages and applications, but no API or protocol to create an alternative Hangouts client software.
https://github.com/tdryer/hangups is a library that does exactly that, with a command-line client for Linux.
https://github.com/xmikos/qhangups is a PyQt-based cross-platform app that aims to provide an open-source alternative to the Chrome-based official desktop app. Unfortunately it's not working at the time of posting, but the author is investigating the issue.

Real-time notification using Python

First there is TornadoWeb, it's async and non-blocking, and on the other side: there is Dojo. If I use tornado, how can I communicate with dojo?
And the other problem, if I use a WSGI solution like Flask, can I make a "notification" with them? Or dojo must have an "open connection" to speak with the server, which is not done using WSGI? mean; Apache or CherryPy will not work with Dojo?
And if WSGI can't speak with Dojo, what about using Atom or Feeds to program notifications under WSGI?
NB: the notification will be devided on two: notification about products for all users, and notification about specific users; it will use sessions...
And last question, what about WebSockets and HTML5? the server must be compatible to use this option with the browser?
I'm not sure why Dojo seems to be the problem in the communication.
Dojo provides you with AJAX wrappers which you can use for almost real-time notifications in a web app with little load by making an AJAX request each 1-5 seconds.
If the app will have a lot of users, frequent AJAX requests can cause too much overhead quickly. Fortunately, you don't have to use Dojo to communicate with the server. You could have a look at Socket.IO and, if you want to stick to Python on the server-side, gevent-socketio. It uses the best technology available in the web browser (WebSockets, Flash sockets, comet) to provide real-time communication.
There is also dojox.socket but I think it's less robust (and far less popular).
You should remember, however, that by using any kind of persistent connection (be it WebSockets, Socket.IO or dojox.socket) you need an asynchronous server able to maintain many simultaneous connections.
The solution you choose should depend on the web app itself and its user base.

Browser <-> Client Hardware API?

Are there any initiatives to implement/agree upon a standard API for connectivity between web browsers and client hardware.
Example: The iPhone has a GPS/Camera/Accellerometer in it. It'd be very cool if my web app could communicate with them (rather than me having to write a thick ObjectiveC application).
The closest thing I've seen to that is the Android phone API, which lets your programs access its hardware (relatively) painlessly. Google's pushing for it to become the new standard, but its hardly the same thing as a web-app (which, by most definitions, runs entirely in your browser?).
The upcoming version of FireFox has an API to read your lat/long off a GPS device.
To add to my own question; Yahoo provides a geolocation service called FireEagle that could act as a mediator and provide similar functionality.
In essence the phone communicates with a central Yahoo server updating its location. Your web app can then determine your approx location from that central server.