-->

api基础知识:开发人员正在迁移到基于api的工作流

文章特色图片

在C套件中,api可能不是最重要的,但也许它们应该是. 越来越多地, 开发人员正在根据api的质量决定他们想与哪个供应商合作.

视频工作流程和分发环境非常复杂, 而构建最佳系统或甚至只是对任务进行更精细控制的方法——尤其是在大规模传输视频时——就是通过API. 它代表应用程序编程接口, 和api是供应商提供给开发人员直接控制其产品的结缔组织. api允许不同的应用程序以编程方式进行通信,并以自动化的方式相互操作和交换数据. 如果您要连接大量不同的系统,这是必不可少的, 包括内容管理, encoding, 视频平台, 视频播放器, 分析, 客户管理, 以及多平台终端用户交付.

实际上,现在所有的公司都在提供公共api,但情况并非总是如此.

“昨天, 您可能已经使用了本地软件进行编码, 知觉质量测量, 或者其他视频操作, 在这些情况下,你通常会购买软件,让一个非开发人员操作人员或IT人员设置和操作软件,以获得你需要的结果,独立开发者Cameron Elliott说道. “Today, 你可以注册基于api的AI分类器, 编码引擎, 和质量测量工具在15分钟内, 并且通常会在一两天内得到关于基于云的视频API服务适用性的有意义的反馈.”

“我认为,如今大多数企业都在向某种基于api的工作流程迁移,Igor Oreper说, 副总统, 解决方案 Bitmovin该公司为开发人员提供基于api的产品,用于编码、播放和分析. 无论是来自Bitmovin还是其他供应商,api都提供了混合和匹配服务的能力.

api为视频发布者提供了将不同供应商提供的“拼图”组合成一个功能整体的能力. [图片由Bitmovin提供.]

最佳

Oreper说:“现在很多大型媒体公司都想成为架构师. 他们并不想构建所有的东西,但是api带来了一种新的灵活性. “他们希望能够挑选出对他们来说是必要的最佳工具,并将它们整合到工作流程中, (如果有些东西不起作用),我们就可以替换它们.”

客户通常关心的是如何将最好的软件产品拼接到一个定制的自动化工作流中. 为了让这一切发生, 这些不同的软件产品必须提供一些不使用GUI的控制方式,乔恩·伊格尔斯说, 高级软件工程师 SSIMWAVE. 他的公司有两个可通过API访问的产品, SSIMPLUS Live Monitor和SSIMPLUS VOD Monitor, 每一个分析感知视频质量,以选择和优化最佳转码内容.

“我们的客户需要API访问我们的服务,因为我们经常是一个更大的工作流的一部分,需要与不同的工具和技术集成,伊格尔斯说。. “我们的客户已经花费了数百万美元来建立复杂的视频摄取管道和大型内容管理存储库. 当他们想要使用像我们的VOD监视器这样的产品时, 他们希望能够将资产输入到系统中进行分析,这样他们就可以在工作流程的各个点上评估资产的质量. 满足自动化需求的唯一可行的交互方式是通过API.”

这是怎么做到的呢? “实现这种控制和支持产品间通信的最常见方法之一是[技术供应商]为其产品公开遵循通用行业标准的API,伊格尔斯说。.

宁静的状态

与我交谈过的开发人员创建了RESTful api,它代表具象状态传输. REST不遵循任何特定的标准, 而是web服务的一种体系结构风格,并提供应用程序之间的互操作性.

REST API使用HTTP作为在源之间交换数据的基础协议,可以从任意数量的编程和脚本语言访问. “(HTTP)有百家乐软件的概念, 所以你要根据你提供的百家乐软件来考虑API,乔恩·达尔说。, founder, Mux. “在Mux视频API中,其中一种百家乐软件是资产,资产是视频或音频文件.“这些百家乐软件可以使用HTTP内置的操作,例如, 获取、发布、放置和删除.

“Mux视频(API)让我们的客户只需调用两个API就可以编码和提供优化的视频. 所有优化比特率的艰苦工作, 决议, encoding, 和交付是在API后面处理的,他说. 高级用户, Mux具有使用机器学习输出优化的自适应比特率(ABR)阶梯的逐标题编码选项. Dahl表示:“Mux Data跟踪体验质量(QoE)指标,如缓冲和加载时间. “我们有用户使用它来优化跨多个cdn的传输.

