mediabunny 1.0.2 → 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 +4 -4
- 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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/mediabunny)
|
|
6
6
|
|
|
7
7
|
<div align="center">
|
|
8
|
-
<img src="./docs/public/mediabunny-logo.svg" height="180">
|
|
8
|
+
<img src="./docs/public/mediabunny-logo.svg" width="180" height="180">
|
|
9
9
|
</div>
|
|
10
10
|
|
|
11
11
|
Mediabunny is a JavaScript library for reading, writing, and converting media files (like MP4, WebM, MP3), directly in the browser. It aims to be a complete toolkit for high-performance media operations on the web. It's written from scratch in pure TypeScript, has zero dependencies, is very performant, and is extremely tree-shakable, meaning you only include what you use. You can think of it a bit like [FFmpeg](https://ffmpeg.org/), but built from the ground up for the web.
|
|
@@ -16,11 +16,11 @@ Mediabunny is a JavaScript library for reading, writing, and converting media fi
|
|
|
16
16
|
|
|
17
17
|
<div align="center">
|
|
18
18
|
<a href="https://www.gling.ai/" target="_blank">
|
|
19
|
-
<img src="./docs/public/sponsors/gling.svg" height="60" alt="Gling AI">
|
|
19
|
+
<img src="./docs/public/sponsors/gling.svg" width="60" height="60" alt="Gling AI">
|
|
20
20
|
</a>
|
|
21
21
|
|
|
22
22
|
<a href="https://diffusion.studio/" target="_blank">
|
|
23
|
-
<img src="./docs/public/sponsors/diffusionstudio.png" height="60" alt="Diffusion Studio">
|
|
23
|
+
<img src="./docs/public/sponsors/diffusionstudio.png" width="60" height="60" alt="Diffusion Studio">
|
|
24
24
|
</a>
|
|
25
25
|
</div>
|
|
26
26
|
|
|
@@ -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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"}
|