Порт FFmpeg на WebAssembly и JavaScript для записи, конвертации и потоковой передачи видео и аудио в браузере.
Vanilagy/mediabunny
TypeScript-библиотека без зависимостей для чтения, записи и конвертации видео- и аудиофайлов (MP4, WebM, MP3 и др.) в браузере.
- Звёзды
- 7,445
- Форки
- 340
- Открытые issues
- 53
- Последний коммит
- вчера
Что это?
Mediabunny — JavaScript-библиотека для чтения, записи и конвертации медиафайлов, таких как MP4, WebM, MP3 и HLS, прямо в браузере. Она с нуля написана на TypeScript, не имеет зависимостей и служит веб-ориентированной альтернативой подходу FFmpeg к работе с медиафайлами из командной строки.
Библиотека поддерживает демультиплексирование и мультиплексирование контейнеров, включая MOV, MKV, WAV, Ogg, FLAC и MPEG-TS, а также более 25 видеокодеков, аудиокодеков и кодеков субтитров. Для кодирования и декодирования используется WebCodecs API, обеспечивающий аппаратное ускорение при наличии поддержки. API конвертации позволяет выполнять трансмуксинг и транскодирование, менять размер, поворачивать и обрезать видео, изменять частоту дискретизации и обрезать фрагменты.
Файлы обрабатываются потоково, поэтому можно работать с большими файлами, не загружая их целиком в память. Пакет поддерживает tree-shaking, а размер минимальной сборки составляет около 5 кБ в gzip-сжатом виде. Тот же код можно запускать в Node, Bun и Deno с помощью отдельного пакета @mediabunny/server.
Ключевые возможности
- 01Читает и записывает MP4, MOV, WebM, MKV, HLS, WAV, MP3, Ogg, ADTS, FLAC и MPEG-TS.
- 02Поддерживает более 25 видеокодеков, аудиокодеков и кодеков субтитров, а также аппаратное ускорение через WebCodecs.
- 03Предоставляет API конвертации для трансмуксинга и транскодирования, изменения размера, обрезки, поворота и удаления фрагментов.
- 04Потоково обрабатывает входные и выходные данные и позволяет работать с файлами любого размера.
- 05Поддерживает tree-shaking, не имеет зависимостей во время выполнения; размер сборки — всего около 5 кБ в gzip-сжатом виде.
- 06Работает в браузерах, а через @mediabunny/server — в Node, Bun и Deno.
Сценарии использования
- Конвертация загруженного пользователем видео в WebM или MP4 перед отправкой на сервер.
- Чтение длительности, размеров, ориентации и тегов метаданных медиафайлов в веб-приложении.
- Создание MP4-видео в браузере из кадров canvas.
- Обрезка фрагментов или изменение размера клипов в видеоредакторе, работающем в браузере.
Быстрый старт
- 1
Установите пакет из npm
npm install mediabunny - 2
Импортируйте Input, ALL_FORMATS и BlobSource и прочитайте метаданные файла
Что важно знать
- Пакет предназначен для браузера и использует API WebCodecs для аппаратного ускорения кодеков.
- Для использования типов требуется TypeScript 5.7 или новее.
Темы
Частые вопросы
- Что такое mediabunny?
- TypeScript-библиотека без зависимостей для чтения, записи и конвертации видео- и аудиофайлов (MP4, WebM, MP3 и др.) в браузере. Mediabunny — JavaScript-библиотека для чтения, записи и конвертации медиафайлов, таких как MP4, WebM, MP3 и HLS, прямо в браузере. Она с нуля написана на TypeScript, не имеет зависимостей и служит веб-ориентированной альтернативой подходу FFmpeg к работе с медиафайлами из командной строки.
- mediabunny можно использовать бесплатно? Какая у него лицензия?
- mediabunny распространяется с открытым исходным кодом под лицензией MPL-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- mediabunny всё ещё поддерживается?
- Активно поддерживается. Последний коммит в mediabunny — 6 нояб. 2026 г..
- Для чего можно использовать mediabunny?
- Конвертация загруженного пользователем видео в WebM или MP4 перед отправкой на сервер. Чтение длительности, размеров, ориентации и тегов метаданных медиафайлов в веб-приложении. Создание MP4-видео в браузере из кадров canvas. Обрезка фрагментов или изменение размера клипов в видеоредакторе, работающем в браузере.
- Как установить mediabunny?
- Установите пакет из npm: npm install mediabunny Импортируйте Input, ALL_FORMATS и BlobSource и прочитайте метаданные файла
- Где скачать mediabunny?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Vanilagy/mediabunny
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Набор библиотек на C и инструментов командной строки для декодирования, кодирования, конвертации, фильтрации и потоковой передачи аудио, видео и субтитров.
Распределённая система автоматизации медиатеки: транскодирует и ремультиплексирует видео- и аудиофайлы с помощью FFmpeg или HandBrake по условным правилам плагинов.
C-библиотека для воспроизведения и захвата аудио: один исходный файл, никаких внешних зависимостей.
Многодорожечный видеоредактор, работающий прямо в браузере: медиафайлы хранятся локально, эффекты используют WebGPU, а экспорт выполняется в браузере.
Локальный инструмент в браузере: показывает готовый моушн-дизайн ролик синхронно с его черно-белыми черновыми сценами и экспортирует разбор в один MP4.