Cloud and REST API based Recording and storing to Google bucket or AWS S3 - agora.io

I need to do cloud based recording. I need to take all video+audio streams of all clients. Then push to AWS S3 or Gcloud bucket or Agora storage itself. I need to do it through API since I have some criteria and also I need to organize the uploaded data in specific folder names.
I did not see any specific function in agora service to do so. Should I take copy of localstream and handle it on my own? If so, I hope it does not come in the way of agora functionality.. Please share if any sample project. Just to emphasize- I am not looking for on-premise SDK. I need to do it through REST. I use angular 8. I could write my own REST server (to deal cloud of my choice) if really needed.
Background study done-
In agora.IO documentation, I see lot of documentation about on-premise recording. I did not see any reference for cloud based recording. I checked the agora.IO documentation and also angular code which includes agora service component. Angular sample works fine. But I did not understand how to take the stream and upload to my cloud storage. I am concerned that it might impact the streaming and playback of agora. To handle this , I thought you might have specific guideline or library.
Thanks

There is a new Cloud Recording API in beta that Agora is offering that can connect to the channel and record the streams (configured by RESTful API) directly to your S3 bucket, currently GCP is not supported.
This is an add-on feature so it's not enabled by default and not available to be enabled through the dashboard, it needs to be enabled by the Agora team. Please Join the Agora Community Slack and send me a direct message with the AppID for which you wish to enable with this feature and I can get you into the beta program.

Related

Is it possible for the server to "listen in" to an audio or video stream?

Using agora.io I'd like to do something like realtime subtitles for video meetings.
Is there a way to have a server get at the data of the video/audio streams?
The server REST api seems very basic just for project management.
I want to get at the streaming audio data, not a local client capture like this demo
Perhaps I could use something like the cloud proxy although I would need to "T Pipe" the data, and I assume the data would be encrypted, not sure if the keys used are something I can get access to.
It also seems like the web client has browser dependencies; perhaps I could run that on a headless/chrome node server, but that seems like a hack and very resource intensive.
Any other suggestions on places I can look for APIs?
Also interested in other webrtc APIs and provider alternatives. Maybe Twilio has some APIs for this.
We provide Linux SDK on a case by case basis which you can deploy headless in your server. This SDK itself will act as a client that joins the channel and receives the video streams in the channel.
The SDK is written in c++ and is not public. you can request access by opening a support ticket at https://agora-ticket.agora.io/

How to linkup API in API manager with interface deployed in Cloud Hub?

I have an API deployed in API Manager, deployed one interface in cloud hub with API auto discover option.
In API manager, i gave cloudhub link as implementation url. so i thought both are linked up.
But when i apply SLA tier to API it is not getting applied. is there anything need to be done ?
Please first apply Auto discovery properly on the app. Create one API in the API manager. copy API ID into autodiscover configuration in the app. please find below link for details explanation.
Auto discovery article from dzone

Free online data storage for my bookstore web app in Grails

I'm developing an online free e-book sharing website and I want to use a free online data storage system (may be Google Drive or Dropbox or Box) to store the books uploaded and I want to be able to view and download the documents.
How can I access the storage programatically from my Grails-based web application?
I found the following helps which provide clear guides on how to implement the datastore integration with my app.
Google Drive Web APIs
Dropbox - Using the Core API in Java
One comparison of Google Drive and Dropbox can be seen here
If anyone has more resources with more free storage space (greater than 15GB), please share.

Uploading data from website to Azure Storage and Azure SQL

I am to implement a service such the user can upload files to azure storage, and also store the meta data in a azure sql database.
Lets say the user want to upload 1gb of data, is it then needed to be send to the webservice first and then from service to azure storage? Is there a way to initiate the upload and then the user sends the data directly to the server with azure storage?
I think i read something like that but cant find it now and not sure what to search for on google.
Yes this is possible but you'll need to use a client side technology which can talk to the REST API, like Silverlight for example. Steve Marx did a series of blog posts explaining how you can leverage Silverlight and the REST API to upload files to blob storage (even very large files): Uploading Windows Azure Blobs from Silverlight – Part 3: Handling Big Files by Using the Block APIs. And a Silverlight control is very easy to integrate in an existing website.

REST API versioning using AWS

After going trough this link on API versioning, i am trying to adapt the version through the headers and deploy it of AWS, but it looks like AWS does not support any custom verndor specific MIME types(link here)
Any idea how to achieve the versioning in this scenario where you do not have control over the MIME type...or any insights on how to do API versioning when using AWS?
My suggestion for cloud based service is "v1.api.mysite.com". It provides good flexibility. More details and reasoning here - http://timanovsky.wordpress.com/2013/01/28/api-versioning-scheme-for-cloud-rest-services/