BMF (BABIT Multimedia Framework) adalah kerangka pemrosesan multimedia multi-platform, multi-bahasa, yang dapat disesuaikan yang dikembangkan oleh Bytedance . Dengan lebih dari 4 tahun pengujian dan perbaikan, BMF telah dirancang untuk secara mahir menangani tantangan di lingkungan produksi dunia nyata kami. Saat ini banyak digunakan dalam streaming video Bytedance, transcoding langsung, pengeditan cloud dan skenario pemrosesan pre/post mobile. Lebih dari 2 miliar video diproses oleh kerangka kerja setiap hari.
Berikut adalah beberapa fitur utama BMF:
Dukungan lintas platform: Kompatibilitas asli dengan Linux, Windows, dan OS Mac, serta optimasi untuk CPU X86 dan ARM.
Mudah digunakan: BMF menyediakan Python, GO, dan C ++ API, memungkinkan pengembang fleksibilitas untuk kode dalam bahasa favorit mereka.
Kustomizabilitas: Pengembang dapat meningkatkan fitur kerangka kerja dengan menambahkan modul mereka sendiri secara mandiri karena arsitektur Decoupled BMF.
Kinerja Tinggi: BMF memiliki penjadwal yang kuat dan dukungan kuat untuk perangkat keras akselerasi yang heterogen. Selain itu, NVIDIA telah bekerja sama dengan kami untuk mengembangkan pipa GPU yang sangat dioptimalkan untuk transkode video dan inferensi AI.
Konversi data yang efisien: BMF menawarkan konversi format data yang mulus di seluruh kerangka kerja populer (FFMPEG/NUMPY/PYTORCH/OPENCV/TENSORRT), konversi antara perangkat perangkat keras (CPU/GPU), dan ruang warna dan konversi format piksel.
BMFLITE adalah kerangka pemrosesan multimedia sisi klien sisi klien, ringan, lebih efisien. Sejauh ini, algoritma sisi klien BMFLITE digunakan dalam aplikasi seperti douyin/xigua, melayani lebih dari satu miliar pengguna dalam streaming langsung/bermain video/gambar/permainan cloud dan skenario lainnya, dan memproses video dan gambar triliunan setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari setiap hari .
Menyelam lebih dalam kemampuan BMF di situs web kami untuk lebih jelasnya.
Di bagian ini, kami akan secara langsung memamerkan kemampuan kerangka BMF sekitar enam dimensi: transcode , edit , rapat/penyiar , akselerasi GPU , inferensi AI , dan kerangka kerja sisi klien . Untuk semua demo yang disediakan di bawah ini, implementasi dan dokumentasi yang sesuai tersedia di Google Colab, yang memungkinkan Anda mengalaminya secara intuitif.
Demo ini menjelaskan langkah demi langkah cara menggunakan BMF untuk mengembangkan program transcoding, termasuk transcoding video, transcoding audio, dan transcoding gambar. Di dalamnya, Anda dapat membiasakan diri dengan cara menggunakan BMF dan cara menggunakan opsi yang kompatibel dengan FFMPEG untuk mencapai kemampuan yang Anda butuhkan.
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya
Demo Edit akan menunjukkan kepada Anda cara menerapkan pipa pengeditan audio dan video berkapur tinggi melalui kerangka kerja BMF. Kami telah mengimplementasikan dua modul Python, video_concat dan video_overlay, dan menggabungkan berbagai kemampuan atom untuk membangun grafik BMF yang kompleks.
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya
Demo ini menggunakan kerangka kerja BMF untuk membangun layanan siaran sederhana. Layanan ini menyediakan API yang memungkinkan penarikan sumber video dinamis, kontrol tata letak video, pencampuran audio, dan akhirnya mengalirkan output ke server RTMP. Demo ini menampilkan modularitas BMF, pengembangan multi-bahasa, dan kemampuan untuk menyesuaikan pipa secara dinamis.
Di bawah ini adalah perekaman layar yang menunjukkan pengoperasian penyiar:

