Vertex:基于 MFormats Video SDK 的下一代 AV 制作套件

Vertex: a next-generation AV production suite based on MFormats Video SDK
© audio visual solutions ag

Vertex是下一代AV生产套件,它为博物馆,营销机构的创意项目和现场活动提供固定装置。 该产品由Ioversal开发,Ioversal是一家由Jan Huewel和Martin Kuhn在2018年创立的德国公司。

我们与Jan进行了深入的讨论,介绍了Mformats如何以及为什么成为其发展过程的重要组成部分。

在开始担任剧院照明设计师和运营商的职业生涯之后,Jan认为他想创建一种可以简化和自动化某些任务的产品,尤其是当他们开始使用更多视频时:整个视频编辑过程和 排练和表演期间的竞争必须更容易,更快。

他们与一位来自计算机工程师的高中的朋友一起,开始构建了第一台媒体服务器,该产品的原型导致了Coolux的基础和Pandoras Box的开发,在15年的时间里 成长为市场上最大的基于硬件的交钥匙解决方案之一。

在这个词发明之前,我们确实进行了投影映射。 我们在2000年代初做到了这一点。 几年后,整个嗡嗡声始于几年后。 当我们对汽车上的第一个3D映射投影进行时,我想:没有人会再做一次,这太复杂了。 几年后,到处都是。

在佳士得(Christie)收购了Coolux之后不久,Jan发现自己想到了下一个逻辑步骤:未来会是什么样? 他的思想导致了Vertex的创建,这就是这个故事的重点。

Vertex是什么?

Vertex 可以被认为是一个现代多媒体框架,一个基于三个核心概念的沉浸式多媒体应用程序:多系统、多显示器和多用户设计。

该系统允许用户与许多对多媒体节目和应用程序至关重要的不同元素进行交互。 一个不可或缺的部分是内容:它可以是任何东西,从视频到 PowerPoint、Photoshop 文件、音频文件、输入和输出流等等。 内容可以组织在一个或多个画布中,用于跨多个系统构建播出。 例如,在一个有多个房间的博物馆中,每个房间都可以是一个单独的画布,该房间中的所有展示都组合在一起。-->

应用程序中的所有内容 - 这是开发过程中最大的挑战 - 都是多用户,直到每个物业。 多人可以同时在项目的任何方面工作。

在此基础之上,顶点还具有一个大型设备库,包括投影仪,切换器,可以馈送我们数据的跟踪系统,或者由于它是双向的,我们可以将数据发送到控制照明设备……实际上,它是如此通用,我们 不在乎它是咖啡机,电动机,液压泵,短信还是电子邮件 - 我们可以对其进行处理并使用它做点事。

Vertex还提供所谓的控制表面,因此您可以轻松地使用按钮,滑块和推子构建自己的网页或控制页面 - 这涵盖了人们通过触摸设备或第三方控制器与屏幕交互的用例。

Video SDK 是如何使用的?

Mformats是我们视频播放引擎和DirectX渲染引擎的组成部分。 基本上是较低的部分。 mformats通过多种方式帮助我们。 首先,我们对导入进行视频分析。 我们查看帧速率,分析每个帧的框架时间。 这为我们提供了在解码过程中使用的数据 - 因为我们为某些文件格式(例如HAP或NOTCHLC)进行解码。 我们已经构建了自己的文件阅读器,该文件读取器使用快速的非读取读数。 导入时,我们将使用mformats分析该文件,然后使用自己的读者更快地阅读它。 我们还将这些数据用于可视化 - 用户看到的元数据。

我们还构建了自己的视频播放器,具有自己的缓冲和同步机制。 我们使用 Medialooks 框架来获取帧,然后将它们输入到我们的视频播放器中,这样我们就可以处理多个 Vertex 系统之间的同步。

接下来是视频代理生成。 对于我们导入的每个视频,我们总是编码一个低分辨率的代理版本。 这是由 MFormats 在后台完成的,通常通过 H.264 或 Hap Alpha。 当我们的客户使用非常大的画布和高分辨率内容 (8K) 时,这很有帮助。

我们在产品中提供的另一件事是视频转码:将文件转码为所需格式的选项:例如从 ProRes 转码为 HAP 格式。 这是基于 MFormats 的,我们的客户可以在我们的应用程序中直接访问,这很棒。

由于Mformats支持它,因此我们提供视频加密,其中MOV文件需要它。 为此,我们使用标准的 MLB 加密。

MFormats 也用于实时输入,从各种输入源获取视频内容。 如果我们要自己做所有事情,我们就必须集成 Blackmagic 驱动程序,我们必须处理 DELTACAST、AJA 和其他供应商的 API——这将是额外的工作量和时间。

最后,我们将它用于流式传输(例如通过 NDI 或 SRT)以及文件渲染。 设置起来有点棘手,因为我们需要取回 GPU 纹理并将它们转换为 MFormats 帧,以便将它们作为流发送。 我们设置起来有点困难,但我知道这不是一个常见的用例。 但是,通过 Medialooks 支持团队,我们成功地完成了这项工作,而且效果很好。

以上就是关于视频采集和处理对我们很重要的 MFormat 的七个部分。 在音频方面,我们通过 MFormats 导入任何类型的音频格式,并在导入过程中将它们转码为未压缩的 WAV 文件——因此,我们还使用了 MFormats 的音频转换功能。

我们的产品给了你什么? 发展速度?

是的,地狱是的! 我可以告诉你,谢谢! 谢谢你。 没有 MFormats Vertex 就不会出现在这里。 这是一个节省时间的方法。

在 ioversal,我们决定在 .NET 中开发一切。 有一些插件是用 C++ 编写的,但大多数应用程序都是用 C# 编写的,这也是 MFormats 非常适合我们需求的地方。

它还使我们能够提供纯粹基于软件的解决方案,并将硬件选择权交到最终客户或集成商手中。 我们也不必查看每个输入驱动程序或流协议。

您是否考虑过 MFormats 的替代品?

老实说,我搜索了一下,但我没有找到一个好的选择。 在某些时候唯一想到的是创建我们自己的 FFmpeg 包装器。 为此,有几个开源项目。 但是您的支持团队的响应时间,您复杂的响应……这是非常值得的,因为将这些专业知识分开是很好的,您已经这样做了很长时间。

© OASIS immersion

您最喜欢产品的哪些功能或方面?

我会说这不是一个特定的功能。 更重要的是:设置、获取和处理帧,老实说,非常容易。 它不需要很多代码来实施它。 大多数API都很苗条。 我认为这就是我喜欢的。

而且,谈到简单的功能,一些开发人员可能会讨厌它,但是参数或属性有时作为字符串添加的方式,使它变得非常容易。 可能,你的团队中也有一个有争议的讨论,是否应该基于大量的枚举和不同的类集。 但我发现字符串方法很有效,因为如果你输入正确的字符串,它就会做你想做的事。

此外,我们从 MFormats 获得的价值在于它知道所有不同的文件容器,它使我们能够访问所有帧,我们可以利用这些数据并将其用于我们的多系统同步框架。

你会如何向朋友解释 Mformats?

我会将它解释为一个框架,可以轻松获取视频帧以及音频数据、转换、播放、显示它,甚至流式传输它。 它是一个音频和视频框架,可以轻松获取和操作视频和音频——这可能是我可以说的最简单的方式。

请查看