Brooooooklyn / Brooooooklyn/webcodecs-node
Supports configure lossless encoding
- Dominant language
- Rust
- Stars
- 92
- Forks
- 2
- Avg merge
- 14h 15m
- Merged PRs (30d)
- 4
Description
Some sampling of use cases:
- Recording local artifacts at the highest quality for subsequent processing by more advanced creation pipelines.
- Working with screen-shares where 4:2:0 sampling causes blurriness. 4:4:4 is required for crisp text at small font sizes.
- Remote processing of audio signals via ML can be affected by audio encoding (hence why WebSpeech encodes to FLAC today).
## Spec issue
https://github.com/w3c/webcodecs/issues/258
> CQ (Constant Quality) or CRF (Constant Rate Factor in FFmpeg) or QP (Quantization Parameter each codec spec defined) are more fit than target bitrate for some content to keep certain quality includes lossless quality through presentation.
## Chrome implementation
A preliminary implementation has been completed in Chrome.
https://issues.chromium.org/issues/40243791
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked W3C WebCodecs issue and the referenced Chrome implementation to understand the proposed lossless-encoding configuration. Then inspect the repository's WebCodecs encoding surface; the work is complete when the Node.js implementation can configure lossless quality for the relevant encoding use cases and its behavior is verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, rust
- Domain
- audio-video-rtc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100