Black Screen When Watching Webcam Recording
See original GitHub issueWhat happened and what did you expect to happen?
I was recording a meeting (using media capture pipeline) with a single attendee (myself) and noticed that the resulting webcam recording was presenting a black screen every few seconds of the meeting.
Whenever I stayed quiet in the meeting while having some background noise around me, the resulting webcam recording will end up showing a black screen until the moment where I start speaking again. This happens whenever I stay quiet.
Now, if I stay quiet in the meeting by muting my microphone or by using a noise cancellation software (therefore removing all background noise), the media capture pipeline would continue recording my presence uninterruptedly without showing any black screen in the resulting webcam recording.
I recorded some samples where the issue can be seen pretty clear. These include timestamps of the occurrences where the issue was visible in the webcam recording as well as the meeting events generated by the media capture pipeline during the meeting session.
The meeting was recorded at the default resolution, which I believe is 540p, and using the default bitrate of 1400 kbps.
https://drive.google.com/file/d/1MJ86FJ0ehuuDwfAjgN2zTqROwzgO0tUN/view?usp=sharing
I also uploaded a Github Gist with the sample code I was using to replicate this issue. Worth mentioning that these meetings took place within Electron and the code was executed inside the Electron Fiddle IDE software to build up a quick sample where I could reproduce the issue without any obstacles. Inside the gist, you’ll want to focus in the preload.js
since this is where the important stuff is happening.
https://gist.github.com/4feaf62b901560abb5a2c8ce0b2d8de4
Also, this is the configuration we’re using in the backend to create the media capture pipeline:
const captureRequest = {
SourceType: "ChimeSdkMeeting",
SourceArn: `arn:aws:chime::${awsAccountId}:meeting:${meetingId}`,
SinkType: "S3Bucket",
SinkArn: `arn:aws:s3:::${mediaCaptureBucket}/${s3BasePrefix}${objectPath}`,
};
We’re using the default ArtifactsConfiguration, which includes recording only the active speaker. Our meetings will always contain a single attendee, therefore the idea is to record the user since the very first moment he speaks all the way up to the end of the meeting.
Have you reviewed our existing documentation?
Reproduction steps
- Start a new chime meeting and record it using media capture pipeline.
- Stay quiet for the rest of the meeting and make sure to have some background noise around.
Amazon Chime SDK for JavaScript version
2.30.0
What browsers are you seeing the problem on?
Electron (Chromium)
Browser version
Electron v18.0.1 and v15.3.1
Meeting and Attendee ID Information.
First meeting ID in the samples provided - d31b018d-436e-4aa4-b880-8920c7480706 Second meeting ID in the samples provided with no issues - 4190fee0-fe4b-4234-9554-aae177d50706 Third meeting ID in the samples provided with no issues - fdbbac8b-7c09-4251-a02a-c73e694b0706 Last meeting ID in the samples provided - 37b8a79c-c427-45bb-a52c-ad50cfb30706
Those two are the meetings where the issue was noticeable.
Browser console logs
Unfortunately, I didn’t take note of the logs being generated in the session, but up above you’ll find a link with some recording samples as well as the meeting events that were generated by the media capture pipelines.
If the information above isn’t enough, then I will gladly create another meeting and attach in this post the logs generated.
Issue Analytics
- State:
- Created a year ago
- Comments:14 (5 by maintainers)
Top GitHub Comments
Hi, we have deployed fix to the following regions - ap-northeast-1 us-east-1 us-east-2 ap-southeast-1 eu-west-1 sa-east-1 eu-south-1 ap-southeast-2
We will update you as soon as we deploy to remaining regions. Thanks
Hi, Yes, we were able to replicate where active speaker is recorded as blank. We have found an issue in our backend service. We are working on fixing the issue. We will let you know once fix and deploy the changes.