is any way for broadcaster add user to join in live streaming - agora.io

is possible, broadcaster add any user to live and then interacting with each other and also audience show both screen as well as audio and video and their activities is this possible?. I found documentation but not clearly satisfied. If anyone know then let me know what is the right way for do this task.

Agora SDK does provide that feature. In order to do that, you need to switch the user's role from audience to broadcaster and send the video stream to the remote users in the channel.
Please take a look at this article for detailed information: https://docs.agora.io/en/Interactive%20Broadcast/co_host_overview?platform=All%20Platforms
And the GitHub demo code here: https://github.com/AgoraIO-Usecase/AgoraLive

Related

Twilio programmable video notifications

I developed a solution to allow my users to get in touch through video calls.
However, for iOS I can't manage to trigger notifications (CallKeep for example) to warn a user that someone is trying to contact him.
Would you have solutions to propose to me because I can't find anything conclusive.
Check out the Twilio Video quick start application has a CallKit example. Please take a look at that and see what you can learn.

How to retrieve all "audience" users of an interactive audio streaming channel

I am using AgoraWebSDK-NG to do a Web implementation.
My application uses interactive audio streaming. Video is not required.
I want to know how to retrieve all users who are part of the "audience" of a channel (and not "hosts"). I want to display such "audience" users in the UI.
Unfortunately I cannot find any method to be able to do so here https://agoraio-community.github.io/AgoraWebSDK-NG/api/en/interfaces/iagorartcclient.html#getlisteners
Please let me know how this would be possible. An example would be great. If it is not possible, then just let me know that as well. Thank you.
this is not possible at the moment with the NG SDK. To achieve this right now, you can use the Agora RTM SDK.
You can create an RTM channel with the same name as the RTC channel. Then you can use the RTM's channel events to know when an audience member joins or leaves.

I don't want camera permission needed for each video chat when there is a series of 1-1 video chats at an event

I am not a coder and having a web platform built with PHP that includes a series of 1-1 video chats in a scheduled networking "event". The problem that the developer is not able to solve with the video plug in that they are using (https://www.magnoliyan.com/video-chat-pro/) is that the user needs to give camera permisson before each chat. I need this permisson to happen one time only at the beginning of the event and not need there to be any further permission giving throughout the event. Of course I would like this to work on all platforms. I'm exploring agora.io as an option to solve this and replace the current plug in with agora. Does anyone know if agora would be the right fit for this or which video chat platform I should use to accomplish this? And if there is specific developer kind of language or code - please speak in as if I was a developer and I will pass on what you say to him directly. You don't need to worry about whether I will understand it.
Thanks!
Jon
Agora.io like any other WebRTC provider requests device camera permission only once. And all subsequent Videocall won't need any special permission (provided that they are on the same domain)
More specifically, Agora.io requests browser permission when stream.init method is invoked. This also turns on the camera light. stream.close turns off the camera light and deallocates the resources.
However, the subsequent stream.init function calls do not require permissions. (Camera light will just turn on)
References:
stream.init: https://docs.agora.io/en/Video/API%20Reference/web/interfaces/agorartc.stream.html#init
stream.close: https://docs.agora.io/en/Video/API%20Reference/web/interfaces/agorartc.stream.html#close

Advertising Platform

I'm 100% sure that this isn't the right form to post a question like this, but I hope someone on here has the answer to my question.
Is there advertising platform that sends a true or false response dependent on if the user finishes the ad video to the server so I can add points to the users account.
(I don't need help adding points, or creating a point system, just an advertising platform that would be easy to integrate with the videos on my site)
I understand if this isn't the right forum for this, if someone could point me in the right direction. Before you say anything, yes I have googled, just can't find anything that suits my needs.
You need a video player that supports the VAST protocol
VAST provides a common protocol that enables ad servers to use a
single ad response format across multiple publishers/video players
This format allows to specify the so-called tracking elements - URIs that would be called once a particular events occurs. You can manually provide a VAST xml response with a tracking element for a video completion event.
Also consider using DFP to serve your video ads - it's free up until a certain traffic volume and would track everything you might need

Twillio Programmable Video

Is it possible with the Programmable Video API from Twilio to build something that resembles the Google Hangouts functionality in terms of how it focuses on the person talking automatically?
I don't see any examples or notes about this in their documentation and the github for this doesn't seem to be frequented that much.
Would appreciate any help, thank you!
Twilio developer evangelist here.
You can build that sort of thing, however it is currently out of scope for the Video SDK itself.
I haven't done this before, but I'd start by looking into analysing the audio coming from each participant in the chat. You can actually create audio sources from an existing <video> or <audio> element. In the case of Twilio Video, each track is created as a separate element, so you want to look for <audio> elements and use them:
var audioElements = document.querySelectorAll('audio');
audioElements.forEach(audio => {
var audioCtx = new AudioContext();
var source = audioCtx.createMediaElementSource(audio);
// create audio analyser, analyse volume in audio
})
You want to use the Web Audio API to then analyse all the remote tracks and work out which is currently making the most noise for a sustained period of time and switch to that one. This blog post may help with the analysis. I've not seen anything that will help with the selection, but hopefully you can work it out from there.
Let me know if this helps at all.