w3c / w3c/webcodecs

Latency and bidirectionally predicted frames in VideoEncoder.

Open
#57 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

extension research tuning-parameter
Dominant language
HTML
Stars
1.3k
Forks
194
Avg merge
1d 13h
Merged PRs (30d)
3

Description

VideoEncoder can increase coding efficiency by referencing future frames when coding a frame (eg. B-frames). However, this also increases latency since the future frames need to be decoded before the bidirectionally encoded frames. This is not desirable in all use cases such as video conferencing.

How about adding maxPredictionFrames -

dictionary VideoEncoderEncodeOptions {
  .. 
  unsigned long maxPredictionFrames;
};

which gives the maximum number of future frames to use for prediction. Setting maxPredictionFrames to 0 would disable B-frames altogether.

Related to #55 .

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the VideoEncoderEncodeOptions WebIDL excerpt in this issue and review related issue #55. Determine whether maxPredictionFrames belongs in the API and define its latency and B-frame behavior; done means the proposal has a documented, resolved specification direction.

Written by the indexing model from the issue text.

Assessment

Domain
api, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.