mediabunny 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/mediabunny.d.ts +4 -2
- package/dist/modules/codec-data.d.ts +95 -0
- package/dist/modules/codec-data.d.ts.map +1 -0
- package/dist/modules/codec-data.js +1103 -0
- package/dist/modules/codec.d.ts +250 -0
- package/dist/modules/codec.d.ts.map +1 -0
- package/dist/modules/codec.js +1100 -0
- package/dist/modules/conversion.d.ts +158 -0
- package/dist/modules/conversion.d.ts.map +1 -0
- package/dist/modules/conversion.js +866 -0
- package/dist/modules/custom-coder.d.ts +119 -0
- package/dist/modules/custom-coder.d.ts.map +1 -0
- package/dist/modules/custom-coder.js +91 -0
- package/dist/modules/demuxer.d.ts +17 -0
- package/dist/modules/demuxer.d.ts.map +1 -0
- package/dist/modules/demuxer.js +12 -0
- package/dist/modules/index.d.ts +25 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js +24 -0
- package/dist/modules/input-format.d.ts +121 -0
- package/dist/modules/input-format.d.ts.map +1 -0
- package/dist/modules/input-format.js +333 -0
- package/dist/modules/input-track.d.ts +138 -0
- package/dist/modules/input-track.d.ts.map +1 -0
- package/dist/modules/input-track.js +230 -0
- package/dist/modules/input.d.ts +55 -0
- package/dist/modules/input.d.ts.map +1 -0
- package/dist/modules/input.js +104 -0
- package/dist/modules/isobmff/isobmff-boxes.d.ts +202 -0
- package/dist/modules/isobmff/isobmff-boxes.d.ts.map +1 -0
- package/dist/modules/isobmff/isobmff-boxes.js +1111 -0
- package/dist/modules/isobmff/isobmff-demuxer.d.ts +163 -0
- package/dist/modules/isobmff/isobmff-demuxer.d.ts.map +1 -0
- package/dist/modules/isobmff/isobmff-demuxer.js +2080 -0
- package/dist/modules/isobmff/isobmff-misc.d.ts +14 -0
- package/dist/modules/isobmff/isobmff-misc.d.ts.map +1 -0
- package/dist/modules/isobmff/isobmff-misc.js +20 -0
- package/dist/modules/isobmff/isobmff-muxer.d.ts +142 -0
- package/dist/modules/isobmff/isobmff-muxer.d.ts.map +1 -0
- package/dist/modules/isobmff/isobmff-muxer.js +858 -0
- package/dist/modules/isobmff/isobmff-reader.d.ts +36 -0
- package/dist/modules/isobmff/isobmff-reader.d.ts.map +1 -0
- package/dist/modules/isobmff/isobmff-reader.js +105 -0
- package/dist/modules/matroska/ebml.d.ts +156 -0
- package/dist/modules/matroska/ebml.d.ts.map +1 -0
- package/dist/modules/matroska/ebml.js +529 -0
- package/dist/modules/matroska/matroska-demuxer.d.ts +119 -0
- package/dist/modules/matroska/matroska-demuxer.d.ts.map +1 -0
- package/dist/modules/matroska/matroska-demuxer.js +1330 -0
- package/dist/modules/matroska/matroska-misc.d.ts +14 -0
- package/dist/modules/matroska/matroska-misc.d.ts.map +1 -0
- package/dist/modules/matroska/matroska-misc.js +20 -0
- package/dist/modules/matroska/matroska-muxer.d.ts +71 -0
- package/dist/modules/matroska/matroska-muxer.d.ts.map +1 -0
- package/dist/modules/matroska/matroska-muxer.js +729 -0
- package/dist/modules/media-sink.d.ts +272 -0
- package/dist/modules/media-sink.d.ts.map +1 -0
- package/dist/modules/media-sink.js +1264 -0
- package/dist/modules/media-source.d.ts +230 -0
- package/dist/modules/media-source.d.ts.map +1 -0
- package/dist/modules/media-source.js +1095 -0
- package/dist/modules/misc.d.ts +127 -0
- package/dist/modules/misc.d.ts.map +1 -0
- package/dist/modules/misc.js +462 -0
- package/dist/modules/mp3/mp3-demuxer.d.ts +32 -0
- package/dist/modules/mp3/mp3-demuxer.d.ts.map +1 -0
- package/dist/modules/mp3/mp3-demuxer.js +160 -0
- package/dist/modules/mp3/mp3-misc.d.ts +37 -0
- package/dist/modules/mp3/mp3-misc.d.ts.map +1 -0
- package/dist/modules/mp3/mp3-misc.js +122 -0
- package/dist/modules/mp3/mp3-muxer.d.ts +27 -0
- package/dist/modules/mp3/mp3-muxer.d.ts.map +1 -0
- package/dist/modules/mp3/mp3-muxer.js +112 -0
- package/dist/modules/mp3/mp3-reader.d.ts +25 -0
- package/dist/modules/mp3/mp3-reader.d.ts.map +1 -0
- package/dist/modules/mp3/mp3-reader.js +73 -0
- package/dist/modules/mp3/mp3-writer.d.ts +30 -0
- package/dist/modules/mp3/mp3-writer.d.ts.map +1 -0
- package/dist/modules/mp3/mp3-writer.js +72 -0
- package/dist/modules/muxer.d.ts +32 -0
- package/dist/modules/muxer.d.ts.map +1 -0
- package/dist/modules/muxer.js +50 -0
- package/dist/modules/ogg/ogg-demuxer.d.ts +53 -0
- package/dist/modules/ogg/ogg-demuxer.d.ts.map +1 -0
- package/dist/modules/ogg/ogg-demuxer.js +701 -0
- package/dist/modules/ogg/ogg-misc.d.ts +27 -0
- package/dist/modules/ogg/ogg-misc.d.ts.map +1 -0
- package/dist/modules/ogg/ogg-misc.js +78 -0
- package/dist/modules/ogg/ogg-muxer.d.ts +58 -0
- package/dist/modules/ogg/ogg-muxer.d.ts.map +1 -0
- package/dist/modules/ogg/ogg-muxer.js +345 -0
- package/dist/modules/ogg/ogg-reader.d.ts +37 -0
- package/dist/modules/ogg/ogg-reader.d.ts.map +1 -0
- package/dist/modules/ogg/ogg-reader.js +104 -0
- package/dist/modules/output-format.d.ts +285 -0
- package/dist/modules/output-format.d.ts.map +1 -0
- package/dist/modules/output-format.js +385 -0
- package/dist/modules/output.d.ts +134 -0
- package/dist/modules/output.d.ts.map +1 -0
- package/dist/modules/output.js +269 -0
- package/dist/modules/packet.d.ts +86 -0
- package/dist/modules/packet.d.ts.map +1 -0
- package/dist/modules/packet.js +133 -0
- package/dist/modules/pcm.d.ts +12 -0
- package/dist/modules/pcm.d.ts.map +1 -0
- package/dist/modules/pcm.js +85 -0
- package/dist/modules/reader.d.ts +40 -0
- package/dist/modules/reader.d.ts.map +1 -0
- package/dist/modules/reader.js +153 -0
- package/dist/modules/sample.d.ts +186 -0
- package/dist/modules/sample.d.ts.map +1 -0
- package/dist/modules/sample.js +798 -0
- package/dist/modules/source.d.ts +76 -0
- package/dist/modules/source.d.ts.map +1 -0
- package/dist/modules/source.js +183 -0
- package/dist/modules/subtitles.d.ts +37 -0
- package/dist/modules/subtitles.d.ts.map +1 -0
- package/dist/modules/subtitles.js +89 -0
- package/dist/modules/target.d.ts +58 -0
- package/dist/modules/target.d.ts.map +1 -0
- package/dist/modules/target.js +63 -0
- package/dist/modules/wave/riff-reader.d.ts +19 -0
- package/dist/modules/wave/riff-reader.d.ts.map +1 -0
- package/dist/modules/wave/riff-reader.js +38 -0
- package/dist/modules/wave/riff-writer.d.ts +18 -0
- package/dist/modules/wave/riff-writer.d.ts.map +1 -0
- package/dist/modules/wave/riff-writer.js +25 -0
- package/dist/modules/wave/wave-demuxer.d.ts +42 -0
- package/dist/modules/wave/wave-demuxer.d.ts.map +1 -0
- package/dist/modules/wave/wave-demuxer.js +239 -0
- package/dist/modules/wave/wave-muxer.d.ts +27 -0
- package/dist/modules/wave/wave-muxer.d.ts.map +1 -0
- package/dist/modules/wave/wave-muxer.js +108 -0
- package/dist/modules/writer.d.ts +85 -0
- package/dist/modules/writer.d.ts.map +1 -0
- package/dist/modules/writer.js +347 -0
- package/package.json +14 -10
- package/src/codec-data.ts +1394 -0
- package/src/codec.ts +1392 -0
- package/src/conversion.ts +1199 -0
- package/src/custom-coder.ts +162 -0
- package/src/demuxer.ts +22 -0
- package/src/index.ts +148 -0
- package/src/input-format.ts +386 -0
- package/src/input-track.ts +341 -0
- package/src/input.ts +138 -0
- package/src/isobmff/isobmff-boxes.ts +1365 -0
- package/src/isobmff/isobmff-demuxer.ts +2646 -0
- package/src/isobmff/isobmff-misc.ts +29 -0
- package/src/isobmff/isobmff-muxer.ts +1210 -0
- package/src/isobmff/isobmff-reader.ts +137 -0
- package/src/matroska/ebml.ts +595 -0
- package/src/matroska/matroska-demuxer.ts +1677 -0
- package/src/matroska/matroska-misc.ts +29 -0
- package/src/matroska/matroska-muxer.ts +999 -0
- package/src/media-sink.ts +1577 -0
- package/src/media-source.ts +1406 -0
- package/src/misc.ts +584 -0
- package/src/mp3/mp3-demuxer.ts +228 -0
- package/src/mp3/mp3-misc.ts +154 -0
- package/src/mp3/mp3-muxer.ts +153 -0
- package/src/mp3/mp3-reader.ts +93 -0
- package/src/mp3/mp3-writer.ts +112 -0
- package/src/muxer.ts +88 -0
- package/src/ogg/ogg-demuxer.ts +985 -0
- package/src/ogg/ogg-misc.ts +116 -0
- package/src/ogg/ogg-muxer.ts +480 -0
- package/src/ogg/ogg-reader.ts +143 -0
- package/src/output-format.ts +689 -0
- package/src/output.ts +427 -0
- package/src/packet.ts +180 -0
- package/src/pcm.ts +112 -0
- package/src/reader.ts +205 -0
- package/src/sample.ts +1029 -0
- package/src/source.ts +279 -0
- package/src/subtitles.ts +131 -0
- package/src/target.ts +106 -0
- package/src/tsconfig.json +13 -0
- package/src/wave/riff-reader.ts +48 -0
- package/src/wave/riff-writer.ts +30 -0
- package/src/wave/wave-demuxer.ts +317 -0
- package/src/wave/wave-muxer.ts +145 -0
- package/src/writer.ts +461 -0
- /package/dist/{mediabunny.js → bundles/mediabunny.cjs} +0 -0
- /package/dist/{mediabunny.min.js → bundles/mediabunny.min.cjs} +0 -0
- /package/dist/{mediabunny.min.mjs → bundles/mediabunny.min.mjs} +0 -0
- /package/dist/{mediabunny.mjs → bundles/mediabunny.mjs} +0 -0
package/README.md
CHANGED
|
@@ -152,7 +152,7 @@ For development, clone this repository and install it using a modern version of
|
|
|
152
152
|
|
|
153
153
|
```bash
|
|
154
154
|
npm install # Install dependencies
|
|
155
|
-
npm run watch #
|
|
155
|
+
npm run watch # Build bundles on watch mode
|
|
156
156
|
|
|
157
157
|
npm run build # Production build with type definitions
|
|
158
158
|
|
package/dist/mediabunny.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/// <reference types="dom-mediacapture-transform" />
|
|
2
|
+
/// <reference types="dom-webcodecs" />
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* List of all input format singletons. If you don't need to support all input formats, you should specify the
|
|
3
6
|
* formats individually for better tree shaking.
|
|
@@ -1983,5 +1986,4 @@ export declare type WrappedCanvas = {
|
|
|
1983
1986
|
};
|
|
1984
1987
|
|
|
1985
1988
|
export { }
|
|
1986
|
-
|
|
1987
|
-
export as namespace Mediabunny;
|
|
1989
|
+
export as namespace Mediabunny;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2025-present, Vanilagy and contributors
|
|
3
|
+
*
|
|
4
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
5
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
6
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
7
|
+
*/
|
|
8
|
+
/** Converts an AVC packet in Annex B format to length-prefixed format. */
|
|
9
|
+
export declare const transformAnnexBToLengthPrefixed: (packetData: Uint8Array) => Uint8Array<ArrayBuffer> | null;
|
|
10
|
+
export type AvcDecoderConfigurationRecord = {
|
|
11
|
+
configurationVersion: number;
|
|
12
|
+
avcProfileIndication: number;
|
|
13
|
+
profileCompatibility: number;
|
|
14
|
+
avcLevelIndication: number;
|
|
15
|
+
lengthSizeMinusOne: number;
|
|
16
|
+
sequenceParameterSets: Uint8Array[];
|
|
17
|
+
pictureParameterSets: Uint8Array[];
|
|
18
|
+
chromaFormat: number | null;
|
|
19
|
+
bitDepthLumaMinus8: number | null;
|
|
20
|
+
bitDepthChromaMinus8: number | null;
|
|
21
|
+
sequenceParameterSetExt: Uint8Array[] | null;
|
|
22
|
+
};
|
|
23
|
+
/** Builds an AvcDecoderConfigurationRecord from an AVC packet in Annex B format. */
|
|
24
|
+
export declare const extractAvcDecoderConfigurationRecord: (packetData: Uint8Array) => AvcDecoderConfigurationRecord | null;
|
|
25
|
+
/** Serializes an AvcDecoderConfigurationRecord into the format specified in Section 5.3.3.1 of ISO 14496-15. */
|
|
26
|
+
export declare const serializeAvcDecoderConfigurationRecord: (record: AvcDecoderConfigurationRecord) => Uint8Array<ArrayBuffer>;
|
|
27
|
+
export type HevcDecoderConfigurationRecord = {
|
|
28
|
+
configurationVersion: number;
|
|
29
|
+
generalProfileSpace: number;
|
|
30
|
+
generalTierFlag: number;
|
|
31
|
+
generalProfileIdc: number;
|
|
32
|
+
generalProfileCompatibilityFlags: number;
|
|
33
|
+
generalConstraintIndicatorFlags: Uint8Array;
|
|
34
|
+
generalLevelIdc: number;
|
|
35
|
+
minSpatialSegmentationIdc: number;
|
|
36
|
+
parallelismType: number;
|
|
37
|
+
chromaFormatIdc: number;
|
|
38
|
+
bitDepthLumaMinus8: number;
|
|
39
|
+
bitDepthChromaMinus8: number;
|
|
40
|
+
avgFrameRate: number;
|
|
41
|
+
constantFrameRate: number;
|
|
42
|
+
numTemporalLayers: number;
|
|
43
|
+
temporalIdNested: number;
|
|
44
|
+
lengthSizeMinusOne: number;
|
|
45
|
+
arrays: {
|
|
46
|
+
arrayCompleteness: number;
|
|
47
|
+
nalUnitType: number;
|
|
48
|
+
nalUnits: Uint8Array[];
|
|
49
|
+
}[];
|
|
50
|
+
};
|
|
51
|
+
/** Builds a HevcDecoderConfigurationRecord from an HEVC packet in Annex B format. */
|
|
52
|
+
export declare const extractHevcDecoderConfigurationRecord: (packetData: Uint8Array) => HevcDecoderConfigurationRecord | null;
|
|
53
|
+
/** Serializes an HevcDecoderConfigurationRecord into the format specified in Section 8.3.3.1 of ISO 14496-15. */
|
|
54
|
+
export declare const serializeHevcDecoderConfigurationRecord: (record: HevcDecoderConfigurationRecord) => Uint8Array<ArrayBuffer>;
|
|
55
|
+
export type Vp9CodecInfo = {
|
|
56
|
+
profile: number;
|
|
57
|
+
level: number;
|
|
58
|
+
bitDepth: number;
|
|
59
|
+
chromaSubsampling: number;
|
|
60
|
+
videoFullRangeFlag: number;
|
|
61
|
+
colourPrimaries: number;
|
|
62
|
+
transferCharacteristics: number;
|
|
63
|
+
matrixCoefficients: number;
|
|
64
|
+
};
|
|
65
|
+
export declare const extractVp9CodecInfoFromPacket: (packet: Uint8Array) => Vp9CodecInfo | null;
|
|
66
|
+
export type Av1CodecInfo = {
|
|
67
|
+
profile: number;
|
|
68
|
+
level: number;
|
|
69
|
+
tier: number;
|
|
70
|
+
bitDepth: number;
|
|
71
|
+
monochrome: number;
|
|
72
|
+
chromaSubsamplingX: number;
|
|
73
|
+
chromaSubsamplingY: number;
|
|
74
|
+
chromaSamplePosition: number;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* When AV1 codec information is not provided by the container, we can still try to extract the information by digging
|
|
78
|
+
* into the AV1 bitstream.
|
|
79
|
+
*/
|
|
80
|
+
export declare const extractAv1CodecInfoFromPacket: (packet: Uint8Array) => Av1CodecInfo | null;
|
|
81
|
+
export declare const parseOpusIdentificationHeader: (bytes: Uint8Array) => {
|
|
82
|
+
outputChannelCount: number;
|
|
83
|
+
preSkip: number;
|
|
84
|
+
inputSampleRate: number;
|
|
85
|
+
outputGain: number;
|
|
86
|
+
channelMappingFamily: number;
|
|
87
|
+
channelMappingTable: Uint8Array<ArrayBufferLike> | null;
|
|
88
|
+
};
|
|
89
|
+
export declare const parseOpusTocByte: (packet: Uint8Array) => {
|
|
90
|
+
durationInSamples: number;
|
|
91
|
+
};
|
|
92
|
+
export declare const parseModesFromVorbisSetupPacket: (setupHeader: Uint8Array) => {
|
|
93
|
+
modeBlockflags: number[];
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=codec-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec-data.d.ts","sourceRoot":"","sources":["../../src/codec-data.ts"],"names":[],"mappings":"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"}
|