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

Issue 737278 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 2
Type: Bug



Sign in to add a comment

screen capturing color mismatch/blurring and unexpected screen/application exposure

Reported by dsolo...@ringcentral.com, Jun 27 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

Steps to reproduce the problem:
1. capture any application window using screen sharing extension
2. attach stream to the video element - see images differences
3. move shared window - see background exposure

What is the expected behavior?
exact colors, no blurring, 
no desktop or application in background exposure

What went wrong?
a) colors mismatch and blurring on produced image/video. 
b) move captured application window - desktop or background application window (if any) will be exposed.

Did this work before? N/A 

Chrome version: 59.0.3071.115  Channel: stable
OS Version: 10.0
Flash Version: 

attached are two images: 
color mismatch+blurring and background window exposure
 
chrome-screencapture-issue-1.png
448 KB View Download
chrome-screencapture-issue-2.png
410 KB View Download
Labels: Needs-Evangelism
Tested this issue using latest stable #59.0.3071.115 on Win 10 and was unable to reproduce the issue as per the steps mentioned in original comment

@dsolovey: Could you please find the attached screen cast and let me know your observations.

Note: Could you please confirm Is this issue with Firefox or Chrome, if issue with Chrome please mention the screen capturing tool which you're facing the problem? that would help us in further triaging of the issue.

Thanks!!
Jun 28 2017 2-29 AM.webm
2.7 MB View Download
Screen capturing tool / extension: https://chrome.google.com/webstore/detail/screensharing-extension/lmkaaakdapgdbdkmcajaelnkfgcdcbla

the firefox is not an issue (i've just using it to get page with text and pics and some colors), in attached video you may se the same happens with FieExpolorer window

Note: my laptop in the dock station is connected to DELL display (DPI 100%), - I was unable to record desktop - screencastify crashes and give me error page. The video you see made from laptop monitor - 4K, DPI 200%. The color mismatch and exposure - reproduceable, the only difference - i see less blurring on laptop monitor, on dell monior - it is huge....

  


Labels: -Needs-Evangelism Needs-Triage-M59 Needs-Feedback

Comment 5 by blum@chromium.org, Jun 29 2017

Cc: blum@chromium.org huib@chromium.org
Owner: niklase@chromium.org
Cc: niklase@chromium.org
Owner: braveyao@chromium.org
The color mismatching/blurring shouldn't be an issue. I guess it's due to zooming during the capture/display. We don't do any post-capture process to the captured frame.

The background exposure is a known issue on Win10. On Win10, the original window capture methods, e.g. printWindow()/BitBlt(), don't work well to all the windows. So we have to crop the target window out from a whole screen capture. With the coordinates of the selected window retrieved from OS, some background will remain after cropping. Some problem happens to Skype's window capture too.

I'll check if there is any new methods available to public for window capture on Win10, since Skype works better now.
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/4a494ffd1255561ee9c17d3d2b3646f8c849e784

commit 4a494ffd1255561ee9c17d3d2b3646f8c849e784
Author: braveyao <braveyao@webrtc.org>
Date: Fri Jul 07 03:20:27 2017

desktop_capture:  crop border in window_capture on Win8/10

On Windows8/10, we prefer cropping desired window out from a whole screen
capture due to some reasons. The problem is Win10 has an invisible border
around the window. If we leave the border, it will expose background a bit.

This cl is about to always remove the border of desired window on Win8/10.
This will help a lot to capturing still windows during window sharing.
This cl still can't handle the background exposure issue when you move the
target window around during capturing. More investigation is needed.

BUG= chromium:737278 

Review-Url: https://codereview.webrtc.org/2973853002
Cr-Commit-Position: refs/heads/master@{#18921}

[modify] https://crrev.com/4a494ffd1255561ee9c17d3d2b3646f8c849e784/webrtc/modules/desktop_capture/win/window_capture_utils.cc

A) I think this ticket covers 4 issues, and to be clear should we create separate tickets?
    1: invisible border around target window - status in comment #8
    2: background exposure during target window move - investigation
    3: blurring - see below
    4: color mismatch - see below

B) we have made couple more tests on different windows|mac/laptops setups, and our findings are:

3.Blurring
The statement "due to zooming during the capture/display" seems true.
We have found that stream/video dimensions are expressed always in even numbers, only, and it seems the reason for blurring... we can reproduce it in windows 10 and mac, see link: 

https://drive.google.com/file/d/0B0eqZnxiWvs6dEprRl9TVHI4VGs/view

(also, in the video you can see the code, please let us know if we are doing it wrong way)

4.Color mismatch
It can be reproduced in windows 10 and mac.
I've set target application (firefox in this case) window to specific width and height to avoid blurring effect.
then I have captured window in chrome, result can be seen here:

https://drive.google.com/file/d/0B0eqZnxiWvs6Z19mMHJObUxfY2c/view

Thanks a lot!
Project Member

Comment 10 by sheriffbot@chromium.org, Jul 12 2017

