Intent to Ship: Deprecate and remove Theora support.

5,112 views
Skip to first unread message

Dale Curtis

unread,
Oct 23, 2023, 11:53:14 AM10/23/23
to blink-dev

Contact emails

dalec...@chromium.org

Explainer

None

Specification

https://en.wikipedia.org/wiki/Theora

Summary

Chrome will deprecate and remove support for the Theora video codec in desktop Chrome due to emerging security risks. Theora's low (and now often incorrect) usage no longer justifies support for most users. Notes: - Zero day attacks against media codecs have spiked. - Usage has fallen below measurable levels in UKM. - The sites we manually inspected before levels dropped off were incorrectly preferring Theora over more modern codecs like VP9. - It's never been supported by Safari or Chrome on Android. - An ogv.js polyfill exists for the sites that still need Theora support. - We are not removing support for ogg containers. Our plan is to begin escalating experiments turning down Theora support in M120. During this time users can reactivate Theora support via chrome://flags/#theora-video-codec if needed. The tentative timeline for this is (assuming everything goes smoothly): - ~Oct 23, 2023: begin 50/50 canary dev experiments. - ~Nov 1-6, 2023: begin 50/50 beta experiments. - ~Dec 6, 2023: begin 1% stable experiments. - ~Jan 8, 2024: begin 50% stable experiments. - ~Jan 16th, 2024: launch at 100%. - ~Feb 2024: remove code and chrome://flag in M123. - ~Mar 2024: Chrome 123 will roll to stable.



Blink component

Internals>Media>Codecs

Search tags

theoravp3video

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

Sites which only provide a Theora video source will no longer have video playback. These sites would already be broken in Chrome for Android or Safari.



Gecko: Under consideration Private discussions. I asked if they'd like an RFP for this, but haven't yet heard back.

WebKit: Shipped/Shipping (https://caniuse.com/ogv) Safari never shipped support for Theora.

Web developers: Mixed signals Most developers are not likely to have an opinion, some may lament the loss of one of the first open codecs on the web.

Other signals:

Security

Security positive change -- removes support for a complicated binary parsing and decoding mechanism.



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None, never supported on Android or WebView.



Debuggability

Can be debugged through media dev tools or chrome://media-internals.



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

Yes

Not currently supported on Chrome for Android.



Is this feature fully tested by web-platform-tests?

Yes

As part of pre-work, I've switched all tests using Theora (of which there were hundreds) over to using VP8/VP9 where appropriate.



Flag name on chrome://flags

TheoraVideoCodec

Finch feature name

TheoraVideoCodec

Requires code in //chrome?

False

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1489034

Estimated milestones

DevTrial on desktop120


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5158654475239424

This intent message was generated by Chrome Platform Status.

Dale Curtis

unread,
Oct 23, 2023, 11:54:58 AM10/23/23
to blink-dev
Hmm, not sure why the description got reflowed, here's the formatted version:

Chrome will deprecate and remove support for the Theora video codec in desktop Chrome due to emerging security risks. Theora's low (and now often incorrect) usage no longer justifies support for most users.

Notes:
- Zero day attacks against media codecs have spiked.
- Usage has fallen below measurable levels in UKM.
- The sites we manually inspected before levels dropped off were incorrectly preferring Theora over more modern codecs like VP9.
- It's never been supported by Safari or Chrome on Android.
- An ogv.js polyfill exists for the sites that still need Theora support.
- We are not removing support for ogg containers.

Our plan is to begin escalating experiments turning down Theora support in M120. During this time users can reactivate Theora support via chrome://flags/#theora-video-codec if needed.

The tentative timeline for this is (assuming everything goes smoothly):
- ~Oct 23, 2023: begin 50/50 canary dev experiments.
- ~Nov 1-6, 2023: begin 50/50 beta experiments.
- ~Dec 6, 2023: begin 1% stable experiments.
- ~Jan 8, 2024: begin 50% stable experiments.
- ~Jan 16th, 2024: launch at 100%.
- ~Feb 2024: remove code and chrome://flag in M123.
- ~Mar 2024: Chrome 123 will roll to stable.

- dale

Dale Curtis

unread,
Oct 23, 2023, 12:32:29 PM10/23/23
to blink-dev

Mike Taylor

unread,
Oct 23, 2023, 1:02:24 PM10/23/23
to Dale Curtis, blink-dev

On 10/23/23 11:54 AM, Dale Curtis wrote:

Hmm, not sure why the description got reflowed, here's the formatted version:

Chrome will deprecate and remove support for the Theora video codec in desktop Chrome due to emerging security risks. Theora's low (and now often incorrect) usage no longer justifies support for most users.

Notes:
- Zero day attacks against media codecs have spiked.
- Usage has fallen below measurable levels in UKM.
- The sites we manually inspected before levels dropped off were incorrectly preferring Theora over more modern codecs like VP9.
Meaning, once Theora support is gone, video playback continues to work for all sites you inspected because media source selection found something else playable?

- It's never been supported by Safari or Chrome on Android.
- An ogv.js polyfill exists for the sites that still need Theora support.
- We are not removing support for ogg containers.

Our plan is to begin escalating experiments turning down Theora support in M120. During this time users can reactivate Theora support via chrome://flags/#theora-video-codec if needed.

The tentative timeline for this is (assuming everything goes smoothly):
- ~Oct 23, 2023: begin 50/50 canary dev experiments.
- ~Nov 1-6, 2023: begin 50/50 beta experiments.
- ~Dec 6, 2023: begin 1% stable experiments.
Even though UKM appears to be exceedingly low, if you're not 100% confident this will be a no-op, you might consider beginning the stable experiment after the new year (and many production freezes).
--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPUDrweFkY_XTZGDJafQ9RpT7V84WSBsoNMe5XcG6z_XN8XG2g%40mail.gmail.com.

Dale Curtis

unread,
Oct 23, 2023, 1:13:32 PM10/23/23
to Mike Taylor, blink-dev
On Mon, Oct 23, 2023 at 10:02 AM Mike Taylor <mike...@chromium.org> wrote:

On 10/23/23 11:54 AM, Dale Curtis wrote:

Hmm, not sure why the description got reflowed, here's the formatted version:

Chrome will deprecate and remove support for the Theora video codec in desktop Chrome due to emerging security risks. Theora's low (and now often incorrect) usage no longer justifies support for most users.

Notes:
- Zero day attacks against media codecs have spiked.
- Usage has fallen below measurable levels in UKM.
- The sites we manually inspected before levels dropped off were incorrectly preferring Theora over more modern codecs like VP9.
Meaning, once Theora support is gone, video playback continues to work for all sites you inspected because media source selection found something else playable?

Correct, if Theora support was missing users would have a higher quality experience due to a more modern codec being selected.
 
- It's never been supported by Safari or Chrome on Android.
- An ogv.js polyfill exists for the sites that still need Theora support.
- We are not removing support for ogg containers.

Our plan is to begin escalating experiments turning down Theora support in M120. During this time users can reactivate Theora support via chrome://flags/#theora-video-codec if needed.

The tentative timeline for this is (assuming everything goes smoothly):
- ~Oct 23, 2023: begin 50/50 canary dev experiments.
- ~Nov 1-6, 2023: begin 50/50 beta experiments.
- ~Dec 6, 2023: begin 1% stable experiments.
Even though UKM appears to be exceedingly low, if you're not 100% confident this will be a no-op, you might consider beginning the stable experiment after the new year (and many production freezes).

I did consider this and ran this plan by Finch team ahead of time, however given the low usage, long dev/beta experiments, that these sites would already be broken on Android/Safari, and that we'd still have time to turn down the 1% stable experiment before Finch freeze, leaving at 1% until after holiday freezes should be safe.

Yuhong Bao

unread,
Oct 23, 2023, 11:44:06 PM10/23/23
to blink-dev, Dale Curtis

I am asking the WMF to add MP4:

Mike Taylor

unread,
Oct 24, 2023, 7:49:55 AM10/24/23
to Dale Curtis, blink-dev

On 10/23/23 1:13 PM, Dale Curtis wrote:

On Mon, Oct 23, 2023 at 10:02 AM Mike Taylor <mike...@chromium.org> wrote:

On 10/23/23 11:54 AM, Dale Curtis wrote:

Hmm, not sure why the description got reflowed, here's the formatted version:

Chrome will deprecate and remove support for the Theora video codec in desktop Chrome due to emerging security risks. Theora's low (and now often incorrect) usage no longer justifies support for most users.

Notes:
- Zero day attacks against media codecs have spiked.
- Usage has fallen below measurable levels in UKM.
- The sites we manually inspected before levels dropped off were incorrectly preferring Theora over more modern codecs like VP9.
Meaning, once Theora support is gone, video playback continues to work for all sites you inspected because media source selection found something else playable?

Correct, if Theora support was missing users would have a higher quality experience due to a more modern codec being selected.
 
- It's never been supported by Safari or Chrome on Android.
- An ogv.js polyfill exists for the sites that still need Theora support.
- We are not removing support for ogg containers.

Our plan is to begin escalating experiments turning down Theora support in M120. During this time users can reactivate Theora support via chrome://flags/#theora-video-codec if needed.

The tentative timeline for this is (assuming everything goes smoothly):
- ~Oct 23, 2023: begin 50/50 canary dev experiments.
- ~Nov 1-6, 2023: begin 50/50 beta experiments.
- ~Dec 6, 2023: begin 1% stable experiments.
Even though UKM appears to be exceedingly low, if you're not 100% confident this will be a no-op, you might consider beginning the stable experiment after the new year (and many production freezes).

I did consider this and ran this plan by Finch team ahead of time, however given the low usage, long dev/beta experiments, that these sites would already be broken on Android/Safari, and that we'd still have time to turn down the 1% stable experiment before Finch freeze, leaving at 1% until after holiday freezes should be safe.

OK, that sounds reasonable. Can you also request the rest of the review bits in the chromestatus entry?

Dale Curtis

unread,
Oct 24, 2023, 1:02:18 PM10/24/23
to Mike Taylor, blink-dev
Done, thanks I thought that was automatic these days.

 

Mike Taylor

unread,
Oct 24, 2023, 1:04:35 PM10/24/23
to Dale Curtis, blink-dev

LGTM1 to deprecate and remove. RIP Theora, we hardly knew ye.

Dale Curtis

unread,
Oct 24, 2023, 1:05:32 PM10/24/23
to Yuhong Bao, blink-dev
WMF has long switched away from Theora (to VP9) per prior discussions with them and seconded by this comment: 

Switching to H264+MP4 is not necessary to avoid this deprecation. VP9+MP4, VP9/VP8+WEBM, or even VP8+OGG are all more viable open codec options.

- dale

Yoav Weiss

unread,
Oct 25, 2023, 4:37:48 AM10/25/23
to Dale Curtis, Yuhong Bao, blink-dev
LGTM2

--
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+...@chromium.org.

Philip Jägenstedt

unread,
Oct 25, 2023, 5:32:51 AM10/25/23
to Yoav Weiss, Dale Curtis, Yuhong Bao, blink-dev
LGTM3 with sentimental feelings.

Back in 2010 (https://dev.opera.com/blog/re-introducing-video/) I was cheering for Theora and shipped support in Presto. We now have other open and RF video codecs which have been deployed on a much larger scale, and I'd like to think that Theora and the Xiph folks helped make the case for why we needed those codecs. Thank you Theora!

Dale Curtis

unread,
Oct 25, 2023, 11:20:30 AM10/25/23
to Philip Jägenstedt, Yoav Weiss, Yuhong Bao, blink-dev
On Wed, Oct 25, 2023 at 2:32 AM Philip Jägenstedt <foo...@chromium.org> wrote:
LGTM3 with sentimental feelings.

Back in 2010 (https://dev.opera.com/blog/re-introducing-video/) I was cheering for Theora and shipped support in Presto. We now have other open and RF video codecs which have been deployed on a much larger scale, and I'd like to think that Theora and the Xiph folks helped make the case for why we needed those codecs. Thank you Theora!

+1, Theora definitely helped light the path to where we are today with https://aomedia.org/. Thanks to all the early folks involved who got us here.
Reply all
Reply to author
Forward
0 new messages