I want to support multiple live-streamed video services using [Agora.io] - agora.io

Below is a use case of our business. I appreciate if you can tell if the [agora.io] platform can support this use case and how i.e., (Options, SDK, APIs)
This is an online 1:1 class for lecturer and students.
The lecturer opens a virtual space for class and invites 1 student.
Student has 2 webcams. One is installed on the front, and the other is installed on the side.
Videos from student's webcams should be live-streamed with no delay to the lecturer.
the lecturer can select between two videos of student and watch videos and listen to the audio two live-streamed videos must be switched by a button and the switched video is played on the lecturer's Screen.
#1 live-streamed video -> button click -> #2 live-streamed video -> button click -> #1 live-streamed video --> button click --> #2 live-streamed video ...
When switching between #1 live-streamed video and #2 live-streamed video, the "Playback Position" must be the same.
At any time, the lecturer can end the video session. the videos of each student must be ready immediately at the server to replay and watch. The lecturer can end lesson

Agora can totally support this use case.
You can use the RTC SDK to start a video call. Here is the quick start guide for that: https://docs.agora.io/en/Video/start_call_web?platform=Web.
To switch the camera, you can take a look at this article: https://docs.agora.io/en/faqs/switchdevice_web#for-versions-earlier-than-v250. You might need to use RTM SDK to send a signal from teacher's side to student's side which can trigger the switch camera operation. Here is the RTM quick start: https://docs.agora.io/en/Real-time-Messaging/messaging_web?platform=Web.
To replay the videos, you need to use the Cloud Recording API to store the videos on an external cloud storage, for example, Amazon S3. Here is the document for Cloud Recording: https://docs.agora.io/en/cloud-recording/product_cloud_recording?platform=Linux.

Related

How to customize the main store listing in the google console?

I have question is their way to customize the main store listing? I want to remove the table requirements because the app want to apply on the phone devices not in the tablet devices.
I read some articles or post that I need to go this section in the google console.
Reach and devices -> Device Catalog
You can limit your app to Phones only from the app manifest for more on this see this answer.
for Google Play store listing, you can add 1 screenshot for each tablet size using a phone screen shot, in that way you will only target phones.
the problem with "Device Catalog" approach that you will need to do this every time new devices were added to google play console which is very hard to do.

Shaka player social share

I'm using shaka player as my html5 DASH player, and i want to allow social network integrations.
For instance, share a clip to whatsapp/facebook or as a link for forums/websites.
Is it possible using Shaka player? (I can easily switch to working with DashJS if that is more flexible)
Sharing the link is pretty much independent from the player itself.
You will have the URL for the video stream already as this is what you will be giving to the player, so you really just need to use the standard social network API's to share this link.
Some players will have this functionality included as an overlay or control on the video, which may be what you mean - however, you can still share the link your self by just adding your own share button below it on your web page.
I'm not aware of any Shaka Plugin to allow it be included in the controls, but if you wanted to add it yourself all the controls are grouped in:
https://github.com/google/shaka-player/blob/7169c7a5902696a42419b67a9c8e091e7f06c95d/demo/common/controls.js
For example you can see how the mute button is handled when it is clicked here:
/** #private */
ShakaControls.prototype.onMuteClick_ = function() {
if (!this.enabled_) return;
this.video_.muted = !this.video_.muted;
};
You could add a control to call the required social network sharing API for your case.

"Start a Hangout on Air" button for Youtube LiveStreaming API

We've been using the as yet un-deprecated "Start a Hangout on Air" button:
https://developers.google.com/+/hangouts/button
to start hangouts on air on our site http://agileventures.org for several years now. Full source code at http://github.com/AgileVentures/WebsiteOne
In the last 24 hours, clicking those buttons now redirects to instructions to manually start a youtube live event:
https://support.google.com/youtube/answer/7083786?visit_id=1-636118907663120157-3101666316&p=live_hoa&hl=en&rd=1
This is a problem as manually started events will not create the hangout app that lets our community know an event is starting and provides us with important telemetry on events.
There is unfortunately no documentation in the youtube live streaming API about how to create a button that will create a youtube live streaming event, or load a plugin into that event:
https://developers.google.com/youtube/v3/live/docs/
We need some code similar to that provided by the hangouts api, e.g.
<script src="https://apis.google.com/js/platform.js" async defer>
</script>
<div class="g-hangout" data-render="createhangout"
data-initial_apps="[{ app_id : '123456789012', start_data : 'dQw4w9WgXcQ', 'app_type' : 'ROOM_APP' }]">
</div>
but that will work with the new youtube streaming api. Any ideas?
The YouTube live documentation talks about being able to create a broadcast, but it seems to be only for custom "streaming" broadcasts and not hangouts:
https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/insert
The new events page allows us to select the "quick" type, which creates a hangout on air (https://www.youtube.com/my_live_events?action_create_live_event=1) so we can create HOAs manually, but not programmatically? We would very much appreciate clarity from Google on this.
It seems that support for Hangout on Air Buttons, creation of HOAs via API has been dropped no?
Note that Google is specifically requesting support questions for the Youtube LiveStream API are posted to StackOverflow:
https://developers.google.com/youtube/v3/live/support
The functionality all started working again after a 3 week break. We're not sure if Google changed anything. There were no changes on our end. Buttons for starting HOA's have been stable now for the last two months or so ...

How to switch local video without switching audio in a webrtc conference?

I have two or more cameras connected to my pc. My goal is, to switch between the local cameras in an ongoing webrtc videoconference - but only to switch video from camera 1 to camera 2 NOT audio. Audio should always come from camera 1.
How to toggle between the two videoTracks?
See this answer.
Basically you can use replaceTrack() in Firefox to do this today for a seamless replacement of a camera. This is being added to the spec, but Chrome doesn't support it yet.
The best you can do in Chrome today is to get a new stream with the same mic but a different camera, remove the old stream/tracks from the PeerConnection and add the new one, and then handle onnegotiationneeded and renegotiate. This will likely cause a glitch, and will require at least a couple of round-trip-times to complete. (This will work in Firefox as well.

Play and pause media on windows mobile device from a separate app

I need to make an app for windows mobile devices which will play and pause media despite of the current player in use. Are there any system calls I can use or any API that I can refer?
Thank you in advance.
Use background audio player to achive your functionality, here is step by step implementation of your query
click here: