diff --git a/dev/convert.html b/dev/convert.html index cf6f001..7bc9ffe 100644 --- a/dev/convert.html +++ b/dev/convert.html @@ -24,7 +24,7 @@ chunked: true, chunkSize: 2**20 }); - const outputFormat = new Mediabunny.WavOutputFormat({}); + const outputFormat = new Mediabunny.Mp4OutputFormat({}); const button = document.createElement('button'); button.textContent = 'Cancel'; @@ -47,7 +47,7 @@ format: outputFormat, target }); - output.setMetadata({ + output.setMetadataTags({ title: 'Bigggy', artist: 'Buck Bunny', images: [{ @@ -105,7 +105,8 @@ }, */ video: () => ({ - discard: true, + //discard: true, + forceTranscode: true, //codec: 'avc', //fit: 'contain', //frameRate: 27.123, @@ -128,7 +129,7 @@ //height: 100, }), trim: { - start: 0, + start: 1, end: 10 }, }); diff --git a/dev/demux.html b/dev/demux.html index 212c601..72543c6 100644 --- a/dev/demux.html +++ b/dev/demux.html @@ -14,12 +14,22 @@ source: new Mediabunny.BlobSource(file), }); - const audioTrack = await input.getPrimaryAudioTrack(); - const sink = new Mediabunny.EncodedPacketSink(audioTrack); + const videoTrack = await input.getPrimaryVideoTrack(); + const sink = new Mediabunny.VideoSampleSink(videoTrack); - console.log(await audioTrack.getDecoderConfig()) - console.log(await sink.getFirstPacket()); + console.log(await sink.getSample(await videoTrack.getFirstTimestamp())) + /* + for await (const sample of sink.samples(0.99)) { + console.log(sample); + + if (sample.timestamp >= 2) { + break; + } + + } + */ + //console.log(await sink.getSample(1)) /* const screenStream = await navigator.mediaDevices.getDisplayMedia({ video: true }); diff --git a/package-lock.json b/package-lock.json index 88a0db1..5c23700 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.14.0", + "version": "1.14.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.14.0", + "version": "1.14.1", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -7749,9 +7749,9 @@ } }, "node_modules/mediabunny": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.13.3.tgz", - "integrity": "sha512-kV12CVwMdhMQILGrVcyDWOgnZHwAytStQYKZeEaUj32XamYhlDX0Od4SkXVr0Yms8iapJsiCoEQdSK4UKUfooA==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.14.0.tgz", + "integrity": "sha512-GaULQgUWpz5m4S7N6iNjpyLxqhpudjcSNGLC4Ni9A0A2vA6l5frBpxQJZM2JmqrN1B2BkArnCgyuTZv7ePw2vQ==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -12242,7 +12242,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.14.0", + "version": "1.14.1", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index 9ff76b0..78dbbe5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.14.0", + "version": "1.14.1", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 4e91b17..cf89587 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.14.0", + "version": "1.14.1", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", diff --git a/src/conversion.ts b/src/conversion.ts index 32d7b51..cc48e63 100644 --- a/src/conversion.ts +++ b/src/conversion.ts @@ -723,7 +723,7 @@ export class Conversion { await tempOutput.start(); const sink = new VideoSampleSink(track); - const firstSample = await sink.getSample(this._startTimestamp); + const firstSample = await sink.getSample(firstTimestamp); // Let's just use the first sample if (firstSample) { try {