Modify audio encoder to fill gaps between timestamps with silence to ensure AV sync (fixes #176)

This commit is contained in:
Vanilagy
2025-11-11 18:03:28 +01:00
parent 9d477dfb14
commit 23f814679e
3 changed files with 51 additions and 2 deletions
+16 -1
View File
@@ -14,7 +14,21 @@
source: new Mediabunny.BlobSource(file),
});
const videoTrack = await input.getPrimaryAudioTrack();
const audioTrack = await input.getPrimaryAudioTrack();
const sink = new Mediabunny.AudioSampleSink(audioTrack);
let lastEnd = 0;
for await (const sample of sink.samples()) {
if (sample.timestamp - lastEnd > 0) {
console.warn(sample.timestamp - lastEnd)
console.log(sample.timestamp, sample.duration, "diffie", sample.timestamp - lastEnd);
}
lastEnd = sample.timestamp + sample.duration;
sample.close();
}
/*
const sink = new Mediabunny.EncodedPacketSink(videoTrack);
for await (const packet of sink.packets()) {
@@ -22,6 +36,7 @@
if (packet.timestamp > 10) break;
}
*/
/*
const sink = new Mediabunny.VideoSampleSink(videoTrack);