BMF(Babit Multimedia框架)是由BODEDANE开发的跨平台,多语言,可自定义的多媒体处理框架。经过超过4年的测试和改进,BMF的量身定制为在我们的现实生产环境中熟练应对挑战。目前,它被广泛用于兽人的视频流,实时转码,云编辑和移动前/后处理方案。每天通过框架处理超过20亿个视频。
以下是BMF的一些关键功能:
跨平台支持:与Linux,Windows和Mac OS的本机兼容性,以及X86和ARM CPU的优化。
易于使用: BMF提供Python,GO和C ++ API,使开发人员可以灵活地使用自己喜欢的语言进行编码。
可定制性:开发人员可以通过独立添加自己的模块来增强框架的功能,因为BMF脱钩的体系结构。
高性能: BMF具有强大的调度程序和对异质加速硬件的强大支持。此外, NVIDIA一直在与我们合作,开发了高度优化的GPU管道,用于视频转编码和AI推断。
有效的数据转换: BMF提供了跨流行框架(FFMPEG/NUMPY/PYTORCH/OPENCV/TENSORRT)的无缝数据格式转换,硬件设备(CPU/GPU)之间的转换以及颜色空间和像素格式的转换。
BMFlite是客户端跨平台,轻巧,更有效的客户端多媒体处理框架。到目前为止,BMFlite客户端算法用于诸如Douyin/Xigua之类的应用中,在实时流媒体/视频播放/图片/云游戏和其他场景中为超过10亿用户提供服务,以及每天处理视频和图片数万亿次。
有关更多详细信息,请深入了解BMF的功能。
在本节中,我们将直接展示BMF框架围绕六个维度的功能: transcode , edit ,编辑,会议/广播员, GPU加速度, AI推理和客户端框架。对于下面提供的所有演示,可以在Google Colab上提供相应的实现和文档,使您可以直观地体验它们。
该演示介绍了如何使用BMF开发转码程序的分步,包括视频转编码,音频转编码和图像转编码。在其中,您可以熟悉如何使用BMF以及如何使用FFMPEG兼容选项来实现所需功能。
如果您想快速实验,可以尝试一下
编辑演示将向您展示如何通过BMF框架实现高复杂性音频和视频编辑管道。我们已经实现了两个Python模块,Video_Concat和Video_overlay,并结合了各种原子能来构建复杂的BMF图。
如果您想快速实验,可以尝试一下
该演示使用BMF框架来构建简单的广播服务。该服务提供了一个API,该API可以启用动态视频源拉动,视频布局控件,音频混合,并最终将输出流式传输到RTMP服务器。该演示展示了BMF的模块化,多语言开发以及动态调整管道的能力。
以下是屏幕记录,展示了广播公司的操作:

视频框架提取加速度演示显示:
BMF的灵活功能:
硬件加速度快速启用和CPU/GPU管道支持
如果您想快速实验,可以尝试一下
GPU转码和过滤器模块演示显示:
该演示构建了一个转码管道,该管道在GPU上完全运行:
解码 - >比例 - > flip->旋转 - > crop-> Blur->编码
如果您想快速实验,可以尝试一下
如何在Bytedance中为LLM培训数据构建视频预处理的原型,该数据每天为数十亿个剪辑处理提供服务。
输入视频将根据场景更改进行分配,视频中的字幕将由OCR模块检测和裁剪,视频质量将由BMF提供的美学模块评估。之后,最终的视频片段将被编码为输出。
如果您想快速实验,可以尝试一下
该演示显示了如何将艺术AI算法的状态集成到BMF视频处理管道中。著名的开源着色算法DEILDIFY被包裹为BMF Pyhton模块,少于100行代码。最终效果如下所示,左侧的原始视频和右侧的彩色视频。
如果您想快速实验,可以尝试一下

该演示实现了真实esrgan作为BMF模块的超分辨率推断过程,展示了结合解码,超分辨率推理和编码的BMF管道。
如果您想快速实验,可以尝试一下
该演示显示了如何使用BMF调用我们的美学评估模型。我们的深度学习模型AESMODE在AVA数据集上达到了83.8%的二进制分类精度,达到了学术SOTA的水平,并且可以直接用于通过框架提取处理来评估视频的美学程度。
如果您想快速实验,可以尝试一下
该演示显示了基于张力加速度的完整链接面检测管道,该管道内部使用张力加速的ONNX模型来处理输入视频。它使用NMS算法来过滤重复的候选框以形成输出,该输出可用于有效地处理面部检测任务。
如果您想快速实验,可以尝试一下
此案例说明了将外部算法模块集成到BMFlite框架和执行管理的过程。

此示例将DENOISE算法作为BMF模块实现,展示了结合视频捕获,降噪和渲染的BMF管道。

关于BMF
快速的经验
入门
使用3种语言同步模式。您可以尝试:
Python:C ++:GO:
多个功能(带有示例)
蜜蜂
执照
贡献
该项目具有Apache 2.0许可证。第三方组件和依赖项仍在自己的许可下。
欢迎捐款。请遵循准则。
我们使用GitHub问题来跟踪和解决问题。如果您有任何疑问,请随时加入讨论并与我们合作找到解决方案。
解码器,编码器和过滤器参考FFMPEG CMDLINE工具。在LGPL许可证下,它们被用作BMF的内置模块。
该项目还从其他流行的框架中汲取了灵感,例如FFMPEG-Python和Mediapipe。我们的网站正在基于Hugo的Docsy使用该项目。
在这里,我们要感谢上述项目的开发人员,表达了我们最诚挚的!