Sinch webRTC DevicesNotFoundError on Chrome Mozilla et al - webrtc

I am trying to setup up video calling in my webapp using Sinch. The application works well on my Chrome (50.0.2661.102 64 bit) but a friend using windows (same version chrome but 32 bit) gets a NavigatorUserMediaError with a reason : DevicesNotFoundError.
I tried using mozilla, vivaldi and IE but non of them works. The error is in the sinch.min.js file and I am using the latest version from their repository : https://cdn.sinch.com/latest/sinch.min.js
Can someone please help me fix these issues?
Also, are there any javascript libraries to help prevent cross-browser compatibility issues while using webRTC.
Thanks

Only WebRTC browsers work with sinch

The NavigatorUserMediaError error with err.name=DevicesNotFoundError is a Chrome specific error and it's quite common. It happens when:
you’re requesting a video track through constraints but the user does not have a webcam
you request an audio track but there is no attached recording device or it's disabled at the OS level (possible in Windows and some drivers do it automatically if there's no microphone inserted in the mic jack)
DevicesNotFoundError will be replaced by the spec compliant NotFoundError in Chrome 64.
Source: Common getUserMedia() Errors

Related

How to Capture Live Stream from camera and watch live or save for later viewing?

I am trying to make an online examination portal. When students start the exam, their webcam will start automatically and record the stream live and store in the server. Invigilators will either watch the students live or they can watch the saved live streams later.
I researched about this and found WebRTC as a possible solution along with a gateway server like Kurento. But later found out that WebRTC is not supported in Safari, which is a setback! My application should run successfully in web portal in any modern browsers which includes safari and also in android or iphone.
So can anyone suggest a possible solution to my problem? Which technology should I use that can support all browsers and OS?
Also, it would be helpful if you can provide links to good documentation or tutorials.
Note from the future (2020): This answer really isn't accurate anymore.
WebRTC is one problem... capture from the camera with getUserMedia is another. Safari doesn't support either.
There is no video capture API in Safari currently. The only thing you can do is make a native app for iOS.
Worse yet, because of Apple's restrictive policies, alternative browsers, such as Chrome, are crippled on iOS as they aren't allowed to use their own browser engines.
Use standards based technologies like getUserMedia and WebRTC for your primary web-based application. If you decide that the economics of your situation enable it, you can make an iOS app to work alongside until Apple decides to participate in modern browser standards like everyone else.
You can use Mediadevices.getUserMedia (https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia) to capture webcam stream on browser (chrome and firefox).
To play with webcam stream on safari, you would have to use a pollyfill - https://github.com/Temasys/AdapterJS
To record the video/audio stream, you can make use of Media recorder api https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder (Note : recording stream is still a challenge in Safari as there is no support/pollyfill. However, it works perfectly on Chrome and Firefox latest versions).
Helpful demonstrations :
https://webrtc.github.io/samples/
https://mozdevs.github.io/MediaRecorder-examples/index.html
https://codepen.io/collection/XjkNbN/
https://hacks.mozilla.org/2016/04/record-almost-everything-in-the-browser-with-mediarecorder/

WebRTC stream and device

For a WebRTC stream, how can I get the devices that streams it?
For each stream there's getAudio/VideoTracks() and for each track there's getCapabilities().deviceId, but getCapabilities() doesn't seem to be implemented.
I tested in Firefox and Chrome.
You are right, getCapabilities has not been implemented yet.
In the meantime use track.label and track.kind and compare it against the device label and kind you get from enumerateDevices. Works in Chrome and Firefox 46 (Firefox Developer Edition).

Streaming not possible in internet explorer

I have an application that broadcast my screen over the network. in other browser it is working correctly but in internet explorer its not working and always shows to download a file instant of playing streaming.
in other browser like chrome
but in internet explorer its not working ....
i have installed many plugin like quick time active x, java etc.
This is difficult to answer without knowing the media type of the streaming.
But I would suggest try installing VLC or the latest media player with updated codecs. Also try disabling any download manager that you might be having.
Note: You can also try the streaming option of VLC as it has a VLC server as well.
Hope that helps.
Also suggested: Buy an authenticated version of Windows or Activate your copy of Windows :P

Cannot view video from publisher using Chrome to iPad with OpenTok

I'm currently trying to set up a connection between my web client and my iOS app, but for some reason my iOS client only sees a black box when using Chrome (version 33). I can see the video just fine if I use Firefox (both in my app and when I put the browsers side-by-side, they can see each other).
This doesn't appear to be a documented known issue with the JavaScript SDK, and I can't see any recent discussion about this on the forums (last post was mine).
The iOS sample can be located here (samples/OpenTokHelloWorld) with the browser page in samples/OpenTokHelloWorld/browser_demo.html
I suggest cd'ing into samples/OpenTokHelloWorld and running python -m SimpleHTTPServer, as it can't be run from a file:/// path.
Here is what my iPad sees:
Chrome:
Firefox:
And Chrome/Firefox (respectively), both publishing video from the same camera
Edit: after testing on other machines, it may be something specific to my environment even though none of my extensions run in Incognito and I don't have any custom plugins installed.
It looks like the OpenTok mobile SDKs with the specific webcam I was using has issues. On Android the video stream will display for a brief moment then segfault, and on iOS there will be no video at all.
I have tested this many times and could not reproduce what you are seeing in your chrome.
Without seeing any console errors or iOS logs the best suggestion is to try clearing your cache, or maybe restarting your computer (longshot)

WebRTC: Is it supported in Safari & IE browsers?

I would to develop video streaming usign WebRTC. I have not heard about the browser compatibilities. Does it work in IE & MAC systems? Please advice the pros & cons of it.
It works great on Mac systems using Firefox or Chrome. Safari doesn't support WebRTC yet.
IE doesn't support WebRTC also. Nevertheless, Microsoft claimed that IE will support WebRTC when standard had been finalized.
Regarding IE, take a look here, also: Which version of Microsoft Internet Explorer support WebRTC?
Rather than [just] providing an answer that will surely go out of date at some point, let me point you to CanIUse.com:
http://caniuse.com/#search=webrtc
Currently, as of 2015-08-14, WebRTC is still completely missing from Safari (OS X & iOS) and from IE (including Edge).
Safari
Apple announced support for WebRTC in Safari 11.
You can download the latest beta version of Safari 11 at the following link:
(You need to sign in with your Apple ID) https://developer.apple.com/safari/download/
Microsoft Edge
Edge supports webRTC with the help of adapter.js.
Internet explorer
You'll need a 3rd party plugin, like Skylink or Temasys.