🖥 Agora Video Conferencing (WebRTC) and Streaming with Cloud Recording - New Plugin from Zeroqode

Hello, @ryan8. Thanks for your question.

I’m afraid, Agora Video Conferencing and Streaming plugin do not support the screen-sharing functionality. And there is no way you can upgrade the plugin with the screen-sharing feature.

Thank you for understanding :pray:
Regards,
Zeroqode Team

would the plugin support it IF i were to launch it using the API only first… then could i control the video with he commands from the plugin? Or would i have to do everything by API form that point? So, in other words, could i create my own plugin to launch the ScreenShare, but still use your plugin to control the video chat, and have it use the same bubble group iD?

@ryan8,

In theory, this is possible. You can try to add Screen Sharing APIs to API Connector and, subject the API calls and workflows are configured correctly, the functionality, which you want to achieve, using our plugin and the screen sharing API, can be quite workable.

Again, this needs to be tested, to be sure.
https://docs.agora.io/en/Video/screensharing_web?platform=Web
https://manual.bubble.io/building-plugins/adding-api-connections

P.S.: we will conciser this idea as a future plugin improvement. Thank you for your feedback :slightly_smiling_face:

Regards,
Zeroqode Team

great one more thing… i cant find the Algora ID… i found the VideoCallsID and the Certificate ID. I tried the API key itself but did not work. When i use the keys in the DEMO it works, but i put my keys in and it wont work. What is the AlograID?

@ryan8,

Agora ID is the ID of the app you are creating in your Agora dashboard. Please note that when you’re creating a project for Streaming, you get the Agora ID and the Certificate keys:


https://docs.zeroqode.com/plugins/agora-api-connector-plugin/agora-streaming-component#agora-setup

The Video Calls ID is the parameter that you get when creating the app in your Agora dashboard for simple video calls:


https://docs.zeroqode.com/plugins/agora-api-connector-plugin#agora-account-setup

When you’re creating a new project you can choose what Authentication mechanism to choose.


When you choose the App ID + Certificate + Token, you get the Agora ID and Certificate keys, which are needed for the Streaming feature in the plugin.
When you choose the App ID, you get the Video Calls ID key, which is needed for the video calls feature in the plugin.

Thus, to get all necessary ID keys, you need to create 2 projects in your dashboard with a different Authentication mechanism. The Agora ID is the APP ID of the project with the App ID + Certificate + Token authentication mechanism.

Useful note: it will be better not to install both streaming and video call within the same page. If you create separate pages for these plugin elements, they will work correctly, without any issue.

I hope this info will be useful for you :pray:
Regards,
Zeroqode Team

1 Like

@ZeroqodeSupport hi, before i purchase this plugin can you confirm that it supports cloud recording onto the Agora cloud? if the demo workflows there are two workflows that mention a record button but i can’t find it on the editor.

Hi, @darren!
Thanks for reaching out!

Currently, this plugin doesn’t support cloud recording but we’re working on it, that’s why you have seen the mention a record button in the workflow. Please bear with us, the new update will be very soon.

Best,
Zeroqode Team

1 Like

ok thanks, any idea on how long ‘soon’ will be?

Hello all,

I need some help. The plugin works very well but I don’t know exactly how to use it to perform my use case.
I would like to connect 2 random users in a chat. I guess I have to create a random string but what are the different steps? I have to create a page for each 1v1 chat?

Some help?

Hi, @darren!

Presently, we cannot provide the exact time estimates on this matter, sorry. But we strive to implement this option as soon as possible.

Thanks for understanding :pray:

Best,
Zeroqode Team

Hi, @penisson.valentin!

You can make this use case through the states and conditions. The idea is (as a sample): there is a page with two buttons Create room and Join room. When the user1 hits the Create room button the state is set - join the room with randomly created room name which is added into database.

Then the user2 hits the Join room button and the condition is set- to join the created room only when the Peers Online < 2 . If there are already two users in the room then the condition is set - to join another room only when the Peers Online > 2 and send the new incoming user to another room which is randomly be selected from the database.

