how to build a video chat with WebRTC? - webrtc

I want to create a video chat with WebRTC, but i have no idea about this. I need my own WebRTC server to establish a video call from a PC browser to another browser on PC or on android device, how should I do?

Luckily we live in 2018 where most of the stuff already implemented. There are bunch of WebRTC Video Chat providers that provide API, SDK and docs for integration.
I used ConnectyCube in many of my applications. They provide WebRTC Video Calling functionality for iOS, Android and Web(JS).
iOS WebRTC (video chat) guide https://developers.connectycube.com/ios/videocalling
Android WebRTC (video chat) guide https://developers.connectycube.com/android/videocalling
Javascript WebRTC (video chat) guide https://developers.connectycube.com/js/videocalling
WebRTC features supported:
1-1 video chat
Group video chat
WebRTC based
VP8/H264 video codecs supported
Mute/Unmute audio/video stream
Switch video input devices (cameras)
Video recording
The whole list of supported features
Highly recommend to try something like this and do not waste time on implementing everything from scratch by yourself.

Related

Use WebRtc to deliver hls to Safari on IOS

I found this github repo which allows me to use WebRtc to deliver hls over the WebRtc Datachannel.
The Problem is that it does not support Safari on IOS.
The newest versions of Safari on IOS do support WebRtc datachannels and they have native support for hls playback.
This is my problem is it only possible to use WebRtc for data transfer on Browsers which support Media Source Extensions or can I also use WebRtc to deliver the .ts files to the Safari Browser on IOS?
I am a developer of P2P Media Loader and we are working on iOS support right now. Hopefully, we will have a prototype soon.
On iOS Safari you can exchange video and audio data using WebRTC Data Channels but you can not put that data and play into HTML video element without API like Media Source Extensions.
We are currently testing a different approach to do that on iOS Safari.
iOS Safari doesn't support Media Source Extensions of HTML5 video element.
Therefore, you cannot play synchronized audio and video on iOS Safari by any hand-made approaches that use various API such as Canvas, Web Audio API etc..
iOS Safari has two built-in methods for playing synchronized audio and video:
a. Native HLS playback
b. WebRTC PeerConnection
If you choose WebRTC PeerConnection, you will have to transcode AAC audio used in HLS to Opus audio required by WebRTC, and to transmux HLS to WebRTC.
Ugly, CPU-consuming and really pointless. What does it buy you? Why not to use native HLS playback on iOS Safari? But if you insist on option b, then there is number of software media servers that will do it for you.

Kurento disable video while video is streaming

How to disable video streaming while video streaming is already invoked? Like in Facebook Messenger, it can turn video call to voice call only.
At the moment, you'll have to tear down and recreate the whole connection with audio only, as Kurento does not support renegotiation. We are working on it, though!

How to Use Wowza Server for Native ios Application

Is it possible to create a video chat application for IOS (Native Objective-C) using Wowza ?
How to send IOS camera and Microphone video/audio live stream to Wowza server ?
Is it possible to do chat with Wowza and IOS without using any RTMP library for IOS ?
The native Apple SDK receives and renders HLS, but it causes significant latency. To implement a video chat client, you will need a 3rd party library to implement low latency streaming. Maybe look at nanocosmos.de
-jw
Wowza accepts input stream as RTSP, RTMP, or MPEG-TS so you need a library that is able to use any of these protocol.
To play the stream from wowza you can use HLS that is native in IOS and I assume it will be easier (I do not have experience with native application in IOS)
Check the technical specs of wowza for futher information.
[https://www.wowza.com/products/streaming-engine/specifications]

Quickblox, Video chat for PC/Mac, options other than WebRTC

Are there options to make a video chat app for PC/mac using quickblox but not WebRTC?
The business case is to provide video chat facility from iPhone/iPad with a user on pc/Mac.
We do not want to use WebRTC..
So i went ahead and did a POC to test the capabilities of quickblox, well bluntly put, it does not support native ios app to call a web based app.
However i then explored OpenTok which actually works cross platform, atleast from iOS to web.
My problem solved.

Cross platform video chat using Quickblox

I am working on a application where I need to integrate video chat feature on different platforms. I am currently using Quickblox.
For iOS Platform I am using: http://quickblox.com/developers/SimpleSample-videochat-ios
Android Platform : https://github.com/QuickBlox/Sample-VideoChat-android
Web Platform : The JS API
Independently I can video chat between 2 users on Web or between 2 users on iPhone but after multiple attempts I have not been able to start a video chat session between 1 user on Web and 1 user on iOS.
Please, let me know is it possible to have video chat, i.e. video conferencing for all 3 platforms (iOS, Android & Web)?
Are there better ideas for implementation of this video chat requirement?
I know it is very old question any way. They didn't complete webRTC implementation yet, once they have done you can continue with Quickblox otherwise you have to search any other apis. Please refer the below link.
http://quickblox.com/blog/webrtc-powered-cross-platform-video-calling-code-samples-web-ios-and-android/