mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-02 05:13:50 +02:00
Add custom quality factors and quantizer bitrate mode (#448)
* Add custom quality factors and quantizer bitrate mode (closes #327) * Fix quantizer mode fallback and per-frame quantizer edge cases * Clean up quantizer mode tests * Quantizer implementation * Add quality tests * Improve conversion codec error message, make test more lenient * Add quantizer support blog post --------- Co-authored-by: Vanilagy <[email protected]>
This commit is contained in:
@@ -90,19 +90,19 @@ As an example, let's add two tracks to our output:
|
||||
- An audio track driven by the user's microphone input, encoded using AAC
|
||||
|
||||
```ts
|
||||
import { CanvasSource, MediaStreamAudioTrackSource } from 'mediabunny';
|
||||
import { CanvasSource, MediaStreamAudioTrackSource, Quality } from 'mediabunny';
|
||||
|
||||
// Assuming `canvasElement` exists
|
||||
const videoSource = new CanvasSource(canvasElement, {
|
||||
codec: 'avc',
|
||||
bitrate: 1e6, // 1 Mbps
|
||||
quality: new Quality({ bitrate: 1e6 }), // 1 Mbps
|
||||
});
|
||||
|
||||
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
|
||||
const audioStreamTrack = stream.getAudioTracks()[0];
|
||||
const audioSource = new MediaStreamAudioTrackSource(audioStreamTrack, {
|
||||
codec: 'aac',
|
||||
bitrate: 128e3, // 128 kbps
|
||||
quality: new Quality({ bitrate: 128e3 }), // 128 kbps
|
||||
});
|
||||
|
||||
output.addVideoTrack(videoSource, { frameRate: 30 });
|
||||
|
||||
Reference in New Issue
Block a user