Фабрис Беллар: программист, создавший FFmpeg, QEMU и TCC

Фабрис Беллар: человек, который написал FFmpeg за выходные

В мире программирования есть легенды — люди, чьи проекты используют миллиарды устройств, но имена которых неизвестны широкой публике. Один из таких людей — Фабрис Беллар, французский программист, создавший FFmpeg, QEMU, TCC и десяток других проектов, ставших фундаментом современной индустрии. Пока стартапы привлекают инвестиции и строят бизнес-модели, Беллар в одиночку пишет код мирового уровня и публикует его открыто. Это история о том, как технический гений может изменить индустрию, работая без корпоративной поддержки и избегая публичности.

FFmpeg: библиотека, которая запустила эру видео в интернете

1997 год. Интернет только начинает осваивать мультимедиа, форматов видео десятки, а универсальных инструментов для работы с ними нет. Беллар садится за компьютер и за выходные пишет первую версию FFmpeg — библиотеку для кодирования и декодирования видео. Не было задачи от работодателя, венчурного финансирования или команды инженеров. Просто интерес к проблеме и желание её решить.

Сегодня FFmpeg — де-факто стандарт для работы с видео и аудио. YouTube использует FFmpeg для обработки загружаемого контента. Netflix транскодирует потоки через FFmpeg. Chrome, Firefox, Safari декодируют видео в браузере с помощью библиотек, основанных на FFmpeg. VLC, Adobe Premiere, Final Cut Pro, DaVinci Resolve — все они используют этот проект под капотом.

Что делает FFmpeg уникальным? Во-первых, поддержка практически всех существующих форматов — от древнего AVI до современного AV1. Во-вторых, эффективность — FFmpeg часто работает быстрее коммерческих аналогов, которые разрабатывали команды из десятков инженеров. В-третьих, открытость — весь код под лицензией LGPL, можно использовать в любых проектах.

Беллар создал не просто библиотеку — он создал экосистему. FFmpeg включает утилиты командной строки (ffmpeg, ffprobe, ffplay), библиотеки для разработчиков (libavcodec, libavformat, libavfilter), документацию и примеры. Проект живёт уже 27 лет, активно развивается, добавляет новые кодеки и форматы. Это пример долгосрочного качественного open source.


ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 128k output.mp4

# Извлечение аудиодорожки
ffmpeg -i video.mp4 -vn -acodec copy audio.aac

# Создание GIF из видео
ffmpeg -i video.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" output.gif

QEMU: виртуализация, изменившая облачную индустрию

2003 год. Беллар выпускает QEMU — эмулятор процессоров и систему виртуализации. Проект позволяет запускать одну операционную систему внутри другой, эмулировать разные архитектуры (ARM на x86, MIPS на ARM), создавать виртуальные машины. Звучит как академический проект? На самом деле — это фундамент для половины современной облачной инфраструктуры.

QEMU стал основой для KVM (Kernel-based Virtual Machine) — технологии виртуализации в Linux. AWS, Google Cloud, Azure используют KVM для запуска виртуальных серверов. Docker и контейнеризация базируются на технологиях, которые выросли из QEMU. Android Emulator для разработчиков — это QEMU под капотом. Embedded-разработка и кросс-платформенная компиляция — снова QEMU.

Что делает QEMU особенным? Во-первых, скорость — динамическая трансляция кода (dynamic binary translation) позволяет эмулировать процессоры с приемлемой производительностью. Во-вторых, гибкость — QEMU может работать как полноценный эмулятор (целая система) или как user-mode эмулятор (отдельные приложения). В-третьих, поддержка множества архитектур — x86, ARM, MIPS, PowerPC, RISC-V, SPARC и другие.

В видео я подробно разбираю архитектуру QEMU, показываю примеры использования для разработки и тестирования, объясняю, как один проект стал основой для целой индустрии облачных вычислений.

TCC и QuickJS: скорость как философия

Беллар известен не только масштабными проектами, но и экспериментами с пределами производительности. В 2001 году он выпустил Tiny C Compiler (TCC) — самый быстрый C-компилятор в мире. Не самый оптимизирующий, не генерирующий самый быстрый машинный код. Самый быстрый по скорости компиляции.

GCC компилирует себя за несколько минут. TCC компилирует себя за секунды. Весь компилятор умещается в 100 килобайт исполняемого файла. Для сравнения — GCC занимает мегабайты, Clang — десятки мегабайт. TCC при этом полностью совместим с ANSI C и большей частью стандарта C99.

Зачем нужен такой компилятор? Для встраиваемых систем, где важен размер. Для скриптинга на Си — можно использовать TCC как интерпретатор, компилируя код на лету. Для быстрой разработки — изменил код, мгновенно скомпилировал, запустил, без тормозов build-системы. TCC делает C похожим на скриптовый язык по скорости итераций.

В 2019 году Беллар выпустил QuickJS — компактный JavaScript-движок с полной поддержкой ES2020. Весь движок — 700 килобайт. V8 от Google — десятки мегабайт. QuickJS проходит 100% тестов на совместимость с стандартом ECMAScript, поддерживает модули, async/await,Proxy, Reflect — всё современное API.

Применение QuickJS — встраиваемые системы, IoT, игровые движки (скриптинг на JS), desktop-приложения (альтернатива Electron, но легковесная). Движок написан на чистом Си, компилируется одной командой, не требует зависимостей. Это пример того, как глубокое понимание алгоритмов позволяет создавать решения на порядок эффективнее конкурентов.

// Пример встраивания QuickJS в C-приложение
#include "quickjs.h"

int main() {
    JSRuntime *rt = JS_NewRuntime();
    JSContext *ctx = JS_NewContext(rt);

    const char *script = "console.log('Hello from QuickJS!');";
    JS_Eval(ctx, script, strlen(script), "<input>", JS_EVAL_TYPE_GLOBAL);

    JS_FreeContext(ctx);
    JS_FreeRuntime(rt);
    return 0;
}

Математические рекорды: вычисление π на домашнем компьютере

Беллар известен не только программными проектами. В 2009 году он побил мировой рекорд вычисления числа π, рассчитав 2.7 триллиона знаков после запятой на домашнем компьютере. Предыдущие рекорды держали университетские кластеры и суперкомпьютеры. Беллар использовал обычный десктоп с процессором Core i7 и массивом жёстких дисков.

Вычисления заняли 131 день непрерывной работы. Беллар применил формулу Чудновских для вычисления π и написал собственный алгоритм умножения больших чисел (arbitrary-precision arithmetic), который оказался быстрее стандартных библиотек вроде GMP. После завершения он верифицировал результат с помощью формулы Бэйли — Борвейна — Плаффа и опубликовал всё в открытый доступ: исходники, методику, результаты.

Ещё один вклад в математику — формула Беллара для вычисления n-ной цифры π в шестнадцатеричной системе без вычисления предыдущих цифр. Это развитие формулы Бэйли — Борвейна — Плаффа, имеющее практическое применение в криптографии и алгоритмах генерации псевдослучайных чисел.

Что это демонстрирует? Широту компетенций Беллара — он не просто программист, он математик, алгоритмист, оптимизатор. Его проекты используют сложные алгоритмы: быстрое преобразование Фурье в FFmpeg, динамическую трансляцию кода в QEMU, численные методы в вычислении π. Это не "нагуглил решение на Stack Overflow", это "прочитал научные статьи и написал оптимальную реализацию".

Философия разработки: качество против хайпа

Что делает Беллара уникальным в современной индустрии? Комбинация технической экспертизы, фокуса на эффективности и принципиальной открытости. Все его проекты компактны, быстры, оптимизированы до предела. Весь код публикуется под открытыми лицензиями — LGPL, MIT, BSD. Нет попыток патентовать алгоритмы, закрывать исходники, строить бизнес-модель на монополии.

Сравните это с современным подходом к разработке. Сейчас модно делать MVP за неделю, привлекать инвестиции, масштабироваться, искать exit. Беллар делает законченные технические проекты мирового уровня в одиночку и дарит их сообществу. Это радикально другой подход — не бизнес, а ремесло. Не стартап, а инженерное искусство.

Его код читабелен, структурирован, документирован. Нет "напишу хак, потом разберусь". Каждый проект сделан основательно, с расчётом на долгосрочное использование. FFmpeg развивается 27 лет. QEMU развивается 21 год. TCC используется до сих пор. Это результат правильной архитектуры и качественной реализации.

Беллар не гонится за хайпом. Он не переписывает всё на Rust, не внедряет blockchain, не делает AI-интеграции ради маркетинга. Большинство его кода — на Си, потому что Си даёт контроль над железом и производительность. Он использует правильные инструменты для правильных задач, а не модные технологии ради резюме.

Это антитеза tech-entrepreneurship. Нет pitch deck, нет Series A, нет Forbes-списков. Есть техническая экспертиза, интересные проблемы и желание их решить. Результат — проекты, которые переживут большинство стартапов, потому что решают фундаментальные проблемы правильно.

Влияние на индустрию и уроки для разработчиков

Оценим влияние Беллара количественно. FFmpeg используется практически везде, где есть видео: все браузеры, все стриминговые сервисы, все видеоредакторы, все медиаплееры, игровые движки. QEMU — основа для KVM, Docker, облачной инфраструктуры AWS/GCP/Azure, Android Emulator, embedded-разработки. Получается, что проекты Беллара работают на миллиардах устройств. Каждый смартфон, каждый компьютер, каждый сервер где-то использует его код.

При этом Беллар не стал миллиардером, не основал единорога, не попал в Forbes. Он работает, пишет код, публикует проекты. Живёт в Париже, избегает публичности, редко даёт интервью. Имя Беллара известно только профессионалам, которые читают credits в исходниках и понимают, кто стоит за инструментами, которыми они пользуются каждый день.

Что разработчики могут взять из его примера?

Глубина важнее ширины. Беллар эксперт в низкоуровневом программировании, алгоритмах, оптимизации. Он не распыляется на десятки языков и фреймворков. Он знает фундаментальные вещи, которые не устаревают: как работают процессоры, память, компиляторы, операционные системы.

Решайте настоящие проблемы. FFmpeg появился, потому что не было нормальной библиотеки для работы с видео. QEMU — потому что не было быстрой эмуляции процессоров. Беллар не делает pet projects ради портфолио. Он решает реальные технические задачи, которые стоят перед индустрией.

Пишите качественный код. Проекты Беллара живут десятилетиями, потому что написаны правильно. Чистая архитектура, оптимизация, документация. Нет "мы переписываем всё каждые два года, потому что накидали говнокод и теперь не можем в нём разобраться".

Публикуйте открыто. Весь код в open source даёт feedback от сообщества, peer review, тестирование на миллионах сценариев использования. Закрытый код развивается медленнее, содержит больше багов, ограничен ресурсами одной компании.

Заключение: техническое мастерство как долгосрочная стратегия

Фабрис Беллар доказывает, что один талантливый разработчик может изменить индустрию без корпорации, инвестиций и маркетинга. Просто качественный код, решающий реальные проблемы. Его проекты используют миллиарды устройств, но широкой публике его имя неизвестно. Он не пишет книги, не выступает на конференциях, не ведёт блог. Он просто делает свою работу на очень высоком уровне.

В мире, где все гонятся за вниманием, метриками, подписчиками — Беллар показывает альтернативный путь. Путь технического мастерства, открытости и долгосрочного влияния. FFmpeg переживёт тысячи стартапов. QEMU будет использоваться, когда половина современных фреймворков забудется. Потому что эти проекты решают фундаментальные проблемы правильно.

Если вы разработчик — изучите код Беллара. Почитайте исходники FFmpeg на GitHub, посмотрите на архитектуру QEMU, попробуйте TCC или QuickJS. Это мастер-класс по программированию от человека, который в одиночку создаёт инструменты, на которые у корпораций уходят годы и миллионы. Это пример того, как техническая экспертиза и инженерная честность создают продукты, которые переживают эпохи.