New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 889385 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

MediaRecorder from canvas stream records no frames

Reported by prestoma...@gmail.com, Sep 26

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36

Steps to reproduce the problem:
1.  Navigate here: https://60f36c9d92fb44eca89d4a610143b8ac.us-west-2.sumerian.aws/
2. Wait for the digital person to finish talking and a webm file will download
3. Watch the downloaded video

What is the expected behavior?
The video contains video and audio of what was just seen on the webpage, video from the webgl canvas and audio from the AudioContext from the destination stream

What went wrong?
There appears to be no video frames(or perhaps just black video frames) in this video file. Audio is still recorded

Did this work before? Yes Early May

Does this work in other browsers? Yes

Chrome version: 69.0.3497.100  Channel: stable
OS Version: OS X 10.12.6
Flash Version: 

I have another similar demo which I cannot share but used the same technique, this demo worked in May but no longer works.

This mediarecorder works in recent firefox on this same mac book pro.
The blank frames behavior is observed in Chrome Stable and Canary( 71.0.3561.0) on this mac, Chrome stable on a nearby windows laptop, and Chrome Stable on my Essential Android phone.

The various webrtc demos online seem to work, so it may be something complicated about the Amazon Sumerian setup.
 
Labels: Needs-Bisect Needs-Triage-M69
Components: -Blink>MediaStream Blink>MediaStream>CaptureFromElement Blink>MediaRecording
Cc: junov@chromium.org susan.boorgula@chromium.org
Labels: -Pri-2 -Needs-Bisect hasbisect-per-revision RegressedIn-61 Triaged-ET Target-70 Target-71 M-71 FoundIn-71 FoundIn-70 Target-69 FoundIn-69 OS-Linux OS-Windows Pri-1
Owner: kbr@chromium.org
Status: Assigned (was: Unconfirmed)
prestomation@ Thanks for the issue.

Able to reproduce this issue on Windows 10, Mac OS 10.13.3 and Ubuntu 17.10 on the reported version 69.0.3497.100 and latest Canary 71.0.3563.0.

Bisect Information:
===================
Good Build: 61.0.3116.0
Bad Build : 61.0.3117.0

Note: On the good build, on playing the downloaded video file, can observe that the video is flickering. Whereas on the bad build, the video is blank.

By running per-revision script, below is the Changelog URL.
https://chromium.googlesource.com/chromium/src/+log/689b17cf4486256b43eec737c1f682d62ce7c08f..7afb5d6ecb4e07b91c16c85cee3e70d91467452c

From the above Changelog, suspecting the below change:
Reviewed-on: https://chromium-review.googlesource.com/517764

As the owner junov@ is not available, assigning the bug to the reviewer kbr@.
kbr@ Please check and confirm if this issue is related to your change, else help us in assigning to the right owner.

Thanks..
Cc: kbr@chromium.org
Labels: -Pri-1 Pri-2
Owner: emir...@chromium.org
Emircan, as implementer of MediaRecorder from canvases, could you help with this?

If this has happened since Chrome 61 it's not P1. Downgrading to P2.

Cc: mcasas@chromium.org
Components: -Blink>MediaRecording
Given the suspected CL https://chromium-review.googlesource.com/517764,
this doesn't seem to be a MediaRecorder issue, but a canvas.captureStream()
not producing frames as it used to -- my guess is that the WebGL canvas
produces no frames because is not visible, prestomation@, could you
make the webgl canvas visible and verify the frames are recorded correctly?Thanks
In the repro, the webgl canvas IS visible, unless I'm misunderstanding something?
The state where the recording is made (the one that shows "AWS" and 
"MEDIACAPTUREDEMO" with a progress bar), has no visible canvas, right?
Maybe the canvas is visible but is wrapped in a hidden element?

<div id="canvas-screen" class="hidden">
  <div id="canvas-outer">
    <div id="canvas-inner"><!-- The canvas is added here --></div>

Also I see we're using a WebGL2 context, I'm not sure if that
could also have an influence
The recording does not start until after the progress bar has finished and the canvas appears on screen, You should see virtual woman talking. You will have to press the unmute button(autoplay blocking), but she will speak to you the current time and then the video saves. The audio track of this video has her speaking, but has no frames(or the frames are blank), but during the recording you should see her speaking.

It is possible the canvas renders its first few frames before that loading div goes away, could this be a factor? I only require recording the canvas when it's visible, but AFAICT it IS visible while she is speaking.
Screen Shot 2019-01-09 at 2.52.07 PM.png
100 KB View Download

Sign in to add a comment