# Mediabunny ## Docs - [Introduction](https://mintlify.wiki/Vanilagy/mediabunny/introduction.md): Learn about Mediabunny, a JavaScript library for reading, writing, and converting media files directly in the browser - [Installation](https://mintlify.wiki/Vanilagy/mediabunny/installation.md): Install Mediabunny using npm, yarn, pnpm, or include it directly with a script tag - [Quick start](https://mintlify.wiki/Vanilagy/mediabunny/quickstart.md): Get started quickly with code examples for common Mediabunny operations - [Input and Output](https://mintlify.wiki/Vanilagy/mediabunny/concepts/input-output.md): Learn how Input and Output classes work together to read and write media files - [Formats and Codecs](https://mintlify.wiki/Vanilagy/mediabunny/concepts/formats-and-codecs.md): Understanding container formats, codecs, and their compatibility in Mediabunny - [Packets and Samples](https://mintlify.wiki/Vanilagy/mediabunny/concepts/packets-and-samples.md): Understanding the difference between compressed packets and raw samples in media processing - [Sources and Targets](https://mintlify.wiki/Vanilagy/mediabunny/concepts/sources-and-targets.md): Understanding how to read from and write to different storage locations in Mediabunny - [Reading files](https://mintlify.wiki/Vanilagy/mediabunny/guides/reading-files.md): Learn how to read media files, extract metadata, and decode video and audio tracks - [Writing files](https://mintlify.wiki/Vanilagy/mediabunny/guides/writing-files.md): Learn how to create media files with multiple tracks, encode video and audio, and write to different outputs - [Converting files](https://mintlify.wiki/Vanilagy/mediabunny/guides/converting-files.md): Learn how to convert media files between formats, resize video, transcode audio, and trim clips - [Metadata](https://mintlify.wiki/Vanilagy/mediabunny/guides/metadata.md): Learn how to read and write metadata tags like title, artist, album, and cover art - [Streaming](https://mintlify.wiki/Vanilagy/mediabunny/guides/streaming.md): Learn how to stream media data for memory-efficient operations with large files - [Media sources](https://mintlify.wiki/Vanilagy/mediabunny/advanced/media-sources.md): Different media source types and when to use them - [Media sinks](https://mintlify.wiki/Vanilagy/mediabunny/advanced/media-sinks.md): Different media sink types and when to use them - [Custom coders](https://mintlify.wiki/Vanilagy/mediabunny/advanced/custom-coders.md): Implementing custom encoders and decoders - [Performance](https://mintlify.wiki/Vanilagy/mediabunny/advanced/performance.md): Performance best practices and optimization techniques - [MP3 Encoder](https://mintlify.wiki/Vanilagy/mediabunny/extensions/mp3-encoder.md): Enable MP3 encoding in browsers using the @mediabunny/mp3-encoder extension - [AC-3 Decoder and Encoder](https://mintlify.wiki/Vanilagy/mediabunny/extensions/ac3.md): Enable AC-3 and E-AC-3 decoding and encoding with the @mediabunny/ac3 extension - [Input](https://mintlify.wiki/Vanilagy/mediabunny/api/input.md): Read and process input media files - [Output](https://mintlify.wiki/Vanilagy/mediabunny/api/output.md): Create and write output media files - [Input tracks](https://mintlify.wiki/Vanilagy/mediabunny/api/input-track.md): Access media track information and read packets from input files - [Conversion](https://mintlify.wiki/Vanilagy/mediabunny/api/conversion.md): Convert media files with transcoding, resizing, and transformation options - [Input formats](https://mintlify.wiki/Vanilagy/mediabunny/api/input-formats.md): Classes and utilities for reading media files in various formats - [Output formats](https://mintlify.wiki/Vanilagy/mediabunny/api/output-formats.md): Classes and configuration for writing media files in various formats - [Sources](https://mintlify.wiki/Vanilagy/mediabunny/api/sources.md): Source classes for reading input data from various locations - [Targets](https://mintlify.wiki/Vanilagy/mediabunny/api/targets.md): Target classes for writing output data to various destinations - [Video sources](https://mintlify.wiki/Vanilagy/mediabunny/api/media-sources/video-sources.md): Video source classes for adding video samples to output tracks - [Audio sources](https://mintlify.wiki/Vanilagy/mediabunny/api/media-sources/audio-sources.md): Audio source classes for adding audio samples to output tracks - [Subtitle sources](https://mintlify.wiki/Vanilagy/mediabunny/api/media-sources/subtitle-sources.md): Subtitle source classes for adding subtitle cues to output tracks - [Video sinks](https://mintlify.wiki/Vanilagy/mediabunny/api/media-sinks/video-sinks.md): API reference for video media sinks including VideoSampleSink and CanvasSink - [Audio sinks](https://mintlify.wiki/Vanilagy/mediabunny/api/media-sinks/audio-sinks.md): API reference for audio media sinks including AudioSampleSink, AudioBufferSink, and EncodedPacketSink - [Packets](https://mintlify.wiki/Vanilagy/mediabunny/api/packets.md): Encoded media packets for compressed data - [Samples](https://mintlify.wiki/Vanilagy/mediabunny/api/samples.md): Raw unencoded audio and video samples - [Metadata](https://mintlify.wiki/Vanilagy/mediabunny/api/metadata.md): Descriptive metadata tags for media files - [Codecs](https://mintlify.wiki/Vanilagy/mediabunny/api/codecs.md): Codec types and constants for video, audio, and subtitle media - [Encoding](https://mintlify.wiki/Vanilagy/mediabunny/api/encoding.md): Video and audio encoding configuration and utilities - [Custom coders](https://mintlify.wiki/Vanilagy/mediabunny/api/custom-coders.md): Implement custom video and audio encoders and decoders