Mediabunny: FFmpeg для веба на чистом TypeScript

15 Oct, 2025

Логотип Mediabunny

Знакомая ситуация: нужно обработать видео или аудио прямо в браузере — обрезать, конвертировать, извлечь метаданные — а подходящих инструментов нет? Meet Mediabunny — TypeScript-библиотека, которая превращает браузер в полноценную медиа-студию.

Почему это важно?

До недавнего времени сложные операции с медиафайлами в вебе требовали:

  • Серверных решений вроде FFmpeg
  • Громоздких WASM-сборок
  • Ограниченных нативных API

Mediabunny меняет правила игры: всё работает на чистом JavaScript, без зависимостей, с поддержкой современных браузерных API вроде WebCodecs.

Кому пригодится?

  • Разработчикам видеоредакторов в браузере
  • Создателям аудио-приложений
  • Авторам инструментов для работы с медиаконтентом
  • Всем, кому нужно анализировать или преобразовывать медиафайлы на клиенте

5 причин попробовать прямо сейчас

1. Полноценная замена FFmpeg в браузере

Поддерживает все популярные форматы:

  • Видео: MP4, WebM, MKV, MOV
  • Аудио: MP3, WAV, FLAC, Ogg
  • Субтитры и метаданные
// Пример извлечения метаданных
const input = new Input({
  source: new BlobSource(file),
  formats: ALL_FORMATS,
});

const { title, artist, album } = await input.getMetadataTags();

2. Аппаратное ускорение через WebCodecs

Библиотека использует современные браузерные API для кодирования/декодирования, что даёт производительность близкую к нативным решениям.

3. Минимальный размер бандла

Благодаря tree-shaking можно подключить только нужные модули — базовый функционал весит всего 5 КБ в gzip.

4. Работа с файлами любого размера

Потоковая обработка позволяет работать даже с очень большими файлами без перегрузки памяти.

5. Кросс-платформенность

Одинаково работает в браузере и Node.js, что упрощает универсальную разработку.

Как это устроено внутри?

Технически Mediabunny — это:

  • Набор мультиплексоров/демультиплексоров для разных форматов
  • Абстракции над WebCodecs API
  • Ленивые вычисления для оптимизации производительности

Архитектура библиотеки продумана так, чтобы минимизировать накладные расходы и максимально использовать возможности современного JavaScript.

Практические кейсы

  1. Облачный видеоредактор — пользователи могут редактировать видео прямо в браузере без загрузки на сервер
  2. Аудиоплеер с анализом треков — извлечение BPM, тональности и других характеристик
  3. Конвертер форматов — мгновенное преобразование между MP4, WebM, MP3 прямо на устройстве пользователя
  4. Генератор превью — автоматическое создание миниатюр из видео
// Пример конвертации в WebM
const conversion = await Conversion.init({ 
  input: new Input({ source: file }),
  output: new Output({ format: new WebMOutputFormat() })
});
await conversion.execute();

Статистика проекта

  • ⭐ 3.9k звезд на GitHub
  • 🚀 130 форков
  • 📦 25+ поддерживаемых кодеков
  • 🏆 Поддержка от Remotion, Gling AI и других компаний

Вывод: стоит ли пробовать?

Mediabunny — это: ✅ Простота интеграции ✅ Высокая производительность ✅ Широкие возможности ✅ Активное сообщество

Особенно рекомендую обратить внимание, если:

  • Вы разрабатываете медиа-приложения для веба
  • Хотите снизить нагрузку на сервер
  • Цените чистый код без зависимостей

Попробовать можно прямо сейчас:

npm install mediabunny

Документация и примеры: mediabunny.dev

P.S. Автор сейчас в отпуске до 18 октября, но активное сообщество в Discord всегда поможет с вопросами!