Cc: ranjitkan@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "ranjitkan@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
dsolovey@, thanks for updating. 
The burring/color-mismatch issues are pretty tricky and vary from device to device. Basically on my devices, I can only see the blurring issue. Color always matches well, see the enclosed screenshot.
Skype does similarly too. I can't tell the blurring situation is better in Skype. More or less, I would say it's an OS limitation. Don't think there is much we can do.

I'll continue to investigation the moving exposure issue. Priority won't be high though.
window-capture.png
228 KB View Download
3.Blurring 
no, it is not depend on device nor os, and yes, it can be fixed, because firefox on the same platforms works, no blurring.

for chrome - whenever the target window has width or height as an odd number - blurring appears.

As i said before, for whatever reason chrome's video.videoWidth and video.videoHeight are always even numbers. For the 123x123 target window the v.videoWidth and v.videoHeight expected to be equal to 123, not 122, nor 124, but they are not. where is the problem? in the cpaturer? in the video element? in between? who can check it?



Thanks dsolovery@! Sorry for not getting your point right in the beginning.
I think you're right. I tried to always crop the capture of the target window with even width/height, then the blurring situation is fairly good all the time. The reason should be the inner I420 processing requests even frame width/height, so scaling down/up will be applied to the captured frame which causes the blurring.

I'll check with others about what's the best solution in chromium. Update soon.
Labels: Needs-Feedback
@braveyao-- Could you please provide any updates on this issue .

Thanks!
Project Member

Comment 15 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a454b2bc9ff737a8af0ff9510e3fe42d91a51c63

commit a454b2bc9ff737a8af0ff9510e3fe42d91a51c63
Author: braveyao <braveyao@chromium.org>
Date: Fri Jul 28 02:26:40 2017

desktop_capture: make window_capture with even size to avoid blurring

If we do a window capture to an app window with odd width/height as is,
The captured frame will look blurring, due to scaling frame with odd size
to internal frame with even size(as requst of I420 format).
In this cl, we'll make sure the captured frame always with even size.

Bug:  737278 
Change-Id: I24100a1b876a445d4e1e6f2b2e5cf491a9dcb6c4
Reviewed-on: https://chromium-review.googlesource.com/580540
Reviewed-by: Zijie He <zijiehe@chromium.org>
Commit-Queue: Weiyong Yao <braveyao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490214}
[modify] https://crrev.com/a454b2bc9ff737a8af0ff9510e3fe42d91a51c63/content/browser/media/capture/desktop_capture_device.cc

Cc: hdodda@chromium.org
Tested the issue on windows 10 & 7 using chrome M62 #62.0.3172.0 and followed steps from original comment and comment #2 .

The screensharing extension link provided in comment #2 is added and unable to capture application or window using the extension.

Attached screencast for reference.

@braveyao -- Could you please check attached screencast and help us with the repro steps to verify the fix .

Thanks!
737278.mp4
2.1 MB View Download
Labels: OS-Linux
Status: Fixed (was: Unconfirmed)
I have no idea about that extension, which doesn't work at my side too. But I suppose you can test with Hangout.

The issue should have been fixed in 62.3170 already.
this is our test extension - restricted to localhost and couple domain names... pretty standard, I've mentioned its id in case you can access it's code and see if we are doing something weird...
yes, you can use any extension which allow screen capture 
thanks


Canary 62.3182 contains the fix to Win10.

Comment 20 by huib@chromium.org, Aug 28 2017

Components: Blink>GetUserMedia>Desktop
Project Member

Comment 21 by bugdroid1@chromium.org, Aug 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aa3f382c73bfa8d01efb096b30d590efd5856c77

commit aa3f382c73bfa8d01efb096b30d590efd5856c77
Author: Yuri Wiitala <miu@chromium.org>
Date: Tue Aug 29 21:55:46 2017

Media video_util: Add ComputeLetterboxRegionForI420()

This adds a derivative of the ComputeLetterboxRegionForI420() utility
function that returns a Rect that always lays on I420 chrome sample
boundaries. This is a follow-up, along the lines of  bug 737278  and other
discussion threads, to improve screen video capture quality.

This function will be used soon in the new VIZ-based tab capture
implementation. This will improve quality on all of: 1) tab capture on
all platforms; 2) browser window capture on Aura platforms; 3) desktop
capture on CrOS.

Bug:  737278 ,  754872 
Change-Id: Ibaeb09c0257358ba3e7f514d1e1267fa50dfe224
Reviewed-on: https://chromium-review.googlesource.com/639653
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498245}
[modify] https://crrev.com/aa3f382c73bfa8d01efb096b30d590efd5856c77/media/base/video_util.cc
[modify] https://crrev.com/aa3f382c73bfa8d01efb096b30d590efd5856c77/media/base/video_util.h
[modify] https://crrev.com/aa3f382c73bfa8d01efb096b30d590efd5856c77/media/base/video_util_unittest.cc

Sign in to add a comment