mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-02 21:33:52 +02:00
Update media sources docs
This commit is contained in:
@@ -53,22 +53,28 @@ type VideoEncodingConfig = {
|
|||||||
bitrate: number | Quality;
|
bitrate: number | Quality;
|
||||||
latencyMode?: 'quality' | 'realtime';
|
latencyMode?: 'quality' | 'realtime';
|
||||||
keyFrameInterval?: number;
|
keyFrameInterval?: number;
|
||||||
|
fullCodecString?: string;
|
||||||
|
|
||||||
onEncodedPacket?: (
|
onEncodedPacket?: (
|
||||||
packet: EncodedPacket,
|
packet: EncodedPacket,
|
||||||
meta: EncodedVideoChunkMetadata | undefined
|
meta: EncodedVideoChunkMetadata | undefined
|
||||||
) => unknown;
|
) => unknown;
|
||||||
onEncodingError?: (
|
onEncoderError?: (
|
||||||
error: Error
|
error: Error
|
||||||
) => unknown;
|
) => unknown;
|
||||||
|
onEncoderConfig?: (
|
||||||
|
config: AudioEncoderConfig
|
||||||
|
) => unknown;
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
- `codec`: The [video codec](./supported-formats-and-codecs/#video-codecs) used for encoding.
|
- `codec`: The [video codec](./supported-formats-and-codecs/#video-codecs) used for encoding.
|
||||||
- `bitrate`: The target number of bits per second. Alternatively, this can be a [subjective quality](#subjective-qualities).
|
- `bitrate`: The target number of bits per second. Alternatively, this can be a [subjective quality](#subjective-qualities).
|
||||||
- `latencyMode`: The latency mode as specified by the WebCodecs API. Media stream-driven video sources will automatically use the `realtime` setting.
|
- `latencyMode`: The latency mode as specified by the WebCodecs API. Media stream-driven video sources will automatically use the `realtime` setting.
|
||||||
- `keyFrameInterval`: The maximum interval in seconds between two adjacent key frames. Defaults to 5 seconds. More frequent key frames improve seeking behavior but increase file size. When using multiple video tracks, this value should be set to the same value for all tracks.
|
- `keyFrameInterval`: The maximum interval in seconds between two adjacent key frames. Defaults to 5 seconds. More frequent key frames improve seeking behavior but increase file size. When using multiple video tracks, this value should be set to the same value for all tracks.
|
||||||
|
- `fullCodecString`: Allows you to optionally specify the full codec string used by the video encoder, as specified in the [WebCodecs API Codec Registry](https://www.w3.org/TR/webcodecs-codec-registry/). For example, you may set it to `'avc1.42001f'` when using AVC. Keep in mind that the codec string must still match the codec specified in `codec`. If you don't set this field, a codec string will be generated automatically.
|
||||||
- `onEncodedPacket`: Called for each successfully encoded packet. Useful for determining encoding progress.
|
- `onEncodedPacket`: Called for each successfully encoded packet. Useful for determining encoding progress.
|
||||||
- `onEncodingError`: Called when an error occurs during encoding.
|
- `onEncoderError`: Called when an error occurs within [VideoEncoder](https://developer.mozilla.org/en-US/docs/Web/API/VideoEncoder).
|
||||||
|
- `onEncoderConfig`: Called when the internal encoder config, as used by the WebCodecs API, is created. You can use this to introspect the full codec string.
|
||||||
|
|
||||||
### Audio encoding config
|
### Audio encoding config
|
||||||
|
|
||||||
@@ -77,20 +83,26 @@ All audio sources that handle encoding internally require you to specify an `Aud
|
|||||||
type AudioEncodingConfig = {
|
type AudioEncodingConfig = {
|
||||||
codec: AudioCodec;
|
codec: AudioCodec;
|
||||||
bitrate?: number | Quality;
|
bitrate?: number | Quality;
|
||||||
|
fullCodecString?: string;
|
||||||
|
|
||||||
onEncodedPacket?: (
|
onEncodedPacket?: (
|
||||||
packet: EncodedPacket,
|
packet: EncodedPacket,
|
||||||
meta: EncodedAudioChunkMetadata | undefined
|
meta: EncodedAudioChunkMetadata | undefined
|
||||||
) => unknown;
|
) => unknown;
|
||||||
onEncodingError?: (
|
onEncoderError?: (
|
||||||
error: Error
|
error: Error
|
||||||
) => unknown;
|
) => unknown;
|
||||||
|
onEncoderConfig?: (
|
||||||
|
config: AudioEncoderConfig
|
||||||
|
) => unknown;
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
- `codec`: The [audio codec](./supported-formats-and-codecs/#audio-codecs) used for encoding. Can be omitted for uncompressed PCM codecs.
|
- `codec`: The [audio codec](./supported-formats-and-codecs/#audio-codecs) used for encoding. Can be omitted for uncompressed PCM codecs.
|
||||||
- `bitrate`: The target number of bits per second. Alternatively, this can be a [subjective quality](#subjective-qualities).
|
- `bitrate`: The target number of bits per second. Alternatively, this can be a [subjective quality](#subjective-qualities).
|
||||||
|
- `fullCodecString`: Allows you to optionally specify the full codec string used by the audio encoder, as specified in the [WebCodecs API Codec Registry](https://www.w3.org/TR/webcodecs-codec-registry/). For example, you may set it to `'mp4a.40.2'` when using AAC. Keep in mind that the codec string must still match the codec specified in `codec`. If you don't set this field, a codec string will be generated automatically.
|
||||||
- `onEncodedPacket`: Called for each successfully encoded packet. Useful for determining encoding progress.
|
- `onEncodedPacket`: Called for each successfully encoded packet. Useful for determining encoding progress.
|
||||||
- `onEncodingError`: Called when an error occurs during encoding.
|
- `onEncoderError`: Called when an error occurs within [AudioEncoder](https://developer.mozilla.org/en-US/docs/Web/API/AudioEncoder).
|
||||||
|
- `onEncoderConfig`: Called when the internal encoder config, as used by the WebCodecs API, is created. You can use this to introspect the full codec string.
|
||||||
|
|
||||||
### Subjective qualities
|
### Subjective qualities
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -188,8 +188,8 @@ export type VideoEncodingConfig = {
|
|||||||
*/
|
*/
|
||||||
keyFrameInterval?: number;
|
keyFrameInterval?: number;
|
||||||
/**
|
/**
|
||||||
* The full codec string as specified in the WebCodecs API Codec Registry. When not specified, a fitting codec
|
* The full codec string as specified in the WebCodecs API Codec Registry. This string must match the codec
|
||||||
* string will be constructed automatically by the library.
|
* specified in `codec`. When not set, a fitting codec string will be constructed automatically by the library.
|
||||||
*/
|
*/
|
||||||
fullCodecString?: string;
|
fullCodecString?: string;
|
||||||
|
|
||||||
@@ -653,8 +653,8 @@ export type AudioEncodingConfig = {
|
|||||||
*/
|
*/
|
||||||
bitrate?: number | Quality;
|
bitrate?: number | Quality;
|
||||||
/**
|
/**
|
||||||
* The full codec string as specified in the WebCodecs API Codec Registry. When not specified, a fitting codec
|
* The full codec string as specified in the WebCodecs API Codec Registry. This string must match the codec
|
||||||
* string will be constructed automatically by the library.
|
* specified in `codec`. When not set, a fitting codec string will be constructed automatically by the library.
|
||||||
*/
|
*/
|
||||||
fullCodecString?: string;
|
fullCodecString?: string;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user