Volcano Engine Open Source allgemeines Multimedia-Verarbeitungsframework BMF

Artikelquelle|BMF Open Source Community

GitHub|github.com/BabitMF/bmf

Open-Source-Hintergrund

Mit der rasanten Entwicklung von Live-Kurzvideos und 5G werden immer mehr Daten in Form von Videos erfasst und verbreitet. Daher ist die Erforschung und Anwendung von Videoverarbeitungstechnologien, bei denen es sich um universelle Werkzeuge, SDKs und Lösungen zur Umsetzung verschiedener Videoanwendungen handelt, von besonderer Bedeutung.

Im Videozeitalter steht die Multimedia-Entwicklung vor vielfältigen Herausforderungen, darunter:

  • Komplexe Szenarien : komplexe Verarbeitungsverknüpfungen, gegenseitige Abhängigkeit zwischen Algorithmen und Projekten sowie verschiedene Geschäftsszenarien.
  • Erweiterung und Zusammenarbeit : Für einige Algorithmenentwickler werden häufig Hochsprachen wie Python verwendet, während einige Multimedia-Verarbeitungslösungen nur C/C++-Schnittstellen bereitstellen. Darüber hinaus wird in einigen Fällen häufig festgestellt, dass die für ausgereifte Funktionen verwendete Entwicklungssprache nicht mit der des aktuell entwickelten Projekts übereinstimmt, um eine bessere Wiederverwendung von Funktionen zu erreichen. Wie man Funktionen schnell und effektiv wiederverwendet und integriert Das Engineering stellt erhebliche Herausforderungen dar.
  • Standards und Kompatibilität : Benutzer der Multimedia-Entwicklung sehen sich häufig mit unterschiedlichen Verarbeitungsanforderungen konfrontiert. Um Industriestandards zu erfüllen, müssen sie viel Aufwand in die Entwicklung investieren, um ihre eigenen Anforderungen zu erfüllen Um die Branchenkonformität zu erreichen, gibt es auch einige komplexe Entwicklungssituationen, die die Interoperabilität zwischen verschiedenen Mainstream-Daten erfordern. Entwickler müssen häufig viel Energie in das Erlernen der Schnittstelle zu verschiedenen Standards und SDKs investieren.
  • Heterogenes Computing : Bei der massiven Videoverarbeitung können Berechnungen, die ausschließlich auf Multi-Core-CPUs basieren, manchmal die Leistungs- und Kostenanforderungen nicht erfüllen. Dies erfordert eine Hardwarebeschleunigung in Kombination mit Co-Prozessoren wie GPUs und DSPs. Die Herausforderung in der neuen Ära besteht darin, heterogene Funktionen bequem und effizient zu verbinden, einschließlich einfacher und benutzerfreundlicher Datenübertragung und -konvertierung in Benutzerverarbeitungsverbindungen und leistungsstarker asynchroner Planung.

Um mehrere der oben genannten Herausforderungen zu lösen, hat Volcano Engine das universelle Multimedia-Verarbeitungsframework BMF (Babit Multimedia Framework ) entwickelt , das einfache und benutzerfreundliche sprachübergreifende Schnittstellen, flexible Planung und Skalierbarkeit sowie dynamische Erweiterung bieten kann Verwalten und nutzen Sie die atomaren Funktionen der Videoverarbeitung modular, bauen Sie leistungsstarke Multimedia-Verarbeitungsverbindungen in Form von Graph/Pipeline auf oder implementieren Sie die technische Integration durch den direkten Aufruf einzelner Verarbeitungsfunktionen, um Multimedia-Benutzern bei der Implementierung von Projekten in der Produktionsumgebung zu helfen bequem und effizient. In Form von Open Source hofft das BMF- Team , dass es durch die Unterstützung von Benutzern bei der Lösung von Branchenproblemen mehr Aufmerksamkeit und Feedback von Benutzern und Communities hervorrufen und den technischen Einfluss des Unternehmens kontinuierlich verbessern kann.

Was ist BMF?

BMF (Babit Multimedia Framework, 8-Bit-Multimedia-Verarbeitungsframework) ist ein von Volcano Engine selbst entwickeltes universelles Multimedia-Verarbeitungsframework . Es kann einfache und benutzerfreundliche sprachübergreifende Schnittstellen, flexible Planung und Skalierbarkeit bieten und dynamisch sein Modular erweitert, verwalten und wiederverwenden Sie die atomaren Funktionen der Videoverarbeitung und erstellen Sie leistungsstarke Multimedia-Verarbeitungsverbindungen in Form von Graph, um Multimedia-Benutzern dabei zu helfen, Projekte schnell und effizient in die Produktionsumgebung zu implementieren. Die gesamte Ökosystemstruktur von BMF ist in der Abbildung dargestellt.

Funktionen des BMF-Frameworks

  • Einfache mehrsprachige Schnittstelle : BMF bietet eine mehrsprachige Schnittstelle, um Benutzern die Integration der Entwicklung in verschiedenen Sprachen entsprechend den Projektanforderungen zu erleichtern und so die Kompatibilität und Wiederverwendung des gesamten Frameworks zu maximieren.
  • Lose gekoppeltes mehrsprachiges Modul : Das Modul bietet atomare Funktionen für die Videoverarbeitung. Benutzer können sich auf die Entwicklung von Modulen konzentrieren. Zwischen Modulen und Frameworks besteht eine lose Kopplung, wodurch Algorithmen von der Technik entkoppelt werden. , Entkopplung der in verschiedenen Sprachen entwickelten Verarbeitungsmodule von den Entwicklungssprachen, die in Anwendungen der oberen Schicht verwendet werden, wodurch die Erweiterungsmöglichkeiten und die vielfältigen Möglichkeiten der Zusammenarbeit erheblich verbessert werden.
  • Leistungsstarke Planungs-Engine : BMF bietet einen konfigurierbaren parallelen Scheduler, mehrere Nutzungsmodi und erweiterte Funktionen zur dynamischen Anpassung von Graph, um einen leistungsstarken Planungsmechanismus zu realisieren, der für den Betrieb von DAG/Graph/Pipeline verantwortlich ist und Benutzern durch verschiedene Lösungen hilft, die Entwicklungskosten zu senken Funktions- und Leistungsanforderungen in komplexen Szenarien.
  • Vollständig kompatibel mit FFmpeg-Funktionen und -Standards : BMF ist vollständig kompatibel mit den Verarbeitungsfunktionen und Indikatoren von FFmpeg, wie z. B. Entkapselungs-, Dekodierungs-, Filter-, Kodierungs- und Kapselungsfunktionen. Die Konfiguration dieser Verarbeitungsfunktionen und die Möglichkeit, Punkte, Dauer, Bitrate usw. zu erhalten. fps usw. mit FFmpeg Die Ergebnisse mit konsistenten Indikatoren erfüllen gut die Notwendigkeit, FFmpeg-Funktionen schnell in Projekte zu integrieren.
  • Datenkonvertierungsfunktionen zwischen mehreren Frameworks und heterogenen Geräten : Unterstützt die kopierfreie Konvertierung zwischen mehreren gängigen Datenformaten und ist hochkompatibel mit Datenverbindungen zwischen verschiedenen Modulen. Beispielsweise ist es notwendig, die Kodierungs-, Dekodierungs- und Filterfunktionen von ffmpeg, die Transformationsverarbeitung von OpenCV und komplexere Situationen zu verwenden, in denen Pytorch gleichzeitig für die intelligente Analyse verwendet werden muss und gleichzeitig die heterogene geräteübergreifende Datenübertragung und das Pixelformat unterstützt Konvertierungsfunktionen und asynchrone Planungsfunktionen helfen Benutzern dabei, beschleunigte Optimierungsprobleme in der Produktionsumgebung schnell zu lösen.

Anwendungsszenarien

Das Unternehmen hat Videotranskodierung, -verbesserung, intelligente Verarbeitungsdienste, Bildextraktions- und Überprüfungsdienste , Live-Video-verstärkte Porträtausschnitte und Algorithmenimplementierung auf mobilen Endgeräten in einer Größenordnung von 100 Millionen pro Tag innerhalb des Unternehmens implementiert und so dem Unternehmen dabei geholfen, Entwicklungs- und Rechenaufwand zu reduzieren und Bandbreitenkosten, wodurch die Zusammenarbeit und Entwicklungseffizienz von Technik und Algorithmen verbessert wird.

wie benutzt man

Open-Source-Adresse:

https://github.com/BabitMF/bmf

Folgeplan

BMF ist jetzt Open Source. In Zukunft werden Anstrengungen unternommen, um die Multimedia-Entwicklungsökologie zu verbessern und die Zusammenarbeit mit der Industrie zu stärken Versuchen Sie, sich am Community-Aufbau zu beteiligen und die Technologiestandardisierung zu fördern.

Danke und Kommunikation

Jeder ist herzlich eingeladen, Folgekommunikation und Feedback über GitHub durchzuführen, und Sie sind auch herzlich willkommen, die BMF-Website zu besuchen .

Fellow Chicken „Open-Source“ -Deepin-IDE und endlich Bootstrapping erreicht! Guter Kerl, Tencent hat Switch wirklich in eine „denkende Lernmaschine“ verwandelt. Tencent Clouds Fehlerüberprüfung und Situationserklärung vom 8. April RustDesk-Remote-Desktop-Startup-Rekonstruktion Web-Client WeChats Open-Source-Terminaldatenbank basierend auf SQLite WCDB leitete ein großes Upgrade ein TIOBE April-Liste: PHP fiel auf ein Allzeittief, Fabrice Bellard, der Vater von FFmpeg, veröffentlichte das Audiokomprimierungstool TSAC , Google veröffentlichte ein großes Codemodell, CodeGemma , wird es dich umbringen? Es ist so gut, dass es Open Source ist – ein Open-Source-Bild- und Poster-Editor-Tool
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/6210722/blog/10105899
Empfohlen
Rangfolge