BMF (Babit Multimedia Framework) 는 Bytedance 가 개발 한 크로스 플랫폼, 다중 언어, 사용자 정의 가능한 멀티미디어 프로세싱 프레임 워크입니다. 4 년 이상의 테스트 및 개선으로 BMF는 실제 생산 환경에서 문제를 해결하기 위해 조정되었습니다. 현재 Bytedance의 비디오 스트리밍, 라이브 트랜스 코딩, 클라우드 편집 및 모바일 프리/포스트 처리 시나리오에서 널리 사용됩니다. 20 억 개가 넘는 비디오는 매일 프레임 워크에 의해 처리됩니다.
BMF의 몇 가지 주요 기능은 다음과 같습니다.
크로스 플랫폼 지원 : Linux, Windows 및 Mac OS와의 기본 호환성뿐만 아니라 X86 및 ARM CPU에 대한 최적화.
사용하기 쉬운 : BMF는 Python, Go 및 C ++ API를 제공하여 개발자가 좋아하는 언어로 코딩 할 수있는 유연성을 제공합니다.
Customizability : 개발자는 BMF 디퍼 커플 링 된 아키텍처로 인해 자체 모듈을 독립적으로 추가하여 프레임 워크의 기능을 향상시킬 수 있습니다.
고성능 : BMF는 강력한 스케줄러와 이질 가속 하드웨어에 대한 강력한 지원을 제공합니다. 또한 NVIDIA는 비디오 트랜스 코딩 및 AI 추론을위한 고도로 최적화 된 GPU 파이프 라인을 개발하기 위해 우리와 협력하고 있습니다.
효율적인 데이터 변환 : BMF는 인기있는 프레임 워크 (FFMPEG/NUMPY/PYTORCH/OPENCV/TENSORRT), 하드웨어 장치 (CPU/GPU) 간의 전환 및 색상 공간 및 픽셀 형식 변환을 통해 원활한 데이터 형식 전환을 제공합니다.
BMFLITE 는 클라이언트 측 플랫폼, 가볍고 효율적인 클라이언트 측 멀티미디어 처리 프레임 워크입니다. 지금까지 BMFLITE 클라이언트 측 알고리즘은 Douyin/Xigua와 같은 앱에서 사용되며 라이브 스트리밍/비디오 재생/사진/클라우드 게임 및 기타 시나리오에서 10 억 명 이상의 사용자에게 서비스를 제공하고 매일 비디오 및 사진 조상을 처리합니다. .
자세한 내용은 웹 사이트에서 BMF의 기능을 자세히 살펴보십시오.
이 섹션에서는 트랜스 코드 , 편집 , 회의/방송사 , GPU 가속도 , AI 추론 및 클라이언트 측 프레임 워크 등 BMF 프레임 워크의 기능을 직접 표시합니다. 아래에 제공된 모든 데모의 경우 해당 구현 및 문서화가 Google Colab에서 제공되므로 직관적으로 경험할 수 있습니다.
이 데모는 BMF를 사용하여 비디오 트랜스 코딩, 오디오 트랜스 코딩 및 이미지 트랜스 코딩을 포함한 트랜스 코딩 프로그램을 개발하는 방법을 단계별로 설명합니다. 그것에서 BMF 사용 방법과 FFMPEG 호환 옵션을 사용하여 필요한 기능을 달성하는 방법에 익숙해 질 수 있습니다.
빠른 실험을 원한다면 시도해 볼 수 있습니다.
편집 데모는 BMF 프레임 워크를 통해 복잡한 오디오 및 비디오 편집 파이프 라인을 구현하는 방법을 보여줍니다. Video_Concat 및 Video_overlay의 두 개의 파이썬 모듈을 구현했으며 다양한 원자 기능을 결합하여 복잡한 BMF 그래프를 구성했습니다.
빠른 실험을 원한다면 시도해 볼 수 있습니다.
이 데모는 BMF 프레임 워크를 사용하여 간단한 방송 서비스를 구성합니다. 이 서비스는 동적 비디오 소스 풀링, 비디오 레이아웃 제어, 오디오 믹싱 및 궁극적으로 출력을 RTMP 서버로 스트리밍 할 수있는 API를 제공합니다. 이 데모는 BMF의 모듈성, 다중 언어 개발 및 파이프 라인을 동적으로 조정하는 기능을 보여줍니다.
아래는 방송사의 운영을 보여주는 화면 녹화입니다.

비디오 프레임 추출 가속 데모는 다음과 같습니다.
BMF 유연한 기능 :
하드웨어 가속화는 빠르게 활성화되고 CPU/GPU 파이프 라인 지원
빠른 실험을 원한다면 시도해 볼 수 있습니다.
GPU 트랜스 코딩 및 필터 모듈 데모는 다음을 보여줍니다.
데모는 GPU에서 완전히 실행되는 트랜스 코딩 파이프 라인을 구축합니다.
decode-> scale-> flip-> rotate-> crop-> blur-> encode
빠른 실험을 원한다면 시도해 볼 수 있습니다.
Bytedance에서 LLM 교육 데이터를위한 비디오 전처리를 구축하는 방법의 프로토 타입으로 매일 수십억 개의 클립 처리를 제공합니다.
입력 비디오는 장면 변경에 따라 분할되며 비디오의 자막은 OCR 모듈에 의해 감지 및 자르며 BMF가 미학 모듈에 의해 평가됩니다. 그 후, 최종 비디오 클립은 출력으로 인코딩됩니다.
빠른 실험을 원한다면 시도해 볼 수 있습니다.
이 데모는 ART AI AI 알고리즘을 BMF 비디오 처리 파이프 라인에 통합하는 방법을 보여줍니다. 유명한 오픈 소스 색상화 알고리즘 Deoldify는 100 줄 미만의 코드에서 BMF Pyhton 모듈로 랩핑됩니다. 최종 효과는 아래에 설명되어 있으며 왼쪽에 원본 비디오가 있고 오른쪽에는 컬러 비디오가 있습니다.
빠른 실험을 원한다면 시도해 볼 수 있습니다.

이 데모는 Real-Esrgan의 Super-Resolution 추론 프로세스를 BMF 모듈로 구현하여 디코딩, 초-해상도 추론 및 인코딩을 결합한 BMF 파이프 라인을 보여줍니다.
빠른 실험을 원한다면 시도해 볼 수 있습니다.
이 데모는 BMF를 사용하여 미적 평가 모델을 호출하는 방법을 보여줍니다. 우리의 딥 러닝 모델 Aesmode는 AVA 데이터 세트에서 83.8%의 이진 분류 정확도를 달성하여 학문적 SOTA 수준에 도달했으며 프레임 추출 처리를 통해 미학적 수준을 평가하는 데 직접 사용될 수 있습니다.
빠른 실험을 원한다면 시도해 볼 수 있습니다.
이 데모는 Tensorrt Acceleration을 기반으로 한 전체 링크면 감지 파이프 라인을 보여줍니다. Tensorrt-Accelerated Onnx 모델을 내부적으로 사용하여 입력 비디오를 처리합니다. NMS 알고리즘을 사용하여 반복 된 후보자 상자를 필터링하여 출력을 형성하여 얼굴 감지 작업을 효율적으로 처리하는 데 사용할 수 있습니다.
빠른 실험을 원한다면 시도해 볼 수 있습니다.
이 경우 외부 알고리즘 모듈을 BMFLITE 프레임 워크에 통합하고 실행 관리의 관리 절차를 보여줍니다.

이 예제는 Denoise 알고리즘을 BMF 모듈로 구현하여 비디오 캡처, 노이즈 감소 및 렌더링을 결합한 BMF 파이프 라인을 보여줍니다.

BMF 정보
빠른 경험
시작하기
3 언어로 동기화 모드. 당신은 그것을 시도 할 수 있습니다 :
파이썬 : C ++ : GO :
여러 기능 (예제 포함)
아피스
특허
기여
이 프로젝트에는 Apache 2.0 라이센스가 있습니다. 타사 구성 요소 및 종속성은 자체 라이센스에 따라 남아 있습니다.
기부금을 환영합니다. 가이드 라인을 따르십시오.
우리는 GitHub 문제를 사용하여 문제를 추적하고 해결합니다. 궁금한 점이 있으시면 언제든지 토론에 참여하고 우리와 협력하여 해결책을 찾으십시오.
디코더, 인코더 및 필터 참조 FFMPEG CMDLINE 도구. LGPL 라이센스에 따라 BMF의 내장 모듈로 랩핑됩니다.
이 프로젝트는 또한 FFMPEG-Python 및 MediaPipe와 같은 다른 인기있는 프레임 워크에서 영감을 얻습니다. 우리 웹 사이트는 Hugo를 기반으로 Docsy의 프로젝트를 사용하고 있습니다.
여기서는 위의 프로젝트 개발자들에게 진심으로 진심으로 표현하고 싶습니다!