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

Issue 719023 link

Starred by 77 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Feature

Blocked on:
issue webrtc:8538

Blocking:
issue 719024



Sign in to add a comment

Add support for H264 software encoding in Android

Project Member Reported by mcasas@chromium.org, May 5 2017

Issue description

Splinter from all the discussions in 
https://bugs.chromium.org/p/chromium/issues/detail?id=500605

The gist: Android has no H264 software encoder, neither using
OpenH264 nor any other library.  Some more info in the i2s/pSA
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/rsokc4bi8R4
 
Blocking: 719024

Comment 2 by mich...@cache.works, Jun 15 2017

Are there any plans to work on this?
With iOS 11 and Safari supporting h264 it would open up opportunities for interoperability

Comment 3 by mcasas@chromium.org, Jun 15 2017

michael@cache.works, one of the easiest ways to get this ball 
rolling is to star this issue, and get other interested developers
to do the same.
This needs to be addressed either by Apple adding VP8 to WebRTC in Safari 11(iOS 11) or Google adding H264 to WebRTC in Chrome for Android. 

As it is right now calls between Safari 11 (iOS 11) and Chrome (Android) are not possible because Android cannot send H264 video.
Adding support for the VP8 codec in Safari will not solve the problem of the lack of H.264 in Chrome on Android.

There are a lot of equipment (IP cameras, NVR recorders, etc) that can only give H.264 and Chrome must be able to decode this video.

Now we recommend all our clients to use Firefox on Android for WebRTC, they have a working H.264 software decoder.

I hope in the future we will be able to recommend using Chrome on Android for WebRTC

Comment 6 by hthet...@gmail.com, Oct 27 2017


> Shao Changbin
> Added 01/Dec/14 11:41 PM
> We have landed two patches for this in Chromium upstream to support H264 VEA for Android. However, there are still needs discussion with upstream upon codec negotiation of H264. Will update the bug after reach agreement with upstream discussion.


Original work on H264 on Android date 2014 by Crosswalk. Any reasons or blocker that explains this has not been merge to may be solved them.


https://crosswalk-project.org/jira/plugins/servlet/mobile#issue/XWALK-2310

Comment 7 by mmong...@gzero.ca, Nov 27 2017

So The issue seems to be (In November 2017) that there is no software support within Chrome for Android for H.264. 
There may be hardware support on some devices but not within the browser itself, making it difficult to inter-operate with Safari on WebRTC.
Some devices (with hardware support) will work. Others will not.
Is this correct?

Thanks 
That is the issue yes. Good summary!

Comment 9 by mmong...@gzero.ca, Nov 28 2017

Are there plans to add software support to Android Chrome in the near future? e.g. by March 2018?

Re. #7:
> making it difficult to inter-operate with Safari on WebRTC.
The lack of AVC1 software encoder also affects e.g. MediaRecorder.
Any progress on this?
Labels: -OS-Linux
vp8 support on iOS might be an issue because of the battery consumption for cases like SFU based video call. Support of H.264 support on Android / Chrome eco system would be great.
Any news on this subject?
I had successfull video and audio calls on android 8 and ios 11 safari and viscera, few days ago.

I can provide URL for cross test via email, I was surprised of the result, knowing the existence of this issue, I now think h264 flag is available on android chrome by default, could depend device if.so also or less possible that safari is now taking vpX but I have not investigated in details the SDP, may be I miss-tested.



Cc: -pbos@chromium.org
Cc: huib@chromium.org
Adding Huib as responsible PM.
This might be a dup of one he's following.

Any news on this issue ?

@hthet : I think that the problem concerns H264 software encoding (since there is no hardware encoding on some devices)
I was sent here by https://bugs.chromium.org/p/webrtc/issues/detail?id=4957#c23.

We are seeing increasing amount of failures for calls between Chrome for Android and Safari on iOS in Confrere lately due to the lack of SW H.264 support. For now our only option is to fall back to an audio only call.

iOS to Android is more likely in our case as a significant amount of our users use our product on the mobile web, and we can't fall back to an app in our case.
I am disappointed with the Chromium team and recently switched to Bromite (https://github.com/bromite/bromite), which is a Chromium fork that supports H.264 software encoding and includes an adblocker. 
huib@, hta@, is this bug in anyone's radar?
Blockedon: webrtc:8538
@Monorail Bromit does not support webrtc on android 8+ when I tested it, could be missing new android permission at runtime.

Thx for update @hub

Please keep working on this issue. Thx.

Cc: magjed@chromium.org
Re: https://bugs.chromium.org/p/webrtc/issues/detail?id=8538. We are not working on this and it's not in our radar.

I think your best bet to add H264 SW support is through MediaCodec with the Google software encoder/decoder: OMX.google.h264.encoder/decoder. Actually, doesn't Chrome support them already?

Sign in to add a comment