Description
It's limited that WebRTC only supports VP8 video codec at the moment.  While 
there are widespread video communication usage,  i.e, WebEx, Tandberg, etc, 
that are based upon H264[1].  Meanwhile, there are Crosswalk customer 
requirements hoping to add H264 support for WebRTC.

Affected component: Chromium Crosswalk / WebRTC

Related feature:  XWALK-2310

Target release: Crosswalk v10

Target Platform - Android P1, Tizen P2.

Implementation details:
 Basically there would be three parts of changes,

1.    Codec negotiation to use H264.  Plan to support H264 negotiation under 
command option guard. H264 will be the communication codec only if command line 
enables H264, AND both WebRTC ends support H264 encoding/decoding. Otherwise, 
go through the normal Vp8 codec path. Changes will mainly be in Libjingle.
2. Add encoding/decoding support for H264.  There are two ways to enable this 
change, internal way and external way.
For internal way,  we can add implementation inside WebRTC project by 
leveraging OpenH264 APIs,  there is long discussion over this option[2], 
disadvantage is it has to include H264 implementation binaries internally, this 
may raise potential license issues.
The external way would configure encoder/decoder outside WebRTC,  Chromium 
Android/ChromeOS has the VDA/EDA implementation of the WebRTC codec interfaces, 
then the handle of implementation is passed to WebRTC inside Libjingle. It 
doesn't have the license issues.
Consider Crosswalk is open source project, I prefer the latter option. Changes 
will happen in Chromium Crosswalk.
3. RTP packetization/depacketization support for H264. Upstream has added 
support for this. Ideally we can use it for the network transmission of H264 
encoded data. If changes are required, it would be inside WebRTC.

References:
[1] H.264 as Mandatory to Implement Video Codec for WebRTC.
http://tools.ietf.org/html/draft-burman-rtcweb-h264-proposal-04#section-8
[2] H.264 patch for Google Chrome webrtc video call.
https://groups.google.com/forum/#!topic/discuss-webrtc/U-y3or-dBOU

Thanks,
Changbin


_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to