Medal 使用 MFormats 捕捉游戏时刻

游戏和电子竞技是我们热衷的领域有两个具体原因:a) 我们的产品帮助开发人员在 Windows PC 上解决大量视频和音频问题,这是世界上最重要的游戏玩家平台,b) 这两个领域都为人们创造和消费游戏内容带来了新的方式。
我们已经与 Medal 的创始人 Pim de Witte 和 Zaid Elnasser 进行了交谈,他们刚刚为剪辑服务筹集了 350 万美元,该服务使用户可以轻松上传短视频游戏回放供朋友欣赏。
新一代的愿景
Medal 的路径与 Discord 的路径相似,Discord 最初是一家移动游戏公司,但觉得他们最好开发一个工具来帮助团队在玩游戏时进行协调。 凭借他们的第一个游戏,Medal 了解到推广游戏比构建游戏更具挑战性,因此他们转向了一个在朋友之间分享游戏时刻的平台。 皮姆解释说:
我们的用户希望帮助我们实现有机增长的主要方式是分享我们的游戏片段。 所以我们建立了一个平台,人们可以分享游戏片段,这样我们就可以帮助游戏开发者推广游戏。
该产品允许您点击其他用户点赞的时刻,从而为寻找新游戏的人们提供发现工具:
想想你是如何发现新游戏的。 你上推特,上脸书,上 VK……很多时候,你会看到精彩瞬间和游戏视频,而这正是你玩游戏的动力……我们已经越来越多地注意到这一点。
Medal 针对不想学习任何特殊技能来分享他们的游戏玩法的非专业普通游戏玩家——桌面应用程序提供了一个热键,可以简单地保存您刚刚玩过的游戏的 15 到 60 秒。 正如 Zaid 解释的那样,这些剪辑主要通过 Medal 的 iOS 和 Android 应用程序使用:
另一个原因是我们想在手机上享受 PC 游戏体验——这就是我们最初制作手机游戏的原因,而另一种实现方式是分享剪辑。 您实际上并没有在玩游戏,但您仍然可以在手机上带来 PC 游戏体验; 所以这是我们建立 Medal 的另一个原因。
该产品于去年 5 月发布,并且一直在快速增长:Fortnite 最近的游戏内 Marshmello 音乐会被上传超过 4000 次。 皮姆 说:
作为一家企业,我们的重点本质上是成为 Instagram 捕捉现实生活的方式……我们相信,下一代将捕捉到的数字时刻与真实时刻一样多——所以我们正在构建一个平台来实现这一点。
对 MFormats 进行真正的测试
Medal 产品中最具挑战性的部分是桌面视频捕捉应用程序。 正如 Zaid 解释的那样,第一个版本是使用 FFmpeg 构建的:
我们基本上一直在管道 FFmpeg 的 API,然后读取数据,一开始还不错,它适用于我们的初始版本,但我们没有音频,因为我们无法控制帧的到来 并且我们无法以任何方式修改或操纵数据——所以我们必须开始寻找能给我们更多控制权的东西。 因此,我们尝试构建自己的 FFmpeg 包装器,并研究了 Media Foundation; 然后我偶然发现了 Medialooks。
它不仅仅是开箱即用的。 MFormats 通常与专业视频捕获硬件(例如来自 Blackmagic 或 AJA 的硬件)一起使用,其中视频帧和音频样本由共享公共参考时钟的源生成:很清楚如何以确保音频的方式处理它们 和视频保持同步。
在游戏捕捉中,情况完全不同:视频帧是从显卡中抓取的,音频是由音频设备产生的。 使用 MFormats 可以通过手动创建帧来解决这个问题。 我们架构的这种灵活性,MFormats 让开发人员可以完全控制每一帧这一事实是 Medal 团队的决定性因素:
对我们来说,控制是能够在帧进入时对其进行操作。使用 FFmpeg 命令行,我们只是将它们通过管道输入,FFmpeg 会根据您的编码选项做它想做的事情; 使用 Medialooks,我们实际上可以操纵数据并自己生成帧,因此我们知道正在编码什么。
这种控制水平也帮助 Medal 对 Medialooks SDK 进行了长期投资; 他们不想以任何方式受到构建应用程序的技术的限制:
我们希望完全控制我们正在构建的内容,以便我们可以在未来以任何我们需要的方式扩展它,而我们之前的解决方案却没有。
在评估 MFormats 时,Zaid 与我们的团队进行了沟通以解决他的一些担忧,并查看了我们的示例应用程序; 当他开始编码时,几天之内他就将视频处理“换成了 Medialooks”。
由于游戏玩家使用各种计算机并玩各种游戏,其中一些甚至会突破最新硬件的极限,因此 Zaid 非常仔细地评估了性能:
我们尽量支持最慢的游戏计算机。 我们不希望对用户的游戏产生影响,所以我们就是这样定义它的。 如果他们可以在没有注意到 Medal 正在运行的情况下玩游戏,那对我们来说就是一场胜利。
如果不是 MFormats,Medal 的团队会围绕 FFmpeg 构建自己的包装器或使用 Media Foundation。 “这只会花我们更长的时间,”扎伊德说。 显然,使用 MFormats 要容易得多:Zaid 可以继续使用 C# 作为他的开发语言,而无需进行额外的学习。
MFormats 本身的设计是我们希望以前的解决方案工作的一种方式——它只是在 if 函数的方式上有意义,所以很容易掌握整体概念。
对于 Medal 的产品来说,上市时间至关重要。 Pim 反思了他们是如何做出决定的:
我们基本上只是计算了自己构建它所需的工程时间,并将其与许可证价格进行比较,更好的选择就是获得许可证。 它为我们节省了很多时间。
尽管自从我们开始合作以来,该应用程序已经取得了长足的进步,但仍有很多工作要做:Medal 的产品正在迅速发展,获得用户,并且随着产品分发到更广泛的设备而变得越来越苛刻 . 我们很高兴能够继续我们的工作,为公司的愿景做出贡献。