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使用該項目。
在這裡,我們要感謝上述項目的開發人員,表達了我們最誠摯的!