在线电影海报采购的自动化

今天,我们将讨论如何自动制作Okko的电影封面/专辑和其他内容,以及自动化通常能解决哪些问题以及这为我们带来了什么前景。

Okko是一个在线电影院,支持多种设备:iPhone,iPad,AppleTV,所有Android智能手机,大多数SMART电视(LG,三星,索尼,松下,小米等),PS3,PS4,Xbox,Web-浏览器。



最初,我们为目标尺寸的每个内容单元(电影,系列,一系列系列等)离线准备图像。 而且,图像本身彼此之间没有太大差异。 在某些时候,图像的准备和交付给客户变得不舒服,并伴随着许多问题:

  • 请求后端电影/订阅/收藏列表的后端对客户的响应数量增加;
  • 文件存储中图像数量的增加(因为每个客户端都必须复制图像,但是大小不同。因此,我们为每种类型的客户端创建了30个以上的每个图像副本);
  • 链接到这些RAM映像的链接所占用的卷增加;
  • 灵活性差:即使要稍微更改映像,也必须将更改后的映像上传到文件系统,然后将其拉伸到客户端;
  • 准备图像的时间:由于设备可能根本不同,因此与用户的通信也不同。 例如,在电视客户端上,将文字显示在封面上是有意义的,因为可以在带有这种对角线的屏幕上阅读文字。 但是在智能手机上应用相同的文本是没有用的-太小了以至于无法识别出封面上的文字。 在旧方案中,即使是诸如更改文本这样的简单操作也需要多个部门的参与:必须替换映像中的必要部分,将源提供给内容专家,后者将映像发送到文件系统,并使用支持相应映像的客户端;
  • 处理图像的可能性非常有限:例如,对于Web客户端和TV客户端,需要使用不同格式的图片。 并且为了获得它们,您必须另外将映像复制到文件系统。

一旦我们注意到这样的系统太复杂-我们需要自动化。 在准确分析了自动图像准备的要求之后,我们开发了一种微服务,可从一个来源即时为不同类型的客户准备图像。

以下是我们已编译的初始服务以及应满足的服务的一小部分清单:

  • 调整图片大小
  • 将图像裁剪为所需的尺寸
  • 在保持宽高比的同时调整一侧图像的大小
  • 输出图像质量变化
  • 更改输出图像格式(jpeg,png,webp)
  • 使用高斯滤波器
  • 保持图像转换顺序的能力

上面的列表涵盖了自动准备电影海报,电视节目,连续电影,电视连续剧和电影卡+英超联赛的背景的要求。



实施并发布这些要求后,他们开始考虑其他服务实体-集合,订阅,订阅程序包。 在关于如何处理更复杂元素的这些思考中,添加了一些分析部门的创建和开发个人收藏的计划:他们希望将来能够专门为每个用户收集收藏,并在收藏封面上形成交流,根据我们的建议引擎最适合这个。 这也增加了设计师的想法,以减轻他们的工作负担:教导服务以覆盖Okko营销活动,新闻通讯和通讯的各种图形元素和文本。

因此,随着对集合,订阅和订阅软件包的集合的自动化请求的出现,对服务要求进行了以下补充:

  • 根据指定的坐标在主图像上叠加其他图像;
  • 可以在图像上覆盖不同的文本,并可以更改文本大小,字体类型,行距和字母间距;
  • 能够将基本参数与新参数一起应用。

这些附加点在用户想要将多个图像彼此叠放以及改变输出图像的类型和例如图像质量的情况下,引起了与图像后面的请求主体的冗余相关的一些问题。 这可能看起来像是叠加两个图像和文本的请求:

主机:端口/ img / picture_id?宽度= 556&质量= 80&mediaType = webp&putImage = picture_id2&x_coordinate = 100&y_coordinate = 100&quality_2 = 95&text =一些文本&text_x = 0&text_y = 150

显然,支持这样的路径是不方便的,也需要对其进行更改,甚至不方便只是写入和读取+更改任何图像参数也意味着新的客户端版本,这通常不是很愉快(对于某些设备,它很长)。

因此,在用于准备图像的微服务中,出现了预设的概念-yaml文件,其中描述了其他元素,它们的位置,字体以及为特定设备配置特定类型的图像所需的其他数据。

结果


今天,我们处于中间阶段:到目前为止,所有电影/多部分电影/系列/系列电视海报均已从同一来源封面自动为所有类型的客户准备。 另外,我们会自动为英超联赛日的巡回赛和比赛准备海报。



从技术上讲,今天的服务不仅可以购买电影和体育元素的封面,而且还可以购买收藏/订阅的封面,还可以在图像上叠加各种图形元素和文本而无需预先设置。



已实现的功能已经极大地简化了工作寿命:不必通过多个部门对映像进行微小的更改,只需更改或添加值来对其负责显示的服务的一个或另一个参数进行测试,测试微服务并释放它,这显然要快得多。而不是发布新的客户群。 支持一种新型设备,将所有目录海报发布给外部合作伙伴,以及其他沟通方式的出现,不再需要几周的时间,而是几个小时。

设计部门已经卸货,因为他不再需要花时间为不同的客户准备相同类型(或非常相似)的图片,因此只需指定一个来源并指定将其叠加的规则即可。

仍有大量工作要做:计划添加AI以自动生成故事封面,用于管理预设并预览最终结果的Web界面,将工具扩展到其他邻近部门(SMM,PR),当然还有用于各种优化的当前任务(改善文本处理,优化压缩算法等)。

仅此而已。 如果有兴趣,我们稍后将发布服务内部结构的详细信息,将其集成到总体结构中以及向自动图像准备过渡的过程。

Source: https://habr.com/ru/post/zh-CN475098/


All Articles