Общая платформа обработки мультимедиа с открытым исходным кодом Volcano Engine BMF

Источник статьи|Сообщество открытого исходного кода BMF

GitHub|github.com/BabitMF/bmf

Фон с открытым исходным кодом

С быстрым развитием коротких видео в прямом эфире и 5G все больше и больше данных записываются и распространяются в виде видео. Это делает особенно важным исследование и применение технологий обработки видео, которые представляют собой универсальные инструменты, SDK и решения для реализации различных видеоприложений.

В эпоху видео развитие мультимедиа сталкивается с разнообразными проблемами, в том числе:

  • Сложные сценарии : сложные связи обработки, взаимозависимость между алгоритмами и проектами, а также разнообразные бизнес-сценарии.
  • Расширение и сотрудничество : некоторые разработчики алгоритмов часто используют языки высокого уровня, такие как Python, тогда как некоторые решения для обработки мультимедиа предоставляют только интерфейсы C/C++. Кроме того, в некоторых случаях, чтобы лучше добиться повторного использования возможностей, часто обнаруживается, что язык разработки, используемый для зрелых возможностей, не совпадает с языком разрабатываемого в настоящее время проекта. Как быстро и эффективно повторно использовать и интегрировать возможности, это большая проблема. Инженерная проблема представляет собой серьезные проблемы.
  • Стандарты и совместимость . Пользователи, занимающиеся разработкой мультимедиа, часто сталкиваются с различными потребностями в обработке. Некоторые классические и широко используемые возможности транскодирования и фильтрации используются очень часто. Чтобы соответствовать отраслевым стандартам, им необходимо вкладывать много усилий в разработку для удовлетворения своих собственных потребностей и возможностей. обеспечить соответствие отраслевым стандартам транскодирования и обработки фильтров; существуют также некоторые сложные ситуации разработки, которые требуют взаимодействия между различными основными данными. Разработчикам часто приходится вкладывать много энергии в обучение взаимодействию с различными стандартами и SDK.
  • Гетерогенные вычисления : при массовой обработке видео вычисления, основанные исключительно на многоядерных процессорах, иногда не могут удовлетворить требования к производительности и стоимости. Для этого требуется аппаратное ускорение в сочетании с сопроцессорами, такими как графические процессоры и цифровые процессоры обработки сигналов. Как удобно и эффективно соединить разнородные возможности, включая простую и легкую в использовании передачу и преобразование данных в пользовательских каналах обработки, а также высокопроизводительное асинхронное планирование, является задачей новой эпохи.

Чтобы решить несколько проблем, упомянутых выше, компания Volcano Engine разработала универсальную платформу обработки мультимедиа BMF (Babit Multimedia Framework ) , которая может обеспечить простые и удобные в использовании межъязыковые интерфейсы, гибкое планирование и масштабируемость, а также динамическое расширение в Управляйте и повторно используйте атомарные возможности обработки видео, создавайте высокопроизводительные каналы обработки мультимедиа в форме графика/конвейера или реализуйте инженерную интеграцию путем прямого вызова отдельных возможностей обработки, помогая пользователям мультимедиа реализовывать проекты в производственной среде. удобно и эффективно. Команда BMF надеется, что благодаря открытому исходному коду, помогая пользователям решать болевые точки отрасли , он сможет привлечь больше внимания и отзывов от пользователей и сообществ, а также постоянно усиливать техническое влияние компании.

Что такое БМФ

BMF (Babit Multimedia Framework, восьмибитная среда обработки мультимедиа) — это универсальная платформа обработки мультимедиа, разработанная Volcano Engine . Она может предоставлять простые и удобные в использовании межъязыковые интерфейсы, гибкое планирование и масштабируемость, а также может быть динамическим. расширяется по модульному принципу. Управляйте и повторно используйте атомарные возможности обработки видео, а также создавайте высокопроизводительные каналы обработки мультимедиа в форме Graph, чтобы помочь пользователям мультимедиа быстро и эффективно внедрять проекты в производственную среду. Общая структура экосистемы БМФ показана на рисунке.

