Contact emails
h...@chromium.org, jianlin....@intel.com, e...@chromium.org

Specification
WebRTC: https://w3c.github.io/webrtc-pc

But there are no new API surfaces, just a new mime type addition exposed in 
existing APIs - the new mime type ("video/H265") is queryable via 
MediaCapabilities API:
https://w3c.github.io/media-capabilities/#dom-videoconfiguration-contenttype

If supported it will show up in SDP generated by WebRTC and sender/receiver 
capabilities which can be used to set codec preferences 
<https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences> 
(existing 
WebRTC API). Note that the codec is only used if successfully negotiated, 
meaning if the other endpoint does not support the codec then a different 
one is automatically used instead.

Summary

This newer codec has increased compression efficiency (higher quality per 
bitrate) relative to VP8/VP9/H264 and very strong hardware support going 
back over a decade. This translates into improved visual experience, 
increased battery life and reduced risk of performance issues. The codec is 
already industry standard and we should support it in WebRTC when provided 
by the platform, i.e. if it is available in hardware. This codec is already 
available in WebCodecs (M130) and MediaRecorder APIs (soon? 
<https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/YJ1QijNiHeM>). 
Support will be queryable via MediaCapabilities API. Safari has already 
shipped support in WebRTC.

H265 encoding is only available if the user's device and operating system 
provide the necessary capabilities as we will not provide a software 
implementation to fall back to.

Blink component
Blink>WebRTC>Video 
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EWebRTC%3EVideo%22>

TAG review/status
N/A, small incremental change

Risks
Interoperability and Compatibility

No significant backwards compat risk since the codec is only used if both 
endpoints negotiate it. Interop risk is also very small for the same reason 
- note that while this codec is new, needing to negotiate support else 
falling back to a different format is not a new dynamic: old codecs like 
H264 (that's ...4, not ...5) for example come in different flavors (profile 
IDs) where support is also HW and implementation specific and need to be 
negotiated, to that regard this is not fundamentally any different.

*Gecko*: Standards position 
link: https://github.com/mozilla/standards-positions/issues/1188
(Firefox has some non-WebRTC support for H265 already such as media playback 
<https://bugzilla.mozilla.org/show_bug.cgi?id=1924066>).

*WebKit*: Shipped, including WebRTC support.

*Web developers*: Strongly positive. This includes both internal and 
external developers who have both contributed code and emails asking for 
timelines.

WebView application risks

None

Debuggability

N/A

Will this feature be supported on all six Blink platforms (Windows, Mac, 
Linux, ChromeOS, Android, and Android WebView)?
Yes

Is this feature fully tested by web-platform-tests 
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?
Yes

Flag name on about://flags
No new flags are added specific to this codec but there are existing flags 
to disable  HW acceleration (any codec) which would also disable H265.

Finch feature name
WebRtcAllowH265Send for H265 encoding support and
WebRtcAllowH265Receive for H265 decoding support

Requires code in //chrome?
False

Tracking bug
https://crbug.com/391903235

Estimated milestones
Shipping on desktop
136
Shipping on Android
136
Shipping on WebView
136

Anticipated spec changes

None

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5153479456456704?gate=5188857236291584

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/dc0e11bc-5ca2-47f8-b01b-0deedb3a1038n%40chromium.org.

Reply via email to