Complete interactive demonstrations of all Mediabunny features
Supports videos, images, and audio files
import { Input, ALL_FORMATS, BlobSource } from 'mediabunny';
const input = new Input({
formats: ALL_FORMATS,
source: new BlobSource(file),
});
const duration = await input.computeDuration(); // in seconds
const allTracks = await input.getTracks();
// Extract video metadata
const videoTrack = await input.getPrimaryVideoTrack();
if (videoTrack) {
console.log(`Resolution: ${videoTrack.displayWidth}x${videoTrack.displayHeight}`);
console.log(`Rotation: ${videoTrack.rotation} degrees`);
const packetStats = await videoTrack.computePacketStats(100);
console.log(`FPS: ${packetStats.averagePacketRate}`);
}
// Extract audio metadata
const audioTrack = await input.getPrimaryAudioTrack();
if (audioTrack) {
console.log(`Channels: ${audioTrack.numberOfChannels}`);
console.log(`Sample Rate: ${audioTrack.sampleRate} Hz`);
}
// Extract metadata tags
const tags = await input.getMetadataTags();
console.log(`Title: ${tags.title}`);
console.log(`Artist: ${tags.artist}`);