BMF(Babit Multimedia Framework) 是字节跳动开源的跨平台、多语言、可定制的多媒体处理框架。它基于于亿级 DAU 实践而诞生,在不断的业务落地过程中,框架的功能多样性、易用性、兼容性、稳定性和卓越性能都有了充分打磨与验证。
作为一款通用的多媒体处理框架,BMF 致力于为开发者和多媒体用户提供简单易用的跨语言接口和灵活的调度机制,使得用户能够轻松构建高效的多媒体处理链路。
目前,BMF 覆盖了视频转码、视频抽帧、视频增强、视频分析、视频插帧、视频编辑、视频会议、视频大模型等业务场景,服务于字节内部几乎所有业务线,包括抖音、今日头条、西瓜视频、豆包等大家耳熟能详的应用,同时也支撑了火山引擎多个行业客户的视频处理需求。
🔗 GitHub 地址:github.com/BabitMF/bmf (欢迎 star ⭐️)
1、开源之夏是什么
开源之夏是中国科学院软件研究所发起的“开源软件供应链点亮计划”系列暑期活动,旨在鼓励高校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。
开源之夏于2020年正式发起,今年是第六届,它已经成为国内最具影响力的面向的开源社区活动,很多学生通过开源之夏融入开源社区、获得技能提升、为升学和工作拿到了含金量十足的加分项。
2、活动流程
同学们可以通过开源之夏官网和学生指南查看更多关于活动介绍、流程,以及参与方法的细节。
开源之夏官方网站:summer-ospp.ac.cn
开源之夏学生指南:blog.summer-ospp.ac.cn/help/studen…)
3、BMF 项目公布
📌 项目一:BMF DiffusionFlow
本项目将 Stable Diffusion(SD)端到端生成流程,封装为一系列可在 BMF Graph 中以节点化方式调用的 Module,进一步丰富框架在 AIGC 场景下的表现力。
项目产出要求:
-
完成 SD 全链路基础 BMF Module 的设计、开发与单元测试,比如 Text Encoder、 Diffusion Scheduler、VAE Decoder 等
-
产出 Text-to-Image、Image-to-Image 两个场景的完整示例
-
实现点击/拖拽式 Graph 编辑器,并能预览生成结果
项目技术要求:
Python、C++
PyTorch,了解 SD 架构
📌 项目二:Performance trace optimization in the multimedia framework
There is a previous trace mechanism for performance measurement that already exists, but it will impact the latency (~10% more time cost occurred) of whole pipeline once BMF_TRACE is enabled. This is a problem that needs to be solved urgently.
项目产出要求:
-
To root cause of the latency impacted by TRACE
-
To optimize the trace mechanism to be lightweight, make the time cost bring by trace under 3%
项目技术要求:
-
Understanding of multimedia framework
-
Performance trace design and analytic capability
备注:
- 本项目需要纯英文沟通
📌项目三: 多媒体处理框架中的动态流式处理接口C++实现
在BMF中 python和cpp的builder层都是基于connector层构建的,其中python利用了binding技术,目前BMF支持通过python调用dynamic系列接口,支持在BMF graph运行时动态更改节点,比如新增、删除、重置。此项目的实现可以借鉴现有的python builder实现,来补齐cpp缺失的dynamic系列接口。
项目产出要求:
- 用C++实现 dynamic_remove,dynamic_add,dynamic_reset,update 接口,并完成测试用例。
项目技术要求:
-
- 良好的C++编程能力
-
- 了解基本的多媒体处理
4、选拔规则
由于开源之夏活动规则限制,每个项目仅录取 1 位学生参与最终结项。
BMF 社区选拔时间为:5 月 15 日至 6 月 20 日。
在此期间,欢迎同学们主动联系导师,提交项目申请书与简历,并积极认领或解决 BMF 项目相关 issue,以此深入了解框架,展示能力。
我们将依据以下维度综合评估候选人:
- 项目申请书质量
- issue 完成情况
- 与导师沟通交流中的表现
- 编程能力、架构理解、实际投入程度等
表现优异但未被最终录取的同学,我们也将给予奖励,并可根据意向安排长期社区导师辅导,继续参与开源贡献。
5、加入我们
欢迎浏览 BMF 的开源之夏主页,选择你喜欢的课题,通过邮件和对应的导师直接沟通:
👉 summer-ospp.ac.cn/org/orgdeta…
也可以通过飞书交流群和我们取得联系:
BMF 社区期待大家加入 ! 🔥💻🌟