Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Constant bitrate audio encoding with MediaRecorder #540

Closed
1 task done
sizeak opened this issue Jul 30, 2020 · 6 comments
Closed
1 task done

Constant bitrate audio encoding with MediaRecorder #540

sizeak opened this issue Jul 30, 2020 · 6 comments
Assignees
Labels
Progress: pending editor update TAG is waiting for a spec/explainer update Progress: review complete Resolution: satisfied The TAG is satisfied with this design Topic: media Venue: WebRTC WebRTC and media capture

Comments

@sizeak
Copy link

sizeak commented Jul 30, 2020

Hey TAG!

I'm requesting a TAG review of MediaRecorder support for constant & variable encoding bitrate modes.

MediaRecorder does not currently provide a way of specifying whether to encode constant or variable bitrate audio files, variable bitrate is assumed except in the case of uncompressed PCM.

The linked pull request updates the editors draft to allow either constant or variable bitrate encoding to be specified to the MediaRecorder through a new field on MediaRecorderOptions. A property is also added to the MediaRecorder to retrieve the current bitrate mode setting.

Further details:

  • I have reviewed the TAG's API Design Principles
  • Relevant time constraints or deadlines: No hard deadline, just asap.
  • The group where the work on this specification is currently being done: WebRTC WG
  • Major unresolved issues with or opposition to this specification: None.

We'd prefer the TAG provide feedback as (please delete all but the desired option):

💬 leave review feedback as a comment in this issue and @-notify @simoncent

@hober
Copy link
Contributor

hober commented Aug 24, 2020

Hi @simoncent,

Thanks for bringing this to us. Overall, this looks like a very reasonable, incremental API improvement to me. I have one concern, with the values of your BitrateMode enum:

enum BitrateMode {
  "cbr",
  "vbr"
};

Maybe don't abbreviate these? I think "constant" and "variable" could be clearer to folks, and are easier to hear correctly when someone speaks them. See also our advice on naming, in particular Use common words.

@hober
Copy link
Contributor

hober commented Aug 24, 2020

Also, we generally recommend that folks make their explainers available in Markdown or HTML; Google Docs is not globally accessible, but participants in web standards are.

@sizeak
Copy link
Author

sizeak commented Aug 25, 2020

Hi @simoncent,

Thanks for bringing this to us. Overall, this looks like a very reasonable, incremental API improvement to me. I have one concern, with the values of your BitrateMode enum:

enum BitrateMode {
  "cbr",
  "vbr"
};

Maybe don't abbreviate these? I think "constant" and "variable" could be clearer to folks, and are easier to hear correctly when someone speaks them. See also our advice on naming, in particular Use common words.

That sounds reasonable to me, I'll open a PR to update the editors draft with the change.

Also, we generally recommend that folks make their explainers available in Markdown or HTML; Google Docs is not globally accessible, but participants in web standards are.

Thanks for the tip, are you highlighting this for future reference or are you requesting that I replace the explainer for this issue?

Thanks for your time!

@hober
Copy link
Contributor

hober commented Sep 23, 2020

Maybe don't abbreviate these? I think "constant" and "variable" could be clearer to folks, and are easier to hear correctly when someone speaks them. See also our advice on naming, in particular Use common words.

That sounds reasonable to me, I'll open a PR to update the editors draft with the change.

Thanks! I haven't been able to track this PR down; did you file it?

Also, we generally recommend that folks make their explainers available in Markdown or HTML; Google Docs is not globally accessible, but participants in web standards are.

Thanks for the tip, are you highlighting this for future reference or are you requesting that I replace the explainer for this issue?

Both, I think.

@cynthia cynthia added Progress: propose closing we think it should be closed but are waiting on some feedback or consensus Progress: review complete Progress: pending editor update TAG is waiting for a spec/explainer update Resolution: satisfied The TAG is satisfied with this design and removed Progress: in progress Progress: propose closing we think it should be closed but are waiting on some feedback or consensus labels Sep 23, 2020
@cynthia
Copy link
Member

cynthia commented Sep 24, 2020

We left an issue on your end - but the group is happy with the proposal and think this can be closed. Thanks for bringing this to our attention!

@cynthia cynthia closed this as completed Sep 24, 2020
@sizeak
Copy link
Author

sizeak commented Oct 13, 2020

Maybe don't abbreviate these? I think "constant" and "variable" could be clearer to folks, and are easier to hear correctly when someone speaks them. See also our advice on naming, in particular Use common words.

That sounds reasonable to me, I'll open a PR to update the editors draft with the change.

Thanks! I haven't been able to track this PR down; did you file it?

No, sorry I haven't gotten to it yet, I haven't forgotten about it though, it's on my list. I will post a link here when I open it.

Also, we generally recommend that folks make their explainers available in Markdown or HTML; Google Docs is not globally accessible, but participants in web standards are.

Thanks for the tip, are you highlighting this for future reference or are you requesting that I replace the explainer for this issue?

Both, I think.

OK, thanks, I'll look into replacing it when I get time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Progress: pending editor update TAG is waiting for a spec/explainer update Progress: review complete Resolution: satisfied The TAG is satisfied with this design Topic: media Venue: WebRTC WebRTC and media capture
Projects
None yet
Development

No branches or pull requests

5 participants