Android Stream is blank when recording is started from backend

Hello, we are facing problem in openVidu conference calling. We start recording from backend for audio only when call is established(between 2 users). But the stream from Android app is blank when recording is started. If we dont start recording from backend then everything works fine.

Same issue with us. @micael.gallego - Just wondering if it’s an issue with native streams?

So we did a little more digging and if we start COMOSED VIDEO+AUDIO recording then it works fine.
If we start INDIVIDUAL AUDIO+VIDEO recording then we dont get videos from mobiles always.

@micael.gallego any suggestion ? we are suing 2.12.0 version

That makes sense. COMPOSED recording is just a virtual browser connected as a subscriber-only participant, receiving and displaying all streams published to the session and being recorded in the server side. So it is in the end just another final user. But INDIVIDUAL recording “processes” the media stream (it doesn’t really do much, just dumps all of the received data in disk. That’s why INDIVIDUAL recording is mucho more efficient and cheaper than COMPOSED recording).

So there might be some kind of unexpected condition / weird issue / bug when recording the stream of an Android devices that is affecting the ability of OpenVIdu to resend the stream to other users.

What kind of Android application you have? Please, tell us exactly how to replicate the issue using an official OpenVidu tutorial. If we are able to reproduce the problem, we’ll be much closer to being able to fix the problem.

So we initiate a call from Web and then send notification to the mobile to join call. Android user joins the call from mobile. When there are at least 2 users in a call, we start call recording from out back-end services. When we start call recording, the video doesnt stream to other devices. The thing is its working fine when calling between web to web. But video stream is not transmitting from mobile devices.

We are using this https://github.com/OpenVidu/openvidu-tutorials/tree/master/openvidu-android. your Android SDK to integrate it in our app.

checkout the json 1 recording produced. Video for web user is valid. Video from Android app is null. Neither audio nor video is recorded from mobile.

{
  "createdAt": 1591363741585,
  "id": "ypbazcpcrg",
  "name": "ypbazcpcrg",
  "sessionId": "ypbazcpcrg",
  "files": [
    {
      "connectionId": "con_XzKU1O6Zmb",
      "streamId": "str_CAM_SjH8_con_XzKU1O6Zmb",
      "size": 8269033,
      "clientData": "{\"clientData\":\"Fisher Patrick\",\"clientId\":\"00db64711c9148c6816a29f1db5fb9e6\"}",
      "serverData": "",
      "hasAudio": true,
      "hasVideo": true,
      "typeOfVideo": "CAMERA",
      "startTimeOffset": 357,
      "endTimeOffset": 80734
    },
    {
      "connectionId": "con_EbyFp1JdCL",
      "streamId": "str_CAM_H1s0_con_EbyFp1JdCL",
      "size": 0,
      "clientData": "{\"clientData\": \"Hassan Dar\"}",
      "serverData": "",
      "hasAudio": true,
      "hasVideo": true,
      "typeOfVideo": "CAMERA",
      "startTimeOffset": -1591363741585,
      "endTimeOffset": -1591363741585
    }
  ]
}

What is exactly the problem? The video coming from Android device is not recorded?

The video conference works as expected? Every participant is able to see each other?

Video coming from Android device is not recorded.
Other users are not able to see Android video also.
Web to web video session is working fine. Also we can see web video on Android but not the other way around.

We I checked the files on openvidu server, Web video was recroded correctly but there was nothing for mobile.

Web user is able to see other web users’ video but not the Android devices’ video.

@micael.gallego
@pabloFuente

Here is the problem.

When Native Android try to join the call and recording is enabled, Native Android stream is not transmitted to opponents. Though it start receiving streams of opponents from web (Web also get the call back that a peer has joined). Recording of Web users works fine but Android user are facing following problem (we did the testing with 12.2 and 12.4)

12.2 - COMPOSE + Audio/Video - Everything work
12.2 - INDIVIDUAL + Audio/Video - Don’t work

12.4 - COMPOSE + Audio/Video - Don’t work And Server go crazy
12.4 - INDIVIDUAL + Audio/Video - Don’t work

We start the recording as soon as first person join the call.
When we start the recording after Native android streaming has started, everything works fine.

Thank you for clarifying.

It is clearly a bug somewhere in the media server or in the signaling plane.

We will take a look.

Regards

@micael.gallego - Thanks for your comment. Is there any ETA for this? We are really looking forward for this feature to work.

We will work on recording issues in the following weeks, just after 2.15 release is published.

If you are really hurry, consider using our commercial services to prioritize specific bug fixing.

Regards

Hi itsaboutcode,

have you already fixed your problem?
We also have to develop a pure android app for sending a video stream to subscribers using the browser. The stream should also be recorded.
If the recording starts before the android publisher joins the session, the android stream is blank?

Best regards

Stefan

We have not tried it with 2.15 yet (will do it in coming weeks). @micael.gallego could let us know if it has been fixed with 2.15?

Hello @micael.gallego i am facing the same issue in 2.15, it this fixed in 2.16 version?

We were able to reproduce the issues with the Android tutorial application, and modified it to fix some incorrect handling of the media streams and the SDP negotiation of send/recv tracks.

In principle everything will be fixed for the release 2.21 of OpenVidu, but the gist of it can be seen in these two commits: 1, 2.

You would need to do similar changes to your application, or just clone the current master branch of the openvidu-tutorials repo to get the latest code.

1 Like