Bug: Licode fails to record properly; Can pay $3000 or more for the help

Hi All:

I have been trying to make Licode work for recording. I’ve been trying to reach out to Licode community for the help, and have been offering people to pay for consultancy for resolving the problem. But none has worked so far.

This is my last attempt to reach out to good-hearted Samaritans or any consultants in the community to help with the recording issue. I can pay $3000 for a reliable fix to this problem. If you think you can help for sure but want to charge more then ping me at rohit103@gmail.com

Subscriber sees speaker’s stream perfectly, but mkv recording gets corrupted. Here is the latest of such failed recordings: https://drive.google.com/file/d/1GmsL1Oi_FBFO-fP-pMVgdvh075eKf72W/view?usp=sharing

Such failure has been quite disruptive and stopping us from using this any further. We will have to switch to other solution and quit Licode altogether. Overall, it has been quite a frustrating, costly, waste of time and a bad experience.

Hey, you mean the freezed pic on the beginning of the video or did I miss something else?
What Version of licode are you using?
Is this always or just random?
Are you more than 2 People in the licode room while recording?

I just tested recording and got no problem on a Licode version (commit) from a week ago.

@Cracker_F thank you for giving it a look. I am using Licode docker: https://hub.docker.com/r/lynckia/licode/

It doesn’t happen always. And typically this corruption happens only in the starting 30 to 110 secs and then the rest of the recording is fine. I must note that subscriber sees speaker’s video good all the time, even when recording gets corrupted at the start.

  1. Could this be that subscriber’s bandwidth is affecting publisher’s recording? We use this setting to publish speaker’s room: room.publish(localStream, { minVideoBW: 1000, scheme: "notify-break-recover" });

  2. Would providing only audio to a subscriber and no video to subscriber prevent any recording degradation of speaker’s video?

Any suggestion on how to prevent recording corruption will be highly appreciated.

I was not able to reproduce the bug. Maybe you need to remove the minVideoBW for the localStream you want to record and try again?
Bandwith may not be calculated correct at the beginning of the stream.

“Would providing only audio to a subscriber and no video to subscriber prevent any recording degradation of speaker’s video?”
Maybe. Its hard for me to simulate low bandwith. For testing you could publish the stream (you want to record) to two independend rooms. One with other subscribers one empty. Then start recording on both and compair the results.

@Rohit_Aggarwal I haven’t been able to reproduce it locally yet, but it’s entirely possible that the recording problem has to do with a side effect of the adaptation scheme.
Removing minVideoBW and the scheme would be a good experiment. I would also enable simulcast, that way you will have a better solution than the adaptation schemes to improve video quality in subscribers.

But the documentation suggests that recording can’t be done for simulcast?

It was not possible in v4 but since this PR ExternalOutput is smart enough to record in simulcast. We’ve introduced a bunch of stability fixes since then so I would try a newer version of the code.
We will update the documentation accordingly, thanks for pointing that out!