bmf  by BabitMF

Multimedia framework for video processing, AI inference, and transcoding

Created 2 years ago
975 stars

Top 37.9% on SourcePulse

GitHubView on GitHub
Project Summary

BMF (Babit Multimedia Framework) is a cross-platform, multi-language multimedia processing framework designed for high-performance video transcoding, AI inference, and live streaming. It targets developers needing a flexible and customizable solution for complex media pipelines, offering significant GPU acceleration and seamless integration with popular frameworks.

How It Works

BMF employs a decoupled, module-based architecture allowing developers to create custom processing graphs. It supports Python, Go, and C++ APIs, enabling heterogeneous development. The framework boasts a powerful scheduler and strong GPU acceleration, with NVIDIA collaboration for optimized pipelines. It excels at efficient data conversion between various frameworks (FFmpeg, PyTorch, OpenCV) and hardware devices (CPU/GPU), including color space and pixel format conversions.

Quick Start & Requirements

  • Install: pip install bmf-sdk
  • Prerequisites: Python 3.7+, FFmpeg (for some modules). GPU acceleration requires compatible NVIDIA hardware and drivers.
  • Demos: Available on Google Colab for quick experimentation. https://github.com/BabitMF/bmf/tree/main/demo

Highlighted Details

  • Processes over 2 billion videos daily in ByteDance production environments.
  • BMFLite client-side framework used by over a billion users for live streaming and video playback.
  • Demonstrates integration of state-of-the-art AI algorithms like DeOldify and Real-ESRGAN.
  • Supports full GPU transcoding pipelines (decode->scale->flip->rotate->crop->blur->encode).

Maintenance & Community

Developed by ByteDance. Community discussions and issue tracking are managed via GitHub.

Licensing & Compatibility

Apache 2.0 License for the core framework. Third-party components (like FFmpeg wrappers) are under LGPL, which may have implications for commercial use if modified and distributed.

Limitations & Caveats

Some built-in modules are based on FFmpeg and are LGPL licensed, which could restrict commercial use depending on how they are integrated and distributed. The README mentions "over 4 years of testing and improvements" but doesn't detail specific versioning or release cadence.

Health Check
Last Commit

1 month ago

Responsiveness

1 day

Pull Requests (30d)
2
Issues (30d)
0
Star History
18 stars in the last 30 days

Explore Similar Projects

Starred by Alex Yu Alex Yu(Research Scientist at OpenAI; Former Cofounder of Luma AI), Lianmin Zheng Lianmin Zheng(Coauthor of SGLang, vLLM), and
2 more.

HunyuanVideo by Tencent-Hunyuan

0.2%
11k
PyTorch code for video generation research
Created 9 months ago
Updated 3 weeks ago
Feedback? Help us improve.