Особенности структуры BMF

  • Простой многоязычный интерфейс : BMF предоставляет многоязычный интерфейс, позволяющий пользователям интегрировать разработку на разных языках в соответствии с потребностями проекта, обеспечивая максимальную совместимость и повторное использование всей инфраструктуры.
  • Слабосвязанный многоязычный модуль : модуль предоставляет атомарные возможности для обработки видео. Пользователи могут выбрать Python, C++ или Go, чтобы сосредоточиться на разработке модулей; между модулями и платформами, а также между модулями существует слабая связь, тем самым отделяя алгоритмы от разработки. , отделяя модули обработки, разработанные на разных языках, от языков разработки, используемых в приложениях верхнего уровня, что значительно расширяет возможности расширения и диверсифицирует возможности совместной работы.
  • Мощный механизм планирования : BMF предоставляет настраиваемый параллельный планировщик, несколько режимов использования и расширенные функции динамической настройки Graph для реализации высокопроизводительного механизма планирования, отвечающего за работу DAG/Graph/Pipeline, и помогает пользователям использовать различные решения. Меньшие затраты на разработку. функциональные требования и требования к производительности в сложных сценариях.
  • Полностью совместим с функциями и стандартами FFmpeg : BMF полностью совместим с возможностями и индикаторами обработки FFmpeg, такими как возможности декапсуляции, декодирования, фильтрации, кодирования и инкапсуляции. Конфигурация этих возможностей обработки и возможность получения точек, продолжительности, битрейта, fps и т. д. с помощью FFmpeg. Результаты с согласованными показателями хорошо отвечают необходимости быстрой интеграции возможностей FFmpeg в проекты.
  • Возможности преобразования данных между несколькими платформами и гетерогенными устройствами : поддерживает преобразование с нулевым копированием между несколькими основными форматами данных и обеспечивает высокую совместимость с соединениями данных между различными модулями. Например, необходимо использовать возможности кодирования, декодирования и фильтрации ffmpeg, обработку преобразования OpenCV и более сложные ситуации, когда Pytorch необходимо использовать для интеллектуального анализа, в то же время он поддерживает гетерогенную передачу данных между устройствами, формат пикселей; возможности преобразования и возможности асинхронного планирования, что помогает пользователям быстро решать проблемы ускоренной оптимизации в производственной среде.

Сценарии применения

Компания внедрила услуги перекодирования, улучшения, интеллектуальной обработки, извлечения и просмотра кадров , вырезки портретов с улучшенным изображением в реальном времени и внедрение алгоритмов на мобильных терминалах на уровне 100 миллионов в день внутри компании , помогая компании сократить затраты на разработку, и затраты на пропускную способность, повышая эффективность совместной работы и разработки алгоритмов.

как использовать

Адрес открытого исходного кода:

https://github.com/BabitMF/bmf

Последующий план

В настоящее время BMF является открытым исходным кодом. Проект все еще находится на стадии активной реализации. В будущем будут предприняты усилия в области гетерогенного экологического строительства, строительства новых атомных мощностей и поддержки мобильных терминалов для улучшения экологии разработки мультимедиа и укрепления отраслевого сотрудничества. старайтесь участвовать в построении сообщества и продвигать стандартизацию технологий.

Спасибо и общение

Приглашаем всех желающих вести последующую коммуникацию и обратную связь через GitHub, а также посетить веб-сайт BMF .

Товарищ-цыпленок «открыл исходный код» Deepin-IDE и наконец-то добился начальной загрузки! Хороший парень, Tencent действительно превратила Switch в «мыслящую обучающуюся машину». Обзор сбоев Tencent Cloud от 8 апреля и объяснение ситуации. Реконструкция запуска удаленного рабочего стола RustDesk. Веб-клиент . Терминальная база данных с открытым исходным кодом WeChat на основе SQLite. WCDB положила начало серьезному обновлению. Апрельский список TIOBE: PHP упал до рекордно низкого уровня, Фабрис Беллард, отец FFmpeg, выпустил инструмент сжатия звука TSAC , Google выпустил большую модель кода CodeGemma , она вас убьет? Это так хорошо, что это инструмент с открытым исходным кодом - инструмент для редактирования изображений и плакатов с открытым исходным кодом.
{{o.name}}
{{m.name}}

рекомендация

отmy.oschina.net/u/6210722/blog/10105899
рекомендация