- From: Philipp Hancke <notifications@github.com>
- Date: Thu, 09 Nov 2023 02:14:42 -0800
- To: w3ctag/design-reviews <design-reviews@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3ctag/design-reviews/issues/912/1803544233@github.com>
While you are in the area could you please also review VideoEncoderConfig.contentHint by @Djuffin?
The explainer can be found [here](https://gist.github.com/Djuffin/c3742404b7c53ada227849c8b2b76b4c), [chromestatus entry here](https://chromestatus.com/feature/5103493249761280) and the tl;dr is
```
encoder.configure({
codec: 'vp8',
width: 1920, height: 1080, bitrate: 2_000_000, framerate: 5,
contentHint: 'detail'
});
```
Visually this should be similar to this older [webrtc sample](https://webrtc.github.io/samples/src/content/capture/video-contenthint/)
The relationship between the two is a bit complicated, bear with me.
* `contentHint` is codec-independent in the sense that it says "this is screensharing, treat it accordingly" and leaves the "how" to the codec. The "detail" and "motion" values already give a hint that the resolution and framerate are two parameters that influence this and how the encoder makes decisions on what to compromise on when hitting a target bitrate. See also [MediaStreamTrack Content Hints](https://w3c.github.io/mst-content-hint/#behavior-of-an-rtcpeerconnection) which calls this "degradation preference".
* `forceScreenContentTools` is AV1 specific and does not interact with resolution or framerate.
In WebRTC setting a MediaStreamTrack's contentHint treats it as "comes from screensharing" which implies screen content coding for AV1. Full details [here](https://bugs.chromium.org/p/webrtc/issues/detail?id=15484).
--
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/912#issuecomment-1803544233
You are receiving this because you are subscribed to this thread.
Message ID: <w3ctag/design-reviews/issues/912/1803544233@github.com>
Received on Thursday, 9 November 2023 10:14:48 UTC