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

Issue 630266 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Video Quality very poor using Samsung S5

Reported by fredlcl...@comcast.net, Jul 21 2016

Issue description

Example URL:
ConnectUsCom.com, appear.in, github WebRTC demo

Steps to reproduce the problem:
1. Create a WebRTC call using Chrome on Android
2. 
3. 

What is the expected behavior?
Video is very dark and poor quality

What went wrong?
I am having a quality problem using Video with a WebRTC application on my Android phone.  The phone is a Samsung S5 (SM-G900V) running Android Vs 6.0.1.  The Chrome browser is vs 51.  I am using the ConnectUs webrtc application.  The video is very dark and seems of a rather poor quality. The problem is the video created on the Android; the far end video being diplayed on the phone is fine.  Other Android phones seem to be able to run the same app with no problems.  I can run it on my desktop Chrome and on IOS phones with no problem.  I thought it must be a phone hardware problem, but native type apps can display the video just fine, but using WebRTC on Chrome on Android is consistently poor.  I have tried with Skype, Vidyo, and the Appear.in SDK and they work normally.  I have also tried 3 WebRTC apps with the Chrome on Android browser and they are all dark and poor. They are Appear.in (non SDK), ConnectUsCom.com, github WebRTC demo.

Did this work before? N/A 

Is it a problem with Flash or HTML5? N/A

Does this work in other browsers? N/A 

Chrome version: 51  Channel: n/a
OS Version: 6.0.1
Flash Version:
 
Screenshot_2016-07-12-07-12-45.png
711 KB View Download
Cc: tommi@chromium.org
Components: -Internals>Media Blink>WebRTC>Video

Comment 2 by cwar...@gmail.com, Jul 21 2016

I can confirm the same issue happens on my Galaxy S5.

getUserMedia video is very dark.  For example simple demo at gives dark video:
https://webrtc.github.io/samples/src/content/getusermedia/gum/

On same phone, built in camera app does not have the problem.  Same webrtc demo shows fine video from a PC.

This did not happen until relatively recently.  Probably 1 month ago video was fine.  Android upgrade to 6.0.1 happened in that timeframe, which may or may not be related.  Phone is Verizon Galaxy S5, not rooted.  Running Android 6.0.1 and Chrome 51.0.2704.81.
Screenshot_webrtc.png
384 KB View Download
Screenshot_camera_app.png
2.4 MB View Download
Owner: tnakamura@chromium.org
Status: Assigned (was: Unconfirmed)
Issue repros on Samsung Galaxy S5/MMB29M. 

Logcat and video @ http://go/chrome-androidlogs1/6/630266
This really seems to be an issue with Chrome for Android rather than the Samsung phone.  I have the same issue using an Asus tablet.
Cc: braveyao@chromium.org niklase@chromium.org
Owner: jansson@chromium.org
Sorry to play hot potato with you, Chris, but can you find an appropriate owner? Niklas/Tommi, is this something that Brave could look into?
Labels: Needs-Feedback
Owner: magjed@chromium.org
I guess the camera app controls the auto exposure in a different way than Chrome, since Chrome tries to achieve a specific FPS (30) while the camera app has a different criteria when taking a photo. 

cward42@ Could you paste a screenshot of the camera app i video mode since it's more comparable than the photo mode (does not have to achieve 30fps)?

magjed@ is there anything we can do here? I guess we are limited by the getUserMedia constraints used and if none are provided, a default set of params?

Comment 7 by magjed@chromium.org, Sep 20 2016

Cc: magjed@chromium.org
Owner: sakal@chromium.org
It looks like the problem is that the Chrome Android code selects a fixed 30 fps range instead of choosing an interval e.g. 15-30 fps. A fixed fps effectively disables auto exposure.

Sami - can you update the camera code in Chrome to prefer fps intervals with as low lower bound as possible, same as in webrtc: https://cs.chromium.org/chromium/src/third_party/webrtc/api/android/java/src/org/webrtc/CameraEnumerationAndroid.java?rcl=0&l=178.

The Camera1 fps selection code in Chrome is here: https://cs.chromium.org/chromium/src/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java?rcl=0&l=153

and the Camera2 fps selection code in Chrome is here:
https://cs.chromium.org/chromium/src/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java?rcl=0&l=299
Labels: -Needs-Feedback
What is the status of this. I would expect something like this to get fixed.  Google is working very hard on WebRTC and this doesn't leave a very good impression.  I first posted this in July and it is still an issue.  I have both an Asus tablet and a Samsung phone.  Both have this same problem.  It looks like you have identified the problem, but when is a fix coming?
Cc: sakal@chromium.org
Owner: mcasas@chromium.org
I'm sorry, and I agree we dropped the ball on this one. Two CL:s were actually uploaded to fix this  issue 3  months ago:
https://codereview.chromium.org/2354923002/ and https://codereview.chromium.org/2357863002/ but never got landed due to long review discussions.

The CL:s are still working and are relatively simple. mcasas@ - can we please land those CL:s so we can finally close this issue? sakal@ is now on vacation so I'm reassigning to you.
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 5 2017

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

commit 072357660ad4bc52bcfb4c3c4bb4ad71730b4367
Author: sakal <sakal@chromium.org>
Date: Thu Jan 05 21:20:01 2017

Update FPS selection logic in VideoCaptureCamera to select a wider FPS range.

The code fixes the bug referenced by the bug field. If requested fps is 15 and
the camera supports fps ranges 0 - 30, 10 - 20, 14 - 16 and 15 - 15. Previously,
we would choose 15 - 15 fps. This is bad because it doesn't leave the camera
room to adjust based on the lighting conditions. Heuristic copied from WebRTC
chooses the 10 - 20 fps range instead.

BUG= 630266 

Review-Url: https://codereview.chromium.org/2354923002
Cr-Commit-Position: refs/heads/master@{#441755}

[modify] https://crrev.com/072357660ad4bc52bcfb4c3c4bb4ad71730b4367/media/capture/video/android/java/src/org/chromium/media/VideoCapture.java
[modify] https://crrev.com/072357660ad4bc52bcfb4c3c4bb4ad71730b4367/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 9 2017

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

commit 7bac8124646aede47a34fe5d97a9355b9d82c151
Author: sakal <sakal@chromium.org>
Date: Mon Jan 09 09:58:32 2017

Update FPS selection for camera2 implementation.

BUG= 630266 

Review-Url: https://codereview.chromium.org/2357863002
Cr-Commit-Position: refs/heads/master@{#442222}

[modify] https://crrev.com/7bac8124646aede47a34fe5d97a9355b9d82c151/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java

Status: Fixed (was: Assigned)
Labels: M-57
Cc: blum@chromium.org mcasas@chromium.org tnakamura@chromium.org cfraasch@chromium.org
 Issue 456522  has been merged into this issue.

Sign in to add a comment