Giter Site home page Giter Site logo

Comments (10)

chcunningham avatar chcunningham commented on July 24, 2024 1

That SGTM. I intended to leave a path for that with this comment

Happy to have new issues filed for codec specific FEC features where demanded.

I've filed #244

from webcodecs.

pthatcherg avatar pthatcherg commented on July 24, 2024

In particular, we need good SVC support and Bernard mentioned that the "dependsOn" currently in https://github.com/pthatcherg/web-codecs/blob/master/webidl.txt isn't sufficient.

from webcodecs.

mfoltzgoogle avatar mfoltzgoogle commented on July 24, 2024

Are these coding modes a stable part of the codec specifications (i.e. unlikely to change in the future) or something that applications are able to customize using lower level encoders?

from webcodecs.

pthatcherg avatar pthatcherg commented on July 24, 2024

I believe they are stable (OPUS and VP9 certainly are), but it sounds like AV1 is very flexible so we need to figure out what modes people would want to use and which we can support.

from webcodecs.

aboba avatar aboba commented on July 24, 2024

At this point, the AV1 bitstream specification (including the list of scalability modes in Section 6.7.5) should be considered stable. The AV1 RTP payload specification is still work-in-progress.

K-SVC modes (which are a hybrid of SVC and simulcast) may not be expressable via "depends on" semantics. The L4T5_KEY_SHIFT mode is shown below:

L4T5_KEY_SHIFT

from webcodecs.

aboba avatar aboba commented on July 24, 2024

The problem of SVC configuration has been addressed via the scalabilityMode concept defined in WebRTC-SVC and metadata has been added to identify the layer a frame corresponds to. Together, these additions allow the application to change the scalabilityMode, or to stop or re-start sending a layer. At this point, the only major feature not addressed is to allow target bitrates to be configured for each layer, as suggested by @Orphis in w3c/webrtc-svc#14 .

from webcodecs.

aboba avatar aboba commented on July 24, 2024

#187 addresses SVC. Simulcast currently is handled by creating separate encoders. In principle things like Opus FEC can be handled via codec configuration. So we seem to have addressed most of this, with the exception of things like FEC or RED (which can be handled in WASM)?

from webcodecs.

chcunningham avatar chcunningham commented on July 24, 2024

POR:

  • SVC will be configurable (see #40)
  • FEC will either be done by the app, or where codec-specific options exist, we will create code-specific config knobs
  • Simulcast: out of scope, just spin up multiple encoders (or better yet, use SVC)

from webcodecs.

chcunningham avatar chcunningham commented on July 24, 2024

I don't think there's anything actionable remaining in this issue. SVC is tracked in #40. Simulcast in #44. And we've determined FEC is out of scope. Happy to have new issues filed for codec specific FEC features where demanded. Closing for now. Please reopen if I've overlooked anything.

from webcodecs.

murillo128 avatar murillo128 commented on July 24, 2024

Shouldn't we allow to configure opus in-band fec?

https://www.opus-codec.org/docs/html_api/group__encoderctls.html#ga5b67dc832aa46c1c2f35752c46380545

from webcodecs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.