screen capturing color mismatch/blurring and unexpected screen/application exposure
Reported by
dsolo...@ringcentral.com,
Jun 27 2017
|
|||||||||
Issue descriptionUserAgent: 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
,
Jun 28 2017
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....
,
Jun 28 2017
here is the link to video: https://drive.google.com/file/d/0B0eqZnxiWvs6ZmRPSGpfZVNYZlk/view
,
Jun 29 2017
,
Jun 29 2017
,
Jun 29 2017
,
Jul 5 2017
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.
,
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
,
Jul 12 2017
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!
,
Jul 12 2017
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
,
Jul 13 2017
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.
,
Jul 13 2017
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?
,
Jul 18 2017
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.
,
Jul 26 2017
@braveyao-- Could you please provide any updates on this issue . Thanks!
,
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
,
Jul 31 2017
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!
,
Jul 31 2017
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.
,
Aug 9 2017
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
,
Aug 11 2017
Canary 62.3182 contains the fix to Win10.
,
Aug 28 2017
,
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 |
|||||||||
Comment 1 by sandeepkumars@chromium.org
, Jun 28 20172.7 MB
2.7 MB View Download