Kurento: Kurento-room without webcam - webrtc

I've seen that kurento-room isn't able of managing a user that enters only with microphone(no webcam).
The user actually appears in the room, with a black screen in the place where the webcam is normally located, but no audio is received from him either.
Why can this be happening?

That's an error in the connection of WebRTC endpoints. The thing is that the endpoint only negotiates audio, but the connection was made with audio and video profiles, and the media server committed seppuku. It should be fixed by now, providing the right media profiles in the connect method.

Related

Incoming MediaStream's using Safari on mobile device won't play

I've been trying to debug this issue, I'm creating a peer to peer audio streaming app.
Each time a mobile device using Safari receives a peers incoming MediaStream, it plays the stream for a fraction of a second and then stops.
I've checked the actual MediaStream & Audio object I'm using to play the incoming stream, but nothing of its status suggests that's it's paused, inactive or stopped.
I know there are some issues with Safari when it comes to programmatically playing Audio, but I thought that was on the initial playback of the clients first stream and then all subsequent streams should work.
I used the implementation from this article.
Anyone know of the reason for this?

Error 2001 AUDIO_INPUT_LEVEL_TOO_LOW in Agora video Call

Everything was working fine but After updating Agora to 3.1.2., once remote user joined the video call, After a few seconds, Video call disconnected and getting this error in the log
"type":"exception","code":2001,"msg":"AUDIO_INPUT_LEVEL_TOO_LOW"
Version info.
"ngx-agora": "2.0.1",
"agora-rtc-sdk": "3.1.2",
Angular 10.0.8
It is a known issue by the developer and the team is working on fixing it and is an open bug on the Agora IO Community Repo here.
In the words of the developer:
How to reproduce
If you create and publish your microphone audio track without any user interaction, the remote user may not hear you. In this case, the console will print some logs like SEND_AUDIO_BITRATE_TO_LOW and AUDIO_INPUT_LEVEL_TOO_LOW.
And once you interact with the webpage, the remote user will hear you.
Root cause
Agora Web SDK NG uses the AudioContext API to do some audio pre-processing by default. However, the AudioContext is restricted by the browser's autoplay policy. If user has not interacted with your webpage, the AudioContext will not run. So there is no audio data produced from the SDK's pre-processing module in this case.
How to avoid
We will fix this issue in v4.0.2, and it will be released next month.
For now, we recommend that you should ensure that the user has interacted with the webpage before the audio track is published. For example, the user is required to click the accpet or confirm button to start a call.

How to dial-in conference in nexmo?

I am using this repo:
https://github.com/opentok/opentok-nexmo-sip/tree/master/Dial-In-Conference
Bought nexmo virtual number and created new tokbox app.Set up all credentials. Changed only voicename and text in server.js. For local testing purposes I am using tunnel through ngrok, so in nexmo dashboard I've put my actual ngrok url for endpoints with ending eg. /nexmo-answer and /nexmo-events.
When I start app and go to new room eg. room/2 I can see, my app is working, camera and microphone works perfectly also my coworker can go to my link through tunnel and we can talk.
The problem is that nobody can dial into our conference. Anyone calling can hear welcome message and pin prompt, after inputting correct pin, the phone apparently connects (doesn't disconnect automatically) but we can't hear or send any sound. Any advice?
I managed to solve my error. App needs to dial out into nexmo's virtual number's room.

using webrtc for audio broadcast

I'm trying to stream a microphone/audio to multiple clients.
the broadcaster is a screenless raspberry, so I can't open a Webbrowser and click on "share mircophone"
The clients will be using their smartphone to listen.
the latency must be super low.
I did not find any WebRTC Demo that worked. All of them are either p2p or the scalable Broadcasting from muaz khan is only working for the initiator; not clients.
I came across Janus (which I didn't really understand what exactly this is doing) but I don't get how to install this and how to configure it.
Is there any way to easily share the microphone's output via WebRTC? Something like Apache hosting a simple website where the microphone audio is hosted on?
Thanks for all the ideas on how to solve it!
Is there any way to easily share the microphone's output via WebRTC?
No. There's nothing easy or simple about WebRTC.
the broadcaster is a screenless raspberry, so I can't open a Webbrowser and click on "share mircophone"
This is the simplest option... running a browser. Are you sure you need to actually allow it to access the audio device?
In the past, I've used a flag on Chromium to get around this problem. I don't remember exactly what that flag was, but looking at the list, it might have been...
--use-fake-ui-for-media-stream
You might also be able to use --enable-kiosk-mode.
At a minimum, if you were to open the browser interactively and enable access, that page would get automatic access in the future.
I did not find any WebRTC Demo that worked. All of them are either p2p
WebRTC is peer-to-peer, but remember that the "server" can be one of those "peers".
Finally, you can look into using GStreamer, but don't expect anything quick and easy. https://github.com/centricular/gstwebrtc-demos

Webcam video recorder with resumable uploader

I am developing a website in which video recording is the core feature. We would ideally want video recording to continue even if internet connection goes down. If user is recording the video and internet gets disconnected then the video may get locally saved and when internet connection resumes, the video gets uploaded to the server.
I have gone through some websites which provides APIs for recording video via webcam but they do not work even if internet connection goes down for a moment.
Any suggestions will be highly appreciated.
I guess for your case you need to offer an off-line application rather online streaming solution, then later the user can upload the video. PresentationTube at http://presentationtube.com uses this technique. As they said: PresentationTube offers a PowerPoint presentation recorder and video sharing network to help teachers, students and business professionals produce and share presentations in video format.