视频编辑SDK测试

简介: 短视频编辑SDK测试有一段时间了,因此抽时间对编辑SDK的相关内容进行简要复盘。

短视频编辑SDK测试有一段时间了,因此抽时间对编辑SDK的相关内容进行简要复盘。

功能说明

短视频编辑SDK支持gif,不同格式的图片,视频文件的拼接导入,编辑,添加特效,合成导出等功能。更具体的介绍可以参照官网的SDK开发文档。https://live.360.cn/developer/doc?page_id=67&item_id=5

模块结构

编辑SDK的核心模块包括时间线、特效指令、预览播放器、合成器。整体架构图概括如下:

  • 时间线:时间线上包含多个音/视频轨道。轨道是文件素材的载体,视频轨道上可以添加视频、音频文件,音频轨道上只能添加音频文件。片段上可以添加特效,片段间可以设置不同的转场效果。
  • 特效指令:特效指令分为音、视频特效,譬如变声、滤镜、贴纸、画质调节等效果。
  • 预览播放器:实时预览,源素材文件和添加的特效都可以通过预览播放器实时渲染。
  • 合成器:读取素材文件,并按特效指令处理素材文件,最终按照合成配置合成新的媒体文件。

播放/合成模块处理

播放/合成模块文件处理过程可以通过下图概括。

实际上,播放和合成模块是分立的两个模块,并非涵盖关系。只不过两个模块读取文件配置信息和音视频解码部分流程相同。另外,在添加文件时,SDK会对文件进行格式转换,方便之后对于音、视频数据的处理。读取文件并解码后,还会涉及到视频像素数据的颜色空间转换。由此,也需要我们在测试过程中对相关知识进行学习了解,譬如常见的音视频文件格式,视频数据的颜色空间等。

测试注意点

在了解了编辑SDK的基本功能和处理过程后,我们接下来看看测试编辑SDK的过程中有哪些需要注意的方面呢。

  • 输入素材文件的格式类型

在根据需求实际测试过程中,我总结出以下需要覆盖的素材文件类型(测试设备主要为iPhone设备)

由于源素材的格式类型众多,确实会在一定程度上增加测试的繁琐性。不过在发现问题并协助开发解决问题的过程中还是能够学习到很多东西。

  • 预览播放时特效的叠加操作

当前编辑SDK支持转场,变速,添加背景音乐和字幕贴纸等功能。那么在实际测试过程中不可忽视的就是相关操作的叠加。假设我们导入一段时长20s的视频,从视频的起始位置到结束位置添加背景音乐后,对其进行2倍速变速操作。此时视频的播放时间为10s,那当前的视频导出后时长是否正确,源素材的音频轨和背景音乐是否依照预期叠加,源素材文件和背景音乐是否在对应的时间线上同步变速等,则是需要着重关注的地方。

  • 预览播放和合成导出过程中的中断操作

预览播放时,播放器进行数据的渲染。在一些中断操作(锁屏,切后台,电话打入,闹钟等)后,我们也要关注播放器是否能够正常的刷新或重启,是否会出现黑屏,丢帧等异常现象。合成过程中进行数据的编码,同样要验证中断操作对编码器逻辑的影响。

问题举例

测试过程中的确也遇到了不少问题,其实也是由于我们上面说到的一些注意点没有考虑全面导致的,试举两例:

1.iPhone7+iOS11拍摄的视频导入demo崩溃

原因:iPhone7(及以上)+iOS11(及以上)的设备拍摄的视频均采用H265编码格式。之前多数iPhone设备拍摄的视频为H264编码,此处需要特别注意。

2.iPhone X 截图导入demo后,画面出现拉伸类似于马赛克的情况。

原因:iPhone X截图分辨率比较特殊,为2436*1125。因此需要针对此类特殊分辨率的素材文件作特殊处理。

另外,在我们进行功能测试的同时,也要关注下SDK的性能指标。可以和竞品进行对比,输入同一段素材文件,保证输入和输出分辨率相同的情况下,获取不同阶段的CPU,内存消耗,以及不同平台下的合成时长。这对于产品的优化发展而言,也是大有裨益的。

相关文章
|
Web App开发 资源调度 测试技术
Sentry 开发者贡献指南 - 浏览器 SDK 集成测试
Sentry 开发者贡献指南 - 浏览器 SDK 集成测试
107 0
Sentry 开发者贡献指南 - 浏览器 SDK 集成测试
|
Java 测试技术 API
.net core实践系列之短信服务-Api的SDK的实现与测试(二)
.net core实践系列之短信服务-Api的SDK的实现与测试(二)
137 0
.net core实践系列之短信服务-Api的SDK的实现与测试(二)
|
XML JSON API
.net core实践系列之短信服务-Api的SDK的实现与测试(一)
.net core实践系列之短信服务-Api的SDK的实现与测试(一)
256 0
.net core实践系列之短信服务-Api的SDK的实现与测试(一)
|
消息中间件 API 网络安全
阿里云微服务消息队列MQTT管控 API PHP SDK 测试Quick Start
微消息队列MQTT版是阿里云推出的一款面向移动互联网以及物联网领域的轻量级消息中间件。如果说传统的消息队列中间件一般应用于微服务之间,那么适用于物联网的微消息队列MQTT版则实现了端与云之间的消息传递和真正意义上的万物互联。前面介绍了Java SDK本地调用方法,这里介绍一下PHP SDK快速调用方法。
402 0
阿里云微服务消息队列MQTT管控 API PHP SDK 测试Quick Start
|
开发工具 Android开发 数据安全/隐私保护
Android SDK linkkit测试免白名单动态注册.
目的 : 理清跑官网demo免白名单动态注册流程所需要的修改项 (测试的是企业实例)
246 0
Android SDK linkkit测试免白名单动态注册.
|
前端开发 开发工具 Windows
产品百科 | RTC Windows SDK 音视频设备测试说明
RTC SDK 为您提供音视频设备测试的方法,您可以在音视频通话前检查当前设备上的摄像头,麦克风以及扬声器等音视频设备是否正常工作,以保证音视频通话质量。通过阅读本文,您可以了解音视频设备测试的方法。
产品百科 | RTC Windows SDK 音视频设备测试说明
|
前端开发 开发工具
产品百科 | RTC Mac SDK 音视频设备测试说明
RTC SDK 为您提供音视频设备测试的方法,您可以在音视频通话前检查当前设备上的摄像头,麦克风以及扬声器等音视频设备是否正常工作,以保证音视频通话质量。通过阅读本文,您可以了解音视频设备测试的方法。
产品百科 | RTC Mac SDK 音视频设备测试说明
|
C# 开发工具 C++
【转】测试LibreOffice SDK 开发环境配置(Windows)
原文:http://www.aqcoder.com/blog/detail/id/7441186b-93fd-482c-b4d7-0facd1ee498d 下载与安装 LibreOffice 主页:http://zh-cn.libreoffice.org/ 下载主程序和 SDK 安装过程就不说了。
1691 0

热门文章

最新文章