1

I have implemented agora cloud recording and i am able to save recording files in Amazon S3. I am having issues in recorded video, where I am able to see one person only in my recording. Person who did not start recording.

Below are the steps.

  1. Start Video Call
  2. Other Person Joins call
  3. Acquire - Start Recording - Query (Status 5) - Recording is working
  4. Finish recording - recording uploaded success
  5. Check recording in Amazon S3 (I am able to see another person in recoding but not myself)

I have subscribed to both UID, also tried subscribing using select all

"subscribeVideoUids": [ "#allstream#" ], "subscribeAudioUids": [ "#allstream#" ],

Need to understand what is incorrect. Please find the full request below.

{"cname":"1000","uid":"3924255811","clientRequest":{"token":"006d144dfdf7042dcc742acaca3c34af3afe220IAD6qWGaJzXtNJerzqvOQv1tItIa4sVXAb82LOj2vRAygRejJGdfUjEAAubpgRidf8lgXwEA","recordingConfig":{"maxIdleTime":30,"streamTypes":2,"channelType":0,"videoStreamType":1,"transcodingConfig":{"height":640,"width":360,"bitrate":500,"fps":15,"mixedVideoLayout":1,"maxResolutionUid":"3924255811","backgroundColor":"#000000"},"subscribeVideoUids":["#allstream#"],"subscribeAudioUids":["#allstream#"],"subscribeUidGroup":0},"recordingFileConfig":{"avFileType":["hls"]},"storageConfig":{"accessKey":"xxxxxxxx","region":14,"bucket":"dummybucket","secretKey":"xxxxxxxx","vendor":1}}}
Bora
  • 1,933
  • 3
  • 28
  • 54

2 Answers2

1

In my experience, when only 1 user is recorded sometimes this is due to the recorder using the same UID as one of the users in the channel.

When calling the Agora Cloud Recording (acquire, start, stop) the UID should be unique from the users already in the channel.

Hermes
  • 2,828
  • 2
  • 14
  • 34
  • But if I am sending another UID while requesting cloud recording APIs, it's throwing an error, "cannot get sid of undefined, cannot get resource-id of undefined" etc. We need to send uid of the user who has joined the channel (In case of single-user recording), so how we can record a single user in a channel? and if we need to pass another UID to record a single user, where can we pass? – Neha Soni Nov 26 '20 at 06:17
0

Yes, This will not work if only a single user is present on the channel, below is the solution I applied to make it work.

  1. Create a new or local client that will join the channel but do not create this client's audio and video track.
  2. Now before proceeding to record, open a new window and on this window's load, create one more client (by doing the same as above) and this time allow to create it's audio and video track. This newly created client will behave like a local client in this window and a remote client in the original window.

What happening here is-

  1. The first time when we create a client, it joins the channel but not publishing any stream in the channel, but we have a UID of this client which we will use to send recording requests.
  2. On the second time when we open a new window and create a new or local client, this client is a remote client for the original window (In which recording is taking place or is being requested) and this is the client who is being recorded.

Ideally, there are two users in the channel in which one is publishing the stream (newly window client) and another one is not publishing but requesting the recording (original window client). Logically, the user who is being recorded is the same in both windows with different uids.

To record a single user, there should be at least two unique uid in the channel from which one uid person can request to record and another uid person can be recorded.

Hope this will help.

Neha Soni
  • 3,935
  • 2
  • 10
  • 32