图片处理功能集
图片处理功能对存储在小文件系统里的图片地址,进行相关的处理,注意:请确保相关的url地址能够正常下载 or 访问。
图片基本信息获取图片的基本信息,例如:图片格式、文件大小、色彩模型、宽、搞、帧个数,格式如下:
123456789{ "format": "JPEG", "width": 224, "height": 224, "orientation": "1", "colorModel": "sRGB", "frameNumber": "1", "fileSize": "6574B"}
使用限制:20M以内
图片压缩在不太可能影响画质的情况下,将图片进行压缩,压缩后,分辨率不变,格式不变,而文件体系变小,便于降低CDN的分发成本,加快图片的加载速度,提升用户体验
图片缩略图片裁剪格式转换文字水印logo ...
任务编排
背景在实际媒体处理的业务场景中,复杂业务逻辑往往涉及多个步骤、多个模块、多个原子化动作,组合、协同工作,才能顺利完成。而任务编排通过将多个函数组织成有序的执行流程,使得开发者能够更自然地表达和管理复杂的业务逻辑。这种能力,业界称之为:工作流(Workflow)or dag引擎(本文无特殊说明,用dag引擎代表)。举些例子:
图片计算流程图
切片加速流程图
转码流程图
需求分析数据流向 -> 任务编排从数据流向来看,分为:
1、直线型pipeline:一个步骤的输出直接传递给下一个步骤的输入。
2、dag型pipeline:多个步骤的输出,当做下一个步骤的输入 + 一个步骤的输出,当做多个步骤的输入。
同步 or 异步在实际的媒体处理业务场景中,由于计算耗时长的原因,一般很少使用:dag引擎来编排同步处理业务。大部分都是走:异步回调的模式。因此,所实现的任务编排,需支持:异步回调的风格。
异步回调一般异步回调,都会有:notify_url字段 + 唯一id存在,建议:业务方不强依赖于:唯一id,而是通过:notify_url里带上业务自身的唯一id来处理。
例如:notify_ur ...
资源调度
背景云端图片、视频处理,非常费cpu or gpu,相对应的成本也非常的贵,因此,合理、有效、充分地调度好cpu、gpu资源显的尤为重要,毕竟,直接影响到成本。
痛点梳理监控指标不够细工欲善其事,必先利其器,要想做好:资源调度,必先收集好:相关的指标数据,以便:数据化决策。在实际项目中,资源调度与数据指标是相互完善的过程。
类别
类别
备注
pod指标
cpu利用率
pod指标
内存利用率
pod指标
集群的cpu核数
业务指标
图片处理个数
业务指标
视频处理个数
业务指标
输入视频时长
业务指标
处理时长/视频时长
业务指标
处理时长
业务指标
计算成功率
业务指标
错误码占比
队列指标
队列堆积数
带宽指标
上传带宽
带宽指标
下载带宽
带宽指标
下载耗时
带宽指标
上传耗时
小文件存储
结果文件容量
小文件存储
结果文件个数
小文件存储
中间结果文件容量
小文件存储
中间结果文件个数
小文件存储
输入文件容量
小文件存储
输入文件个数
...