Merge branch 'main' into fork-branch

This commit is contained in:
Vanilagy
2025-11-11 16:18:40 +01:00
16 changed files with 187 additions and 42 deletions
+9 -6
View File
@@ -48,6 +48,7 @@
target
});
let ctx = null;
const conversion = await Mediabunny.Conversion.init({
input: new Mediabunny.Input({
formats: Mediabunny.ALL_FORMATS,
@@ -56,6 +57,7 @@
output,
audio: (_, n) => ({
discard: n > 1,
//codec: 'opus',
/*
process: (sample) => {
return sample;
@@ -97,7 +99,7 @@
},
*/
video: () => ({
/*
//discard: true,
process: (sample) => {
if (!ctx) {
// Create a canvas for image compositing
@@ -108,13 +110,14 @@
ctx = canvas.getContext('2d');
}
console.log(ctx.canvas.width, ctx.canvas.height);
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
sample.draw(ctx, 0, 0);
ctx.drawImage(watermark, 32, 32);
sample.drawWithFit(ctx, { fit: 'fill' });
//ctx.drawImage(watermark, 32, 32);
return ctx.canvas;
},
*/
//width: 300,
//alpha: 'keep',
//width: 320,
@@ -170,8 +173,8 @@
}
},
trim: {
start: 0,
end: 10
//start: 0,
//end: 10
},
});
console.log(conversion);
+29 -1
View File
@@ -45,7 +45,34 @@
source: new Mediabunny.BlobSource(file),
});
const videoTrack = await input.getPrimaryVideoTrack();
const videoTrack = await input.getPrimaryAudioTrack();
const sink = new Mediabunny.EncodedPacketSink(videoTrack);
for await (const packet of sink.packets()) {
console.log(packet.timestamp, packet.duration, packet.timestamp + packet.duration);
if (packet.timestamp > 10) break;
}
/*
const sink = new Mediabunny.VideoSampleSink(videoTrack);
for await (const sample of sink.samples()) {
console.log(sample.timestamp, sample.duration);
sample.close();
}
*/
/*
const sink = new Mediabunny.EncodedPacketSink(videoTrack);
for await (const packet of sink.packets()) {
console.log(packet.timestamp, packet.timestamp + packet.duration);
}
*/
/*
const sink = new Mediabunny.VideoSampleSink(videoTrack);
console.log(await videoTrack.getDecoderConfig())
@@ -61,6 +88,7 @@
for await (const sample of sink.samples()) {
console.log(sample);
}
*/
/*
let total = 0;