Demo percepatan ekstraksi bingkai video menunjukkan:
BMF Kemampuan Fleksibel:
Akselerasi Perangkat Keras Memerukan dengan Cepat dan Dukungan Pipa CPU/GPU
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya
Demo modul transcoding dan filter GPU menunjukkan:
Demo ini membangun pipa transcoding yang sepenuhnya berjalan di GPU:
decode-> skala-> flip-> rotate-> crop-> blur-> encode
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya
Prototipe tentang cara membangun video preprocessing untuk data pelatihan LLM di hytedance, yang melayani miliaran pemrosesan klip setiap hari.
Video input akan dibagi sesuai dengan perubahan adegan, dan subtitle dalam video akan terdeteksi dan dipotong oleh modul OCR, dan kualitas video akan dinilai oleh modul estetika yang disediakan BMF. Setelah itu, klip video yang diselesaikan akan dikodekan sebagai output.
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya
Demo ini menunjukkan cara mengintegrasikan algoritma ART AI state ke dalam pipa pemrosesan video BMF. Algoritma pewarnaan open source yang terkenal Deoldify dibungkus sebagai modul BMF Pyhton dalam kurang dari 100 baris kode. Efek terakhir diilustrasikan di bawah ini, dengan video asli di sisi kiri dan video berwarna di sebelah kanan.
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya

Demo ini mengimplementasikan proses inferensi super-resolusi Real-Esrgan sebagai modul BMF, menampilkan pipa BMF yang menggabungkan decoding, inferensi dan pengkodean super-resolusi.
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya
Demo ini menunjukkan cara memohon model penilaian estetika kami menggunakan BMF. Model pembelajaran mendalam kami AESMODE telah mencapai akurasi klasifikasi biner sebesar 83,8% pada dataset AVA, mencapai tingkat SOTA akademik, dan dapat secara langsung digunakan untuk mengevaluasi tingkat estetika video melalui pemrosesan bingkai ekstraksi.
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya
Demo ini menunjukkan pipa deteksi wajah-link penuh berdasarkan akselerasi Tensorrt, yang secara internal menggunakan model ONNX yang dipercepat Tensorrt untuk memproses video input. Ini menggunakan algoritma NMS untuk memfilter kotak kandidat yang diulang untuk membentuk output, yang dapat digunakan untuk memproses tugas deteksi wajah secara efisien.
Jika Anda ingin melakukan eksperimen cepat, Anda dapat mencobanya
Kasus ini menggambarkan prosedur mengintegrasikan modul algoritma eksternal ke dalam kerangka kerja BMFLITE dan manajemen eksekusi.

Contoh ini mengimplementasikan algoritma Denoise sebagai modul BMF, menampilkan pipa BMF yang menggabungkan pengambilan video, pengurangan kebisingan, dan rendering.

Tentang BMF
Pengalaman cepat
Memulai
Mode sinkronisasi dengan 3 bahasa. Anda dapat mencobanya di:
Python: C ++: GO:
Beberapa fitur (dengan contoh)
Lebah
Lisensi
Berkontribusi
Proyek ini memiliki lisensi Apache 2.0. Komponen dan dependensi pihak ketiga tetap berada di bawah lisensi mereka sendiri.
Kontribusi disambut. Silakan ikuti pedomannya.
Kami menggunakan masalah GitHub untuk melacak dan menyelesaikan masalah. Jika Anda memiliki pertanyaan, jangan ragu untuk bergabung dengan diskusi dan bekerja dengan kami untuk menemukan solusi.
Alat Decoder, Encoder dan Filter Referensi FFMPEG CMDLINE. Mereka dibungkus sebagai modul bawaan BMF di bawah lisensi LGPL.
Proyek ini juga menarik inspirasi dari kerangka kerja populer lainnya, seperti FFMPEG-Python dan MediaPipe. Situs web kami menggunakan proyek dari Docsy berdasarkan Hugo.
Di sini, kami ingin menyampaikan terima kasih kami yang tulus kepada para pengembang dari proyek -proyek di atas!