Skip to main content
Up and Coming
June 5, 2021

Is there WebCodecs support in browser? (encoder, but not decoder?)

I'm trying to see if I can use native/accellerated video decoding in the web browser. With an origin trail setup, I get access to `VideoDecoder` and `VideoEncoder`. But when I try and create any `avc1` codec (eg `avc1.420028`) I get

`Failed to execute 'configure' on 'VideoDecoder': H.264 configuration must include an avcC description.`

 

I can actually create an encoder, using `avc1.42E01E` (only codec I tested) and encode frames.... Is there just missing decoder support in the chromium build?

 

https://poph264.com/SrcWeb/index.html Here it is working on desktop (as Poph264.com has an origin trial)

 

I'm testing every combination of profile+level I can for h264, but all with the same error.

https://github.com/NewChromantics/PopH264/blob/master/SrcWeb/PopH264.js#L167

 

Are there any decoders supported?

7 replies

Participant
June 12, 2021

The Oculus browser doesn't support AV1 encoding or decoding.

Can you tell me how you set up an origin trial?

Up and Coming
June 12, 2021

Im not looking for AV1 support. Im using h264 (which the quest does have hardware support for)

 

AVC1, or AVCC is the name of h264 codecs. (Different from AV1)

 

you can register domains for origin trials with google. Then embed a meta tag in a page (see my example)

https://developer.chrome.com/origintrials/#/trials/active

 

Participant
June 12, 2021

Does creating the encoder work in regular Chrome if you are not on a site that is in the origin trial?

Participant
June 12, 2021

I just forked your site on github and verified that the API starts working when I add my site to the origin trial.

I will investigate...

Up and Coming
June 12, 2021

You mean, it works in quest? the decoder? (you see a rainbow image?)

 

The API is there for sure, just won't create an actual decoder 🙂

 

I did write&test this before 16.0 went up, so maybe the latest version of the browser supports it?

Up and Coming
June 12, 2021

No. 

You can test this easily, open any website not on the origin trial (eg, this one :), open dev tools and type into the console

`new VideoEncoder`

or `new VideoDecoder`

it will error as the symbol is missing (enabling via chrome://flags or origin trial exposes api symbols)

 

If you try it on https://PopH264.com it'll work (well, it'll error, but it'll TRY and construct it)