“我们每月为我们的客户监控超过10亿个流媒体,以了解他们的用户所看到的质量, 比如多少重新缓冲或启动时间, 或者得到什么样的错误,达尔说。. “我想说,重新缓冲可能是我们的客户最关心的指标, 错误和启动时间排在第二位和第三位. 订单实际上取决于客户.”

通过遵循REST约定, 任何开发人员都应该能够直观地弄清楚如何使用API, 达尔说. “一个设计良好的API不会让任何人感到惊讶. 这符合开发商的预期,”他说. Mux还包括测试其API的功能. 在我们的用户界面中, 你可以模拟API调用,看看当你发送API调用并获得响应时会发生什么.”

REST是无状态的,允许我们扩展服务以适应大型服务, 频繁的负载变化, 在处理视频时,哪些是很常见的事情,伊格尔斯说。. 无状态服务器可能会被设计成这样,即大流程中的每个步骤都是原子操作,不需要了解前一步或后续步骤的结果.

每个系统动作都是独立的,可以由任何可用的服务器处理,因为这些上下文细节是在其他地方维护的.e.通常是客户),”伊格尔斯说. 云基础设施的整个概念是围绕无状态的好处构建的. 当服务器繁忙时,可以将其他服务器联机以实现无缝扩展.

如果不是这样,扩展将会更加困难,因为将存储太多的数据. “当我们将维护每个用户会话状态的责任放在服务器上时, 服务器最终花费越来越多的时间进行存储, 检索, 随着客户数量的增长,管理这种状态,伊格尔斯说。.

“对于视频点播来说,RESTful API实际上是至关重要的. 当我们谈论规模时,我们主要谈论两件事. 其中之一是工作节点的数量和可以处理作业的服务器数量, 处理视频,伊格尔斯说。. “另一个是你可以同时处理多少个视频. 我们已经做了数千个,几个月内我们将做数十万个.”

该图显示了SSIMWAVE的api是如何将工作流的各个部分从编码器连接到消费者交付的.

应用api

“我们开发的应用完全依赖于外部api. 这就是我们与视频平台连接和交互的方式, 分析平台, 计费[系统],汤姆·谢弗说, CEO of 左浮动该公司为客户开发OTT和TV Everywhere应用程序. “生态系统的所有这些部分都需要一组可以发送和接收信息的api. “我们的应用,至少有三分之一,是围绕API集成工作组成的,”他说. 其他通过API连接的系统也包括播放器, 内容管理系统, DRM, 客户管理, 服务器通信. “所有这些都是API驱动的.”

重要的是能够以开发人员想要的粒度提供api. “API是否符合我构建软件的方式?, 还是会让我做一些我不想做的事, 要么是因为它做得太多,要么是因为它做得太少?谢弗说.

低级别的API只做一件小事. 也许它做得很好,但仅此而已. 在这种情况下,开发人员必须在此基础上构建更多的软件. “我认为不同的抽象层次适合不同的人, 但是我们的MUX视频API确实是故意设计为只做视频流的后端,而不是其他的, 因为这是许多开发人员在应用程序中构建视频时想要的粒度,达尔说。.

Schaeffer说:“有很多方法可以用API来解决问题. “我们希望看到的是更多的端点和更小的信息,我们可以在不同的时间使用它, 而不是一次得到它,然后不得不暂时储存起来,以后再用.”

有很多方法可以评估一个API是否好, 除了粒度, 另一个很明显的是基于它的反应. “很多时候,用户所理解的延迟实际上只是等待API响应信息,他说. 虽然这里没有人提到具体的指标,但显然API响应时间是至关重要的. 缓慢的API可能意味着留住或失去客户的区别. “这肯定会对用户体验产生影响,”Schaeffer说.

相关文章

Facebook Live API的变化让一些创作者升级了他们的工具

几个月前,Facebook表示将改变Live API许可规则, 一些生产商可能仍然措手不及.

Bitmovin发布API,简化视频开发和交付

当公司在其视频工作流中添加不同的提供商时,就会出现拼凑视频工作流, 它们会严重阻碍质量和发展.

构建弹性API背后的秘诀

如果您正在使用或目前计划使用带有web服务API的CDN提供商, 下面我们来看看如何实现灵活性

Facebook推出Live API,推出首个摄像头合作伙伴

期待广播公司开始向Facebook提供直播视频, 因为facebook向第三方硬件和软件开发商开放了自己的API.

Zencoder为实时云视频转码提供API

Brightcove的Zencoder现在支持实时视频活动, 承诺为出版商提供一个简单的经济有效的解决方案.

提及的公司及供应商