Giter Site home page Giter Site logo

Encoder and decoder stats about webcodecs HOT 4 CLOSED

w3c avatar w3c commented on June 26, 2024
Encoder and decoder stats

from webcodecs.

Comments (4)

pthatcherg avatar pthatcherg commented on June 26, 2024

I like the idea of the output of the decoder (DecodedAudioPacket or DecodedVideoFrame) having a few useful things like .decodeTime . Similarly for EncodedVideoFrame and .encodeTime and .qp.

from webcodecs.

chcunningham avatar chcunningham commented on June 26, 2024

Per-frame encode/decode durations. Real-time applications may use this to decrease the quality of the media stream if the encoder or decoder is taking too long.

I think knowing about "too long" cases may be possible without these statistics. The app can observe the delta between pushing frames in and getting corresponding (same timestamp) frames out. Making this observation in javascript is probably superior to providing the codecs view of the world, as the codec doesn't know how much delay the app may encounter between the codec being "done" with the frame and the app actually receiving it from the output callback.

Per-frame quality information. For example, getting the QP value of a video frame.

My naive model is that QP will be an input encoder.configure(), and that every output would then have that QP (making it not interesting to add as an attribute). Is that a reasonable model?

from webcodecs.

padenot avatar padenot commented on June 26, 2024

My naive model is that QP will be an input encoder.configure(), and that every output would then have that QP (making it not interesting to add as an attribute). Is that a reasonable model?

Not really. For a really common example, using x264 in CRF mode (which is recommended: "This is the recommended rate control mode for most uses. ") is essentially changing the QP per frame. Here is a good article I've bookmarked that talks about it in a bit more depth: https://slhck.info/video/2017/02/24/crf-guide.html#crf-versus-constant-qp (direct link to the section about this, but the rest is interesting).

from webcodecs.

chcunningham avatar chcunningham commented on June 26, 2024

Thanks @padenot, I'll give that a read. For QP discussion, we have #56. Happy to have separate issues for the codec specific needs.

For the original issue, we haven't had demand for such stats from actual users and I expect the measurements I outlined are good enough if not better. Given ongoing privacy discussion about timing attacks, I vote to close this ancient issue until we have have motivating use cases. Please feel free to reopen if there's more to discuss.

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.