Whenever was created several rooms the users will be sent to certain rooms according to the state and conditions. It is a logical way to realize your user case. You need carefully prescribe the states and conditions.

Hope this helps!
Best,
Zeroqode Team.

@ZeroqodeSupport

Out of all the video chat plugins yours still functions the best on Bubble.
Only problem is screen share!!! Please implement it as the rest of the video chat solutions all have major issues!

Hi, @sniphairmail!

Thanks for reaching out and your kind words! :pray:
We do really appreciate that and strive to do our best to improve our products :slightly_smiling_face:

We have taken into consideration your feedback regarding adding screen share. We need to see how it is feasible to implement. We will get back to you as soon as we have the relevant info.

Best,
Zeroqode Team

Hi @ZeroqodeSupport. Thanks for this awesome plugin. It solved a huge pain of scalability on my product.

Regarding the video recording, I’ve managed to do it outside the plugin. I used the API connector and followed this documentation: https://docs.agora.io/en/cloud-recording/cloud_recording_api_rest?platform=All%20Platforms

API Connector setup

Acquire call (gets the resourceId)

Start call (starts recording)
In this call, I’m recording directly to S3

The complete payload that I’ve used:

	"cname":"<channel>",
	"uid":"<uid>",
	"clientRequest":{
		"recordingConfig":{
			"maxIdleTime":120,
			"streamTypes":2,
			"audioProfile":1,
			"channelType":1,
			"videoStreamType":0,
			"transcodingConfig":{
				"width":320,
				"height":240,
				"fps":15,
				"bitrate":200,
				"mixedVideoLayout":1,
				"maxResolutionUid":"1"
				}
			},
		"storageConfig":{
			"vendor":1,
			"region":0,
			"bucket":"NAME-OF-YOUR-BUCKET/<folder>",
			"accessKey":"YOUR S3 ACCESS KEY",
			"secretKey":"YOUR S3 CRECT KEY"
		}	
	}
} 

How I used it in the workflow
The only issue here is that it starts recording every time someone joins the room.

For stopping the recording, you can make the stop call or leave to Agora automatically stop it after a few minutes of inactivity.

PS: I hope that my first contribution in the forum helps someone :slight_smile:

2 Likes

Hi, @ricardo1!

Thanks for sharing some insights regarding the video recording. :pray:
You did a great job and we do really hope that will be useful for bubble community. We are also developing this functionality. We hope that soon it will be available for everyone within this plugin. :slightly_smiling_face:

Best,
Zeroqode Team

Hi @ZeroqodeSupport,
Does your Agora Plugin support Agora Voice Calls and Agora Real-Time Messaging (currently in Beta from Agora) too?

Hi there. I have a somewhat ignorant question: Can you offer any insight into how this plugin would affect resource usage in Bubble? That is to say, I’m wondering how performant it is at scale before purchasing.

Kind Regards,

TS

Yesterday I ran a call with 3 users. Here’s a screenshot of the log by the time it started:

I guess it was only due to Agora because we were testing different scenarios, and my conference page has some other resources and workflows that may stress the CPU as well.

The call lasted around one hour. By the end of it, this was the consumption:

Hope it helps.

3 Likes

Hi, @moeen.yaqoob!

Apologies for the slow reply :pray: and thanks for reaching out to us!

I’m afraid our plugin doesn’t support Agora Voice Calls and Agora Real-Time Messaging. However, we’ll take into consideration your feedback regarding adding this in the future. We need to see how it feasible is to implement.

Best,
Zeroqode Team

Hi, @ts11!

Thanks for reaching out!

I’m afraid we don’t really have logs for our tests, since the plan of the testing app does not offer an option to check the server capacity and usage metrics.
However, maybe ask people in this thread who have successfully integrated within their applications, like @ricardo who can show some usage data and metrics in Bubble.
By the way, thanks :pray: @ricardo for example :slightly_smiling_face:

Best,
Zeroqode Team

1 Like