Redian新闻
>
多语言、异构计算,火山引擎开源多媒体框架 BMF,完全兼容 FFmpeg

多语言、异构计算,火山引擎开源多媒体框架 BMF,完全兼容 FFmpeg

公众号新闻
比技术栈迭代更快的是用户需求,尤其是在当下的音视频领域。以往我们对音视频技术的要求多围绕着低延时、高可靠进行,然而近年来不断涌现地新鲜应用场景正创造着一个新的“超视频时代”,同时也不断对音视频技术提出各种新要求。
聚焦音视频技术本身,视频处理框架愈发凸显,它们往往是视频化部署的“底座”,可以在各类平台运行,充当实现各种视频应用程序的工具,并且在视频云、视频服务等架构中具有显著的支撑作用。而放眼音视频处理框架市场,目前主流的视频处理框架 FFmpeg 已有二十多年的历史,堪称最流行的音视频软件之一,但其在 GPU 和 CPU 并行处理等工作中稍显不足,且对于一些新兴要求如增加视频增强的算法,实现起来也较为复杂……
此外,整体而言,视频处理框架的开发语言主要为 C,对于当前流行的 Python/Go 生态下开发的能力及算法工程落地无法兼容。但随着今年 AI 大模型等新技术的迸发,融入 AI 能力是音视频技术接下来必须要解的一道难题。另一方面,用户需求在不断加码:如针对 GPU、DSP 等协处理器做硬件加速以处理海量视频、超现实游戏中的音视频传输需求、可以云端编辑音视频材料、支持超高分辨率与帧率等等。
面对现状,火山引擎携手 NVIDIA 开源下一代通用音视频处理框架——BMF,在提供强大功能的同时,以开源形式普惠音视频技术领域生态建设。




BMF 技术架构及优势解析


8 月 23 日,火山引擎视频云携手 NVIDIA 打造的亿级多媒体处理框架 BMF(Babit Multimedia Framework)正式对外开源。BMF 诞生于字节内部井喷的短视频和图片业务,跳脱于传统框架,覆盖包括从视频生产、下发、到播放等全链路视频周期,并不断进化。
作为一套通用多媒体处理框架,BMF 能够提供简洁易用的跨语言接口、灵活的调度和扩展性,以模块化的方式动态扩展、管理和复用视频处理的原子能力,以 graph/pipeline 的方式构建高性能的多媒体处理链路或者以单独处理能力的直接调用实现工程集成,帮助多媒体用户便捷、高效的将项目落地于生产环境。
在架构方面,BMF 包含一整套的生态体系,主要由四部分组成。
首先在应用层,可以支持视频内容从生产到消费的全链路视频场景,包括大量视频 AI 应用场景。
其次在框架层,包括框架对 Graph / Pipeline 的调度、跨数据类型跨设备的数据流转 Ackend、以及常用的跨设备 reformat、color space conversion、tensor 算子等 SDK ;并自研“自驱调度”和“动态 Graph”引擎,适配不同场景的多种执行模式。
再次在模块层,在框架设计之初即采用了“松耦合”设计,包含了具备各种原子能力的模块,提供多种语言的模块开发机制,用户可根据自身需要将算法/处理实现为 Python、Go、C++ 语言的任意一种;目前,已积累超过 140 个适用于视频场景的原子能力模块。
最后在异构层,负责提供高效的视频处理算力,包括 ASIC 算力,能够对多种主流框架数据实现无缝转换,使多种主流框架数据互转和协同工作变得更加顺畅和便捷。
BMF 从架构设计到实现,涵盖了多种特性致力解决新时代面临的诸多挑战:
  • 简洁的多语言接口。BMF提供了多语言的接口,方便用户根据项目需要在不同的语言中集成开发,最大限度的兼容和复用整个框架的能力。

  • 松耦合的多语言模块。模块提供视频处理的原子能力,用户可以任意选择 Python、C++、Go 专注于开发模块;模块与框架之间、模块与模块之间松耦合,从而把算法与工程解耦,把不同语言开发的处理模块和上层应用所使用的开发语言解耦,极大的增强了扩展能力和多元化的协同能力。

  • 功能强大的调度引擎。BMF 提供可配置的并行调度器、多种使用模式和动态调整 Graph 的高级特性,实现高性能的调度机制负责 DAG/Graph/Pipeline 的运转,通过各种解决方案帮助用户以较小的开发成本实现复杂场景下的功能、性能需求。

  • 完全兼容 FFmpeg 功能和标准。BMF 完全兼容 FFmpeg 的处理能力和指标,比如解封装、解码、filter、编码、封装能力,对这些处理能力的配置以及能够得到和 FFmpeg 的 pts、duration、bitrate、fps等指标一致的结果,很好的满足了需要把 FFmpeg 能力快速集成到项目中的需求。

  • 多种框架及异构设备间数据转换能力。支持多种主流数据格式之间的零拷贝互转,极大的兼容不同模块之间的数据衔接。比如既需要使用 ffmpeg 的编解码和 filter 能力,又要使用 OpenCV 的变换处理,还需要借助 Pytorch 做智能分析的较复杂场合;同时支持异构跨设备数据传递与转换能力、异步调度的能力,从而帮助用户快速解决生产环境的加速优化问题。




开源普惠,以高行业价值赋能生态


此次以开源的形式发布,BMF 以“面向全球,加速视频化进程,共建视频开发生态”为愿景,希望可以帮助企业客户解决快速构建视频化能力驱动业务增长的问题。开源以后,BMF 计划持续开源更多核心能力,完善解决方案,包括支持更多异构硬件/更多原子能力/移动端支持等。同时,依托火山引擎,构建云上模块市场,加速视频生态建设。
在正式开源之前,火山引擎就已和 NVIDIA 成为社区伙伴,共建 BMF。NVIDIA 的 GPU 在视频处理和传输方面有其独特优势,如 GPU 具有独立的视频编解码硬件、高带宽高算力的特性非常适合图像处理等等。因此,NVIDIA 团队针对 BMF 框架进行了深度的改造,增强框架的 GPU 亲和力,在框架层面提供更多的 GPU 加速能力;同时提供许多精细优化的 BMF 模块,做到开箱即用;并且使用 NVIDIA 的多项技术赋能 BMF,使得 BMF 在多场景下具有全方位 GPU 加速能力。
“提升 BMF 在视频处理领域以及开源社区的影响力,推动 BMF 成为视频处理的新基础设施。”NVIDIA 高级计算专家王晓伟、方杰表示,NVIDIA 会与火山引擎保持合作,听取社区及用户的意见,在 NVIDIA 最新的软硬件平台上进行迭代,继续完善 BMF,并且通过各种渠道大力宣传 BMF。
双方共同的目标,便是将 BMF 打造成新一代视频处理的基础平台。未来,BMF 也希望能充分地融入社区,不断扩展生态和展示多样的解决方案,期望为业界的开发者和企业在超视频时代提供更好的帮助。
事实上,BMF 也已经自证了其自身的行业价值。如在降低多媒体处理开发的复杂度方面,BMF 从不同方面验证了其对生态的助益。
在算法落地场景,如在抖音等业务上的视频增强转码,需要通过图像去噪、插帧、超分、质量分等技术和算法来满足需求,但是不同团队的算法、工程开发人员需要以相对宽松的耦合状态协同实现,如果基于像 FFmpeg 这样的方案,从算法、模块开发到服务实现部署,需要较高的学习和协作成本。以开发超分模块与插帧模块再到集成上线为例,相比起来,基于 FFmpeg 大约占用了2周的时间,而基于 BMF,开发者无需考虑过多的开发语言、视频编解码标准和集成问题,专注于算法和擅长的语言本身只花了1周左右即完成上线。在异构加速方面,以视频抽帧利用 Nividia GPU 加速为例,业务应用层使用几乎相同的一套代码,通过 BMF 提供的视频处理、filter、GPU 场景变换检测、硬件 Jpeg 编码等构成的全链路,快速完成了从纯 CPU 视频抽帧到 GPU 全链路的加速方案。所以对业务团队的重构升级开发成本节省大约一半。
为了开发者能够更丝滑加入开源社区,BMF 框架层整体开源,9 个开箱即用案例,用户在 colab 打开,就可以阅读到详细注解并且实际运行,查看结果。20+API 调用范例,充分展示 BMF API 的使用方法,尤其是同时能展示不同场景的一些使用细节。帮助用户低成本的构建视频应用。




超视频时代,下一代多媒体处理框架的先发优势在哪?


上世纪末,“超视频(hypervideo)”的概念被提出,人们畅想着各视频之间也能跳转超链,并且视频技术将与互联网技术相结合,产生新的媒体形式。
多年后技术井喷的今天,我们迎来了“超视频时代”,当下的“超视频时代”是比“超视频”更为丰富的概念,它是指随着互联网、移动设备和 4G/5G 网络的快速发展,视频不仅成为了人们日常生活中重要的娱乐方式之一,也是信息传递、商业连接、知识传达最主要的渠道之一,并且在视频质量、内容丰富性、交互性等方面已经达到了新的高度。用户可以利用各种应用软件、社交媒体以及视频平台等获取和分享海量视频资源,可以通过互动、直播、VR/AR等技术实现更加生动、多样和沉浸式的体验。
因此,“超视频时代”可以理解为一个极为多元化和开放的视频生态系统,涵盖了文化、科技、娱乐、社交等多个领域,成为了全球影响力和创新力都很强大的重要产业。根据 IDC 发布的《超视频时代视频云演进趋势》白皮书,超视频时代用户的三大核心需求是:更加高清,更加交互,更加沉浸。
在此基础上,下一代音视频技术想要落地实践,就要接受更严格的考核。
早在开源之前,BMF 就已经过大量的“实战”。BMF 基于亿级 DAU 实践而诞生,在业务落地的过程中,BMF 框架的功能多样性、易用性、兼容性、稳定性和性能得到了充分的打磨。目前,BMF 的使用场景覆盖了视频转码、视频抽帧、视频增强、视频分析、视频插帧、视频编辑、视频会议、VR 等,服务于字节内部几乎所有业务线,包括抖音、今日头条、西瓜视频等大家耳熟能详的应用,同时也支撑了火山引擎多个行业客户的视频处理需求。这套多媒体处理框架,作为火山引擎视频云全链路服务能力的基础“底座”,不断地根据集团各个业务和产品的需求进行设计、规划、迭代和线上打磨,经历了约 3~4 年的实践,目前已应用于点直播转码、云编辑、移动端后处理等主要业务场景。
除了适用丰富的场景外,BMF 还兼容行业标准、更容易扩展生态、并且可以高度复用,为行业大规模落地实践奠定了基础。
高复用主要从两方面实现,一是多语言的复用,比如同一个以 C++ 实现的算法原子能力可以通过 BMF API 被 Python/Go/C++ 不同开发语言使用,被不同项目开发需求复用。二是不同模式的复用,每个原子能力既可以被构建到 BMF pipeline/graph 去使用,也可以被当作一个标准接口单独调用集成使用,使用方式的多样化提高框架的可复用性。
通过多项技术优势的加持,以及高易用、高复用的落地特性,BMF 在开源之初已具备面向下一代的多媒体处理框架的先发优势。正走向开源社区的 BMF 将会如何发展,就需要时间给出答案了。
项目地址:https://babitmf.github.io/


往期推荐



微软Excel集成Python,龟叔参与架构制定
一份基于开源软件的解决方案,坑了我 2 万元 !
对标华为鸿蒙OS?小米自研操作系统疑曝光



这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
比JDK最高快170倍,蚂蚁集团开源高性能多语言序列化框架Fury抖音同款、2023 必看:火山引擎团队整理的“易复用”的音视频处理经验都在这了​“狗杂”的同源异构体,乌克兰“火山”突击步枪挑战GPT-4V!清华唐杰&智谱开源多模态14边形战士,在线可玩性价比提升30%+,火山引擎第三代AMD实例 ECS g3a邀测上线雨后 花香龙蜥操作系统重磅更新:全面支持智能计算,兼容主流 AI 框架中文版开源Llama 2同时有了语言、多模态大模型,完全可商用未来一年4K修复百部经典港片 | 抖音、火山引擎、中国电影资料馆发起“经典香港电影修复计划”性价比提升30%+,火山引擎第三代AMD实例ECS g3a邀测上线全行业视频化时代的技术革新:开源后的 BMF,将为视频处理领域带来哪些影响?火山引擎首次发布自研视频芯片,“抖音同款”走向千行百业我曾有个家 - 配乐/演唱 AP33912对话火山引擎侯爽:字节原生的边缘云比 JDK 最高快 170 倍,蚂蚁集团开源高性能多语言序列化框架 Fury冰岛Arnarstapi,礁石海水中科院计算所推出多语言大模型「百聆」,我们已经上手聊起来了(10个邀请码)普京的秘密(4)——Oligarch(2)多LLM协同作战!清华等开源多智能体框架AgentVerse:合作打造Minecraft物品,还能训练宝可梦火山引擎发布“火山方舟”;微信广告上线看一看焦点卡片广告;美特斯邦威以3亿元出售房产自救……火山引擎给大模型造大底座!MiniMax、智谱AI等已登陆比 GitHub Copilot 更强大?Meta 开源 AI 编码工具,能跨多语言补全和调试代码双声子 题端午行业观察|火山引擎,不做自有大模型的逻辑和打法等不来自家大模型,火山引擎先搭了一个模型​「货架」|最前线天猫精灵更名并接入大模型;火山引擎数智平台发布AI助手;传智谱AI获腾讯阿里新融资丨AIGC大事日报“视象新生”火山引擎视频云&AIGC技术大会开幕在即【专题速递】在线K歌、云化XR、咔嚓剪辑和FFmpeg直播能力更新计划小米和华为宣布达成全球专利交叉许可协议;美的楼宇科技与火山引擎达成合作|绿研院日报“视象新生”火山引擎视频云&AIGC技术大会邀你踏入新“视界”对话火山引擎马茜——如何更好平衡“性能、成本、画质”这三角的关系?“视象新生”火山引擎视频云& AIGC 技术大会开幕在即 | Q 推荐开源数据 | X-RiSAWOZ: 高质量端到端多语言任务型对话数据集字节造芯新进展:编码提升30%、转码“以一当百”,将服务火山引擎火山引擎推出大模型平台;云知声提交上市申请;联通推出首个运营商大模型丨AIGC大事日报
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。