BMF (Babit Multimedia Framework) -это кроссплатформенная, многоязычная, настраиваемая мультимедийная структура обработки, разработанная Bytedance . Благодаря более чем 4 годам тестирования и улучшения, BMF была адаптирована к искусственному решению проблем в нашей реальной производственной среде. В настоящее время он широко используется в потоковой передаче видео Bytedance, в прямом эфире, облачном редактировании и сценариях мобильной обработки до/пост -обработки. Более 2 миллиардов видео обрабатываются рамками каждый день.
Вот несколько ключевых особенностей BMF:
Крестоплатформенная поддержка: собственная совместимость с Linux, Windows и Mac OS, а также оптимизация для процессоров x86 и ARM.
Легкий в использовании: BMF предоставляет API Python, Go и C ++, что позволяет разработчикам гибкость кода на своих любимых языках.
Настраиваемость: разработчики могут улучшить функции Framework, добавляя свои собственные модули самостоятельно из -за дезертирной архитектуры BMF.
Высокая производительность: BMF имеет мощную планировку и сильную поддержку гетерогенного оборудования для ускорения. Более того, Nvidia сотрудничает с нами для разработки высоко оптимизированного конвейера графического процессора для видео -транскодирования и вывода искусственного интеллекта.
Эффективное преобразование данных: BMF предлагает бесшовные преобразования формата данных в популярных структурах (FFMPEG/NUPPY/PYTORCH/OPENCV/TENSORRT), преобразование между аппаратными устройствами (ЦП/графический процессор), а также преобразование в формате пикселя.
BMFLITE -это кроссплатформенная, легкая, легкая, более эффективная мультимедийная структура на стороне клиента. До сих пор алгоритм клиента BMFLITE используется в таких приложениях, как Douyin/Xigua, обслуживая более одного миллиарда пользователей в прямой трансляции/видеоролике/изображениях/облачных играх и других сценариях, а также обрабатывают видео и картинки триллионы раз каждый день Полем
Погрузитесь глубже в возможности BMF на нашем веб -сайте для получения более подробной информации.
В этом разделе мы непосредственно продемонстрируем возможности структуры BMF около шести измерений: транскод , редактирование , собрание/вещатель , ускорение графического процессора , вывод искусственного интеллекта и структура на стороне клиента . Для всех демонстраций, представленных ниже, соответствующие реализации и документация доступны в Google Colab, что позволяет вам испытать их интуитивно.
Эта демонстрация описывает шаг за шагом, как использовать BMF для разработки программы транскодирования, включая транскодирование видео, аудио-транскодирование и транскодирование изображений. В нем вы можете ознакомиться с тем, как использовать BMF и как использовать FFMPEG-совместимые варианты для достижения необходимых вам возможностей.
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на
Демонстрация «Редактировать» покажет вам, как реализовать конвейер с высокой комплексной редактированием аудио и видео через фреймворк BMF. Мы внедрили два модуля Python, video_concat и video_overlay, и объединили различные атомные возможности для построения сложного графа BMF.
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на
Эта демонстрация использует Framework BMF для построения простой службы вещания. Служба предоставляет API, который позволяет динамическому вытягиванию видео источника, управлению компоновкой видео, микшированием звука и в конечном итоге трансляции вывода на сервер RTMP. Эта демонстрация демонстрирует модульность BMF, многоязычное развитие и способность динамической регулировки трубопровода.
Ниже приведена запись экрана, демонстрирующая работу телекомпании:

Демонстрация ускорения извлечения видео кадры показывает:
BMF Гибкая способность:
Аппаратное ускорение быстро включение и поддержка конвейера процессора/графического процессора
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на
Демонстрация модуля транскодирования и фильтра GPU показывает:
Демонстрация строит транскодирующий трубопровод, который полностью работает на графическом процессоре:
Decode-> Scale-> Flip-> rotate-> crop-> blur-> Encode
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на
Прототип о том, как создать видеорозирование видео для данных обучения LLM в Bytedance, которое каждый день обслуживает миллиарды обработки клип.
Входное видео будет разделено в соответствии с изменением сцены, а субтитры в видео будут обнаружены и обрезаны модулем OCR, а качество видео будет оцениваться BMF, предоставленным эстетическим модулем. После этого завершенные видеоклипы будут кодированы как вывод.
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на
Эта демонстрация показывает, как интегрировать алгоритмы Art AI AI в конвейер обработки видео BMF. Знаменитый алгоритм раскраски с открытым исходным кодом Deoldify обернут как модуль BMF Pyhton в менее чем 100 строках кодов. Окончательный эффект показан ниже, с оригинальным видео с левой стороны и цветным видео справа.
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на

Эта демонстрация реализует процесс вывода в супер разрешении реального эзаргана в качестве модуля BMF, демонстрируя трубопровод BMF, который сочетает в себе декодирование, вывод и кодирование супер-разрешения.
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на
Эта демонстрация показывает, как вызвать нашу модель эстетической оценки с использованием BMF. Наша модель глубокого обучения AESMode достигла точности бинарной классификации 83,8% в наборе данных AVA, достигнув уровня академической SOTA, и может быть непосредственно использовать для оценки эстетической степени видео с помощью обработки извлечения кадров.
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на
Эта демонстрация показывает полную конвейеру, обнаруживая, на основе ускорения Tensorrt, который внутренне использует модель ONNX с ускорением Tensorrt для обработки входного видео. Он использует алгоритм NMS для фильтрации повторных кандидатов, чтобы сформировать выход, который можно использовать для эффективного обработки задачи обнаружения лица.
Если вы хотите провести быстрый эксперимент, вы можете попробовать его на
Этот случай иллюстрирует процедуры интеграции модуля внешнего алгоритма в структуру BMFLITE и управление его выполнением.

Этот пример реализует алгоритм Denoise в качестве модуля BMF, демонстрируя трубопровод BMF, который сочетает в себе захват видео, снижение шума и рендеринг.

О BMF
Быстрый опыт
Начиная
Режим синхронизации с 3 языками. Вы можете попробовать это на:
Python: C ++: Go:
Несколько функций (с примерами)
Апис
Лицензия
Внося
Проект имеет лицензию Apache 2.0. Сторонние компоненты и зависимости остаются под их собственными лицензиями.
Взносы приветствуются. Пожалуйста, следуйте указаниям.
Мы используем проблемы GitHub для отслеживания и решения проблем. Если у вас есть какие -либо вопросы, пожалуйста, не стесняйтесь присоединиться к обсуждению и поработать с нами, чтобы найти решение.
Справочник по декодеру, энкодеру и фильтру FFMPEG CMDLine. Они обернуты как встроенные модули BMF по лицензии LGPL.
Проект также черпает вдохновение из других популярных рамок, таких как FFMPEG-Python и MediaPipe. Наш веб -сайт использует проект от Docsy на основе Hugo.
Здесь мы хотели бы выразить нашу искреннюю благодарность разработчикам вышеуказанных проектов!