@omnimedia/omnitool 1.0.0 → 1.1.0-3

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.
Files changed (177) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +120 -2
  3. package/package.json +56 -27
  4. package/s/_archive/types.ts +107 -0
  5. package/s/context.ts +7 -0
  6. package/s/demo/demo.bundle.ts +64 -0
  7. package/s/demo/demo.css +54 -0
  8. package/s/demo/routines/filmstrip-test.ts +68 -0
  9. package/s/demo/routines/load-video.ts +7 -0
  10. package/s/demo/routines/transcode-test.ts +44 -0
  11. package/s/demo/routines/waveform-test.ts +12 -0
  12. package/s/driver/driver.test.ts +15 -0
  13. package/s/driver/driver.ts +116 -0
  14. package/s/driver/driver.worker.bundle.ts +7 -0
  15. package/s/driver/fns/host.ts +12 -0
  16. package/s/driver/fns/schematic.ts +83 -0
  17. package/s/driver/fns/work.ts +237 -0
  18. package/s/driver/parts/constants.ts +17 -0
  19. package/s/driver/parts/machina.ts +27 -0
  20. package/s/driver/utils/load-decoder-source.ts +13 -0
  21. package/s/driver/utils/sleep.ts +3 -0
  22. package/s/index.html.ts +53 -0
  23. package/s/index.ts +2 -39
  24. package/s/tests.test.ts +8 -0
  25. package/s/timeline/index.ts +14 -0
  26. package/s/timeline/parts/basics.ts +17 -0
  27. package/s/timeline/parts/filmstrip.ts +159 -0
  28. package/s/timeline/parts/item.ts +58 -0
  29. package/s/timeline/parts/media.ts +14 -0
  30. package/s/timeline/parts/resource-pool.ts +27 -0
  31. package/s/timeline/parts/resource.ts +11 -0
  32. package/s/timeline/parts/waveform.ts +62 -0
  33. package/s/timeline/sugar/o.ts +60 -0
  34. package/s/timeline/sugar/omni-test.ts +38 -0
  35. package/s/timeline/sugar/omni.ts +30 -0
  36. package/s/timeline/utils/checksum.ts +19 -0
  37. package/s/timeline/utils/datafile.ts +21 -0
  38. package/s/timeline/utils/dummy-data.ts +7 -0
  39. package/x/context.d.ts +4 -0
  40. package/x/context.js +6 -0
  41. package/x/context.js.map +1 -0
  42. package/x/demo/demo.bundle.d.ts +1 -0
  43. package/x/demo/demo.bundle.js +51 -0
  44. package/x/demo/demo.bundle.js.map +1 -0
  45. package/x/demo/demo.bundle.min.js +118 -0
  46. package/x/demo/demo.bundle.min.js.map +7 -0
  47. package/x/demo/demo.css +54 -0
  48. package/x/demo/routines/filmstrip-test.d.ts +1 -0
  49. package/x/demo/routines/filmstrip-test.js +62 -0
  50. package/x/demo/routines/filmstrip-test.js.map +1 -0
  51. package/x/demo/routines/load-video.d.ts +1 -0
  52. package/x/demo/routines/load-video.js +6 -0
  53. package/x/demo/routines/load-video.js.map +1 -0
  54. package/x/demo/routines/transcode-test.d.ts +6 -0
  55. package/x/demo/routines/transcode-test.js +38 -0
  56. package/x/demo/routines/transcode-test.js.map +1 -0
  57. package/x/demo/routines/waveform-test.d.ts +1 -0
  58. package/x/demo/routines/waveform-test.js +11 -0
  59. package/x/demo/routines/waveform-test.js.map +1 -0
  60. package/x/driver/driver.d.ts +22 -0
  61. package/x/driver/driver.js +97 -0
  62. package/x/driver/driver.js.map +1 -0
  63. package/x/driver/driver.test.d.ts +5 -0
  64. package/x/driver/driver.test.js +12 -0
  65. package/x/driver/driver.test.js.map +1 -0
  66. package/x/driver/driver.worker.bundle.d.ts +1 -0
  67. package/x/driver/driver.worker.bundle.js +4 -0
  68. package/x/driver/driver.worker.bundle.js.map +1 -0
  69. package/x/driver/driver.worker.bundle.min.js +1148 -0
  70. package/x/driver/driver.worker.bundle.min.js.map +7 -0
  71. package/x/driver/fns/host.d.ts +18 -0
  72. package/x/driver/fns/host.js +7 -0
  73. package/x/driver/fns/host.js.map +1 -0
  74. package/x/driver/fns/schematic.d.ts +66 -0
  75. package/x/driver/fns/schematic.js +2 -0
  76. package/x/driver/fns/schematic.js.map +1 -0
  77. package/x/driver/fns/work.d.ts +19 -0
  78. package/x/driver/fns/work.js +192 -0
  79. package/x/driver/fns/work.js.map +1 -0
  80. package/x/driver/parts/constants.d.ts +2 -0
  81. package/x/driver/parts/constants.js +17 -0
  82. package/x/driver/parts/constants.js.map +1 -0
  83. package/x/driver/parts/machina.d.ts +23 -0
  84. package/x/driver/parts/machina.js +14 -0
  85. package/x/driver/parts/machina.js.map +1 -0
  86. package/x/driver/utils/load-decoder-source.d.ts +2 -0
  87. package/x/driver/utils/load-decoder-source.js +12 -0
  88. package/x/driver/utils/load-decoder-source.js.map +1 -0
  89. package/x/driver/utils/sleep.d.ts +1 -0
  90. package/x/driver/utils/sleep.js +4 -0
  91. package/x/driver/utils/sleep.js.map +1 -0
  92. package/x/index.d.ts +2 -9
  93. package/x/index.html +105 -0
  94. package/x/index.html.d.ts +2 -0
  95. package/x/index.html.js +47 -0
  96. package/x/index.html.js.map +1 -0
  97. package/x/index.js +2 -29
  98. package/x/index.js.map +1 -1
  99. package/x/tests.test.d.ts +1 -0
  100. package/x/tests.test.js +6 -0
  101. package/x/tests.test.js.map +1 -0
  102. package/x/timeline/index.d.ts +10 -0
  103. package/x/timeline/index.js +11 -0
  104. package/x/timeline/index.js.map +1 -0
  105. package/x/timeline/parts/basics.d.ts +12 -0
  106. package/x/timeline/parts/basics.js +2 -0
  107. package/x/timeline/parts/basics.js.map +1 -0
  108. package/x/timeline/parts/filmstrip.d.ts +39 -0
  109. package/x/timeline/parts/filmstrip.js +117 -0
  110. package/x/timeline/parts/filmstrip.js.map +1 -0
  111. package/x/timeline/parts/item.d.ts +42 -0
  112. package/x/timeline/parts/item.js +13 -0
  113. package/x/timeline/parts/item.js.map +1 -0
  114. package/x/timeline/parts/media.d.ts +7 -0
  115. package/x/timeline/parts/media.js +13 -0
  116. package/x/timeline/parts/media.js.map +1 -0
  117. package/x/timeline/parts/resource-pool.d.ts +7 -0
  118. package/x/timeline/parts/resource-pool.js +19 -0
  119. package/x/timeline/parts/resource-pool.js.map +1 -0
  120. package/x/timeline/parts/resource.d.ts +8 -0
  121. package/x/timeline/parts/resource.js +2 -0
  122. package/x/timeline/parts/resource.js.map +1 -0
  123. package/x/timeline/parts/waveform.d.ts +8 -0
  124. package/x/timeline/parts/waveform.js +51 -0
  125. package/x/timeline/parts/waveform.js.map +1 -0
  126. package/x/timeline/sugar/o.d.ts +14 -0
  127. package/x/timeline/sugar/o.js +48 -0
  128. package/x/timeline/sugar/o.js.map +1 -0
  129. package/x/timeline/sugar/omni-test.d.ts +1 -0
  130. package/x/timeline/sugar/omni-test.js +22 -0
  131. package/x/timeline/sugar/omni-test.js.map +1 -0
  132. package/x/timeline/sugar/omni.d.ts +11 -0
  133. package/x/timeline/sugar/omni.js +20 -0
  134. package/x/timeline/sugar/omni.js.map +1 -0
  135. package/x/timeline/utils/checksum.d.ts +8 -0
  136. package/x/timeline/utils/checksum.js +20 -0
  137. package/x/timeline/utils/checksum.js.map +1 -0
  138. package/x/timeline/utils/datafile.d.ts +9 -0
  139. package/x/timeline/utils/datafile.js +20 -0
  140. package/x/timeline/utils/datafile.js.map +1 -0
  141. package/x/timeline/utils/dummy-data.d.ts +2 -0
  142. package/x/timeline/utils/dummy-data.js +3 -0
  143. package/x/timeline/utils/dummy-data.js.map +1 -0
  144. package/s/parts/compositor.ts +0 -5
  145. package/s/parts/export.ts +0 -5
  146. package/s/parts/video-decoder.ts +0 -27
  147. package/s/parts/video-encoder.ts +0 -15
  148. package/s/tools/generate-id.ts +0 -7
  149. package/s/tools/mp4boxjs/LICENSE.md +0 -24
  150. package/s/tools/mp4boxjs/demuxer.ts +0 -106
  151. package/s/tools/mp4boxjs/mp4box.adapter.ts +0 -148
  152. package/s/tools/mp4boxjs/mp4box.js +0 -8206
  153. package/s/types.ts +0 -10
  154. package/x/parts/compositor.d.ts +0 -4
  155. package/x/parts/compositor.js +0 -5
  156. package/x/parts/compositor.js.map +0 -1
  157. package/x/parts/export.d.ts +0 -7
  158. package/x/parts/export.js +0 -5
  159. package/x/parts/export.js.map +0 -1
  160. package/x/parts/video-decoder.d.ts +0 -8
  161. package/x/parts/video-decoder.js +0 -20
  162. package/x/parts/video-decoder.js.map +0 -1
  163. package/x/parts/video-encoder.d.ts +0 -6
  164. package/x/parts/video-encoder.js +0 -12
  165. package/x/parts/video-encoder.js.map +0 -1
  166. package/x/tools/generate-id.d.ts +0 -1
  167. package/x/tools/generate-id.js +0 -8
  168. package/x/tools/generate-id.js.map +0 -1
  169. package/x/tools/mp4boxjs/demuxer.d.ts +0 -24
  170. package/x/tools/mp4boxjs/demuxer.js +0 -88
  171. package/x/tools/mp4boxjs/demuxer.js.map +0 -1
  172. package/x/tools/mp4boxjs/mp4box.adapter.d.ts +0 -128
  173. package/x/tools/mp4boxjs/mp4box.adapter.js +0 -11
  174. package/x/tools/mp4boxjs/mp4box.adapter.js.map +0 -1
  175. package/x/types.d.ts +0 -7
  176. package/x/types.js +0 -2
  177. package/x/types.js.map +0 -1
package/s/types.ts DELETED
@@ -1,10 +0,0 @@
1
- import {MP4Demuxer} from "./tools/mp4boxjs/demuxer.js";
2
-
3
- export interface Clip {
4
- id: string
5
- }
6
-
7
- export interface LoadedVideoClip extends Clip {
8
- demuxer: MP4Demuxer
9
- }
10
-
@@ -1,4 +0,0 @@
1
- export declare class Compositor {
2
- constructor();
3
- crossfade([...clips]: Iterable<any>): void;
4
- }
@@ -1,5 +0,0 @@
1
- export class Compositor {
2
- constructor() { }
3
- crossfade([...clips]) { }
4
- }
5
- //# sourceMappingURL=compositor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compositor.js","sourceRoot":"","sources":["../../s/parts/compositor.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IACtB,gBAAe,CAAC;IAEhB,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,IAAG,CAAC;CACxB"}
@@ -1,7 +0,0 @@
1
- export declare class Export {
2
- constructor();
3
- export(clip: any, { container, codec }: {
4
- container: any;
5
- codec: any;
6
- }): void;
7
- }
package/x/parts/export.js DELETED
@@ -1,5 +0,0 @@
1
- export class Export {
2
- constructor() { }
3
- export(clip, { container, codec }) { }
4
- }
5
- //# sourceMappingURL=export.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../s/parts/export.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IAClB,gBAAe,CAAC;IAEhB,MAAM,CAAC,IAAI,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,IAAG,CAAC;CACnC"}
@@ -1,8 +0,0 @@
1
- import { Clip, LoadedVideoClip } from "../types.js";
2
- export declare class OmniVideoDecoder {
3
- #private;
4
- private getLoadedClip;
5
- constructor(getLoadedClip: (clip: Clip) => LoadedVideoClip | undefined);
6
- decodeVideo(clip: Clip): void;
7
- seek(clip: Clip): void;
8
- }
@@ -1,20 +0,0 @@
1
- export class OmniVideoDecoder {
2
- getLoadedClip;
3
- #decoder = new VideoDecoder({
4
- output: () => this.#output(),
5
- error: () => this.#error()
6
- });
7
- constructor(getLoadedClip) {
8
- this.getLoadedClip = getLoadedClip;
9
- }
10
- #output() { }
11
- #error() { }
12
- decodeVideo(clip) {
13
- const loaded = this.getLoadedClip(clip);
14
- }
15
- seek(clip) {
16
- const loaded = this.getLoadedClip(clip);
17
- loaded?.demuxer.seek();
18
- }
19
- }
20
- //# sourceMappingURL=video-decoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"video-decoder.js","sourceRoot":"","sources":["../../s/parts/video-decoder.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;IAQnB;IANT,QAAQ,GAAG,IAAI,YAAY,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;KAC1B,CAAC,CAAA;IAEF,YACS,aACmB;QADnB,kBAAa,GAAb,aAAa,CACM;IACzB,CAAC;IAEJ,OAAO,KAAI,CAAC;IAEZ,MAAM,KAAI,CAAC;IAEX,WAAW,CAAC,IAAU;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CAAC,IAAU;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;CACD"}
@@ -1,6 +0,0 @@
1
- export declare class OmniVideoEncoder {
2
- #private;
3
- encoder: VideoEncoder;
4
- constructor();
5
- encode(): void;
6
- }
@@ -1,12 +0,0 @@
1
- export class OmniVideoEncoder {
2
- encoder = new VideoEncoder({
3
- output: () => this.#output(),
4
- error: () => this.#error()
5
- });
6
- constructor() {
7
- }
8
- #output() { }
9
- #error() { }
10
- encode() { }
11
- }
12
- //# sourceMappingURL=video-encoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"video-encoder.js","sourceRoot":"","sources":["../../s/parts/video-encoder.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IAC5B,OAAO,GAAG,IAAI,YAAY,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;KAC1B,CAAC,CAAA;IAEF;IACA,CAAC;IAED,OAAO,KAAI,CAAC;IAEZ,MAAM,KAAI,CAAC;IAEX,MAAM,KAAI,CAAC;CACX"}
@@ -1 +0,0 @@
1
- export declare function generateId(bytes?: number): string;
@@ -1,8 +0,0 @@
1
- export function generateId(bytes = 32) {
2
- const array = new Uint8Array(bytes);
3
- const random = crypto.getRandomValues(array);
4
- return [...random]
5
- .map(b => b.toString(16).padStart(2, "0"))
6
- .join("");
7
- }
8
- //# sourceMappingURL=generate-id.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-id.js","sourceRoot":"","sources":["../../s/tools/generate-id.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAK,GAAG,EAAE;IACpC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,MAAM,CAAC;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAA;AACX,CAAC"}
@@ -1,24 +0,0 @@
1
- import { MP4File } from "./mp4box.adapter.js";
2
- export type Status = "render" | "decode" | "demux" | "fetch";
3
- type SetStatus = (status: Status, message: string) => void;
4
- type OnChunk = (chunk: EncodedVideoChunk) => void;
5
- type OnConfig = (config: VideoDecoderConfig) => void;
6
- type OnReady = (boolean: boolean) => void;
7
- export declare class MP4FileSink {
8
- #private;
9
- constructor(file: MP4File, setStatus: SetStatus);
10
- write(chunk: ArrayBuffer): void;
11
- close(): void;
12
- }
13
- export declare class MP4Demuxer {
14
- #private;
15
- constructor(file: File, { onConfig, onChunk, setStatus, framesCount, OnReady }: {
16
- onConfig: OnConfig;
17
- onChunk: OnChunk;
18
- setStatus: SetStatus;
19
- framesCount: (frames: number) => void;
20
- OnReady: OnReady;
21
- });
22
- seek(): void;
23
- }
24
- export {};
@@ -1,88 +0,0 @@
1
- import MP4Box from "./mp4box.adapter.js";
2
- export class MP4FileSink {
3
- #setStatus;
4
- #file;
5
- #offset = 0;
6
- constructor(file, setStatus) {
7
- this.#file = file;
8
- this.#setStatus = setStatus;
9
- }
10
- write(chunk) {
11
- const buffer = new ArrayBuffer(chunk.byteLength);
12
- //@ts-ignore
13
- new Uint8Array(buffer).set(chunk);
14
- //@ts-ignore
15
- buffer.fileStart = this.#offset;
16
- this.#offset += buffer.byteLength;
17
- this.#setStatus("fetch", (this.#offset / (1024 ** 2)).toFixed(1) + " MiB");
18
- //@ts-ignore
19
- this.#file.appendBuffer(buffer);
20
- }
21
- close() {
22
- this.#setStatus("fetch", "Done");
23
- this.#file.flush();
24
- }
25
- }
26
- export class MP4Demuxer {
27
- #onConfig;
28
- #onChunk;
29
- #OnReady;
30
- #setStatus;
31
- #framesCount;
32
- #file;
33
- constructor(file, { onConfig, onChunk, setStatus, framesCount, OnReady }) {
34
- this.#onConfig = onConfig;
35
- this.#onChunk = onChunk;
36
- this.#setStatus = setStatus;
37
- this.#framesCount = framesCount;
38
- this.#OnReady = OnReady;
39
- this.#file = MP4Box.createFile();
40
- this.#file.onError = error => setStatus("demux", error);
41
- this.#file.onReady = this.#onReady.bind(this);
42
- this.#file.onSamples = this.#onSamples.bind(this);
43
- const fileSink = new MP4FileSink(this.#file, setStatus);
44
- file.stream().pipeTo(new WritableStream(fileSink, { highWaterMark: 1 }));
45
- }
46
- seek() {
47
- console.log("seek", this.#file.seek);
48
- }
49
- #description(track) {
50
- const trak = this.#file.getTrackById(track.id);
51
- for (const entry of trak.mdia.minf.stbl.stsd.entries) {
52
- //@ts-ignore
53
- const box = entry.avcC || entry.hvcC || entry.vpcC || entry.av1C;
54
- if (box) {
55
- //@ts-ignore
56
- const stream = new MP4Box.DataStream(undefined, 0, MP4Box.DataStream.BIG_ENDIAN);
57
- box.write(stream);
58
- return new Uint8Array(stream.buffer, 8); // Remove the box header.
59
- }
60
- }
61
- throw new Error("avcC, hvcC, vpcC, or av1C box not found");
62
- }
63
- #onReady(info) {
64
- this.#OnReady(true);
65
- this.#setStatus("demux", "Ready");
66
- const track = info.videoTracks[0];
67
- this.#onConfig({
68
- codec: track.codec.startsWith('vp08') ? 'vp8' : track.codec,
69
- codedHeight: track.video.height,
70
- codedWidth: track.video.width,
71
- description: this.#description(track),
72
- });
73
- this.#framesCount(track.nb_samples);
74
- this.#file.setExtractionOptions(track.id);
75
- // this.#file.start()
76
- }
77
- #onSamples(track_id, ref, samples) {
78
- for (const sample of samples) {
79
- this.#onChunk(new EncodedVideoChunk({
80
- type: sample.is_sync ? "key" : "delta",
81
- timestamp: 1e6 * sample.cts / sample.timescale,
82
- duration: 1e6 * sample.duration / sample.timescale,
83
- data: sample.data
84
- }));
85
- }
86
- }
87
- }
88
- //# sourceMappingURL=demuxer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demuxer.js","sourceRoot":"","sources":["../../../s/tools/mp4boxjs/demuxer.ts"],"names":[],"mappings":"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"}
@@ -1,128 +0,0 @@
1
- export interface MP4MediaTrack {
2
- id: number;
3
- created: Date;
4
- modified: Date;
5
- movie_duration: number;
6
- layer: number;
7
- alternate_group: number;
8
- volume: number;
9
- track_width: number;
10
- track_height: number;
11
- timescale: number;
12
- duration: number;
13
- bitrate: number;
14
- codec: string;
15
- language: string;
16
- nb_samples: number;
17
- type: string;
18
- }
19
- export interface MP4VideoData {
20
- width: number;
21
- height: number;
22
- }
23
- export interface MP4VideoTrack extends MP4MediaTrack {
24
- video: MP4VideoData;
25
- }
26
- export interface MP4AudioTrack extends MP4MediaTrack {
27
- audio: MP4AudioData;
28
- }
29
- export interface MP4Info {
30
- duration: number;
31
- timescale: number;
32
- fragment_duration: number;
33
- isFragmented: boolean;
34
- isProgressive: boolean;
35
- hasIOD: boolean;
36
- brands: string[];
37
- created: Date;
38
- modified: Date;
39
- tracks: MP4Track[];
40
- audioTracks: MP4AudioTrack[];
41
- videoTracks: MP4VideoTrack[];
42
- }
43
- export interface MP4AudioData {
44
- sample_rate: number;
45
- channel_count: number;
46
- sample_size: number;
47
- }
48
- export interface Moov {
49
- type: string;
50
- hdr_size: Number;
51
- size: Number;
52
- start: Number;
53
- traks: any;
54
- uuid: String | undefined;
55
- }
56
- export interface MP4File {
57
- onMoovStart?: () => void;
58
- onReady?: (info: MP4Info) => void;
59
- onError?: (e: string) => void;
60
- onSamples?: (track_id: number, _ref: any, samples: any) => void;
61
- setExtractionOptions: (id: number) => void;
62
- moov: Moov;
63
- appendBuffer(data: MP4ArrayBuffer): number;
64
- start(): void;
65
- stop(): void;
66
- flush(): void;
67
- getTrackById: (id: number) => Trak;
68
- }
69
- type MP4Track = MP4VideoTrack | MP4AudioTrack;
70
- export interface MP4Box {
71
- createFile(): MP4File;
72
- DataStream: new (arrayBuffer: ArrayBuffer, byteOffset: number, endianness: boolean) => XDataStream;
73
- }
74
- export type MP4ArrayBuffer = ArrayBuffer & {
75
- fileStart: number;
76
- };
77
- export interface TrackOptions {
78
- timescale: number;
79
- width: number;
80
- height: number;
81
- nb_samples: number;
82
- avcDecoderConfigRecord: AllowSharedBufferSource | undefined;
83
- }
84
- export interface SampleOptions {
85
- duration: number;
86
- dts: number;
87
- cts: number;
88
- is_sync: boolean;
89
- }
90
- export interface MP4File {
91
- onMoovStart?: () => void;
92
- onReady?: (info: MP4Info) => void;
93
- onError?: (e: string) => void;
94
- appendBuffer(data: MP4ArrayBuffer): number;
95
- start(): void;
96
- stop(): void;
97
- flush(): void;
98
- addTrack(trackOptions: TrackOptions): MP4Track;
99
- addSample(track: MP4Track, data: ArrayBuffer, sampleOptions: SampleOptions): void;
100
- save(file: string): void;
101
- }
102
- export declare class XDataStream {
103
- static BIG_ENDIAN: boolean;
104
- static LITTLE_ENDIAN: boolean;
105
- buffer?: ArrayBuffer;
106
- constructor(arrayBuffer: ArrayBuffer, byteOffset: number, endianness: boolean);
107
- }
108
- export interface Trak {
109
- mdia?: {
110
- minf?: {
111
- stbl?: {
112
- stsd?: {
113
- entries: {
114
- avcC?: {
115
- write: (stream: XDataStream) => void;
116
- };
117
- hvcC?: {
118
- write: (stream: XDataStream) => void;
119
- };
120
- }[];
121
- };
122
- };
123
- };
124
- };
125
- }
126
- declare const _default: MP4Box;
127
- export default _default;
128
- export declare const DataStreamx: XDataStream;
@@ -1,11 +0,0 @@
1
- // @ts-ignore
2
- import { mp4box } from "./mp4box.js";
3
- export class XDataStream {
4
- static BIG_ENDIAN;
5
- static LITTLE_ENDIAN;
6
- buffer;
7
- constructor(arrayBuffer, byteOffset, endianness) { }
8
- }
9
- export default mp4box;
10
- export const DataStreamx = mp4box.DataStream;
11
- //# sourceMappingURL=mp4box.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mp4box.adapter.js","sourceRoot":"","sources":["../../../s/tools/mp4boxjs/mp4box.adapter.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAsHlC,MAAM,OAAO,WAAW;IACvB,MAAM,CAAC,UAAU,CAAU;IAC3B,MAAM,CAAC,aAAa,CAAU;IAC9B,MAAM,CAAe;IACrB,YAAY,WAAwB,EAAE,UAAkB,EAAE,UAAmB,IAAG,CAAC;CAEjF;AAqBD,eAAe,MAAgB,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAyB,CAAA"}
package/x/types.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { MP4Demuxer } from "./tools/mp4boxjs/demuxer.js";
2
- export interface Clip {
3
- id: string;
4
- }
5
- export interface LoadedVideoClip extends Clip {
6
- demuxer: MP4Demuxer;
7
- }
package/x/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/x/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../s/types.ts"],"names":[],"mappings":""}