作者:lifusheng,用户体验技术专家

当下,音视频无处不在,很多设备和应用都涉及音视频。因而,对于HarmonyOS开发者们来说,如何对鸿蒙生态产品进行音视频测试是一个非常重要的问题。

华为HarmonyOS生态整机测试能力中心——DevEco Testing,为生态合作伙伴接入HarmonyOS生态提供专业的测试服务。DevEco Testing推出的音视频测试服务,为HarmonyOS整机提供音视频评测能力,满足开发者们的上述需求,也为鸿蒙生态保驾护航。

下面我们以手机投屏业务为例来聊一聊音视频测试吧~

一、传统音视频测试的痛点

手机投屏业务,是将手机播放的视频投屏到智能大屏或平板等。针对手机投屏业务,传统的音视频测试方法就是通过高速相机录制投屏的视频内容和手机播放的视频内容,再用视频工具将高速相机录制的内容逐帧提取出来,人工分析视频流畅、声画同步和时延等测试指标。

传统的音视频测试存在以下痛点:

1. 很多环节需要人工分析,工作量大,误差也大

在分析视频时延、视频流畅、音频时延、声画同步等指标时,除了专业的工具外,往往还需要分析人员逐帧逐采样点地进行结果分析。每测试1分钟的内容,就要分析14400张图片,2880000个音频波形采样点,并对图片和音频波形进行比对,工作量巨大。同时,人为因素引入的误差也比较大。

2. 声画同步测试效率低

所有录像设备录制的内容都会存在声画同步偏差。同一个设备在不同时间录制的内容,声画同步偏差也不同。传统的测试方法是:选择自然界中的真实内容(例如打板、敲击桌子或者钢珠掉落等)作为声画同步测试的校准依据,然后人工分析声画同步偏差,比较费力,且效率低。

3. 录制的图像很容易产生断裂

高速相机录制液晶屏幕,因为液晶屏幕的逐行刷新特性,录制的图像很容易发生丢帧、帧重叠等,导致图像断裂,如图1所示。

图1 图像断裂

4. 测试工具的录制频率低,引起测试偏差比较大

目前主流音视频测试工具的录制频率是60赫兹,引起的测试偏差起码有1/60秒(大约16.7毫秒)。

二、DevEco Testing音视频测试的优势

针对以上痛点,DevEco Testing音视频测试服务是如何应对的呢?下面就让我们一一揭晓~

1. DevEco Testing的音视频测试服务实现了播放、采集、分析全流程自动化测试,无需人工干预。

2. 我们设计了一个可以由计算机视觉和声音识别的、物理的声画同步源——吐司盒子。

吐司盒子可校准所有录像的声画同步偏差,还可以作为录像、直播、视频通话类业务的测试工具,让计算机视觉听觉可以自动化分析测试结果。

图2 吐司盒子

3. 针对录制图像断裂的问题,我们设计了芝士码。

芝士码是基于格雷码而全新设计的二维码。音视频测试时,DevEco Testing后台推送视频到被测设备播放。推送视频的每一帧都含有一个芝士码,DevEco Testing很容易检测出是否发生丢帧、帧重叠等。

图3 芝士码

4.  我们选择支持240赫兹的录像设备,提升测试精度,让测试偏差控制在1/240秒(大约4.17毫秒)。

三、测试流程和实例

了解了DevEco Testing音视频测试服务的优势后,下面让我们来看看DevEco Testing音视频测试的测试流程和测试实例。

1. 典型组网和测试流程

DevEco Testing音视频测试的典型组网如图4所示。

图4 典型组网图

目前,DevEco Testing的音视频测试服务提供三项检测服务:视频流畅性测试、视频质量测试和编解码能力测试。

以视频流畅性测试为例,测试流程如下:

(1)用户在PC端的DevEco Testing客户端上创建测试任务,并开始测试任务。

(2)PC端上的DevEco Testing根据测试任务中配置的“视频分辨率”和“测试帧率”,选择最佳的视频源传输到被测设备。

(3)DevEco Testing控制被测设备,打开对应的app播放器,单文件循环播放刚刚传输的视频。

(4)DevEco Testing下发指令给吐司盒子,吐司盒子开始工作。

(5)DevEco Testing下发开始录制的指令给录像设备,录像设备录制被测设备和吐司盒子的视频。测试任务中配置了“测试时长”,到达时长后,DevEco Testing下发停止录制的指令给录像设备。

(6)DevEco Testing下发指令给吐司盒子,吐司盒子停止工作。

(7)录像设备上传录制的视频到PC端,PC端的DevEco Testing对视频进行分析,形成测试报告,然后将测试报告上传到云端。

通过以上测试流程可知,用户需要执行操作的就是第(1)步——创建和开始测试任务,然后等待DevEco Testing自动完成测试并生成测试报告即可。

2. 测试实例

下面我们仍然以手机投屏业务为例,来看看DevEco Testing音视频测试需要准备的设备和具体的操作步骤。

图5 测试场景

图5是手机投屏业务的测试场景。根据图5可知,需要准备如下设备:

(1)被测设备:即播放视频的手机。

(2)投屏设备:用于将被测设备播放的视频投屏到此设备。

(3)吐司盒子:声画偏差的校准设备,是一个可以由计算机视觉和声音识别的、物理的声画同步源。

4)录像设备:支持240帧慢动作录制的设备。图1中的录像设备是一台手机。

除了以上四个设备外,还需准备一台Windows 10(64位)的PC机,并在PC机上安装DevEco Testing客户端。

下载地址(注意选择“下载设备测试客户端”):

https://devicepartner.huawei.com/cn/competency-test

图6 下载DevEco Testing客户端

以上设备连接就绪后,就可以开始测试了。

下面为大家介绍如何创建和开始测试任务,以及如何查看测试报告:

(1)登录DevEco Testing客户端,选择“图形图像测试 > 音视频测试”。

(2)选择测试服务,比如“视频流畅性测试”。

(3)在图7所示的“创建任务”界面配置测试参数,点击“开始测试”。

图7 创建任务

(4)图8所示的“测试执行”界面显示测试任务的进度和过程步骤。

图8 测试执行

(5)测试任务执行完成后,点击右下角的“查看报告”,即可查看详细的测试结果,如图9所示。

图9 查看报告

以上就是本期DevEco Testing音视频测试的介绍内容了,欢迎大家体验DevEco Testing音视频测试服务!

HDC2021技术分论坛:吐司盒子?芝士码?HarmonyOS音视频测试来啦的更多相关文章

  1. HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?

    作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...

  2. HDC2021技术分论坛:组件通信、硬件池化,这些创新技术你get了吗?

    作者:ligang 华为分布式硬件技术专家,sunbinxin 华为应用框架技术专家 HarmonyOS是一款全新的分布式操作系统,为开发者提供了元能力框架.事件通知.分布式硬件等分布式技术,使能开发 ...

  3. HDC2021技术分论坛:异构组网如何解决共享资源冲突?

    作者:lijie,HarmonyOS软总线领域专家 相信大家对HarmonyOS的"超级终端"比较熟悉了.那么,您知道超级终端场景下的多种设备在不同环境下是如何组成一个网络的吗?这 ...

  4. HDC2021技术分论坛:进程崩溃/应用卡死,故障频频怎么办?

    ​作者:jiwenqiang,DFX技术专家 提到开发一个产品,我们通常首先想到的是要实现什么样的功能,但是除了功能之外,非功能属性也会很大程度上影响一个产品的体验效果,比如不定时出现的应用卡死.崩溃 ...

  5. HDC2021技术分论坛:“积木拼装”,HarmonyOS弹性部署大揭秘!

    作者:peitaiyi,华为终端OS产品交付专家 HarmonyOS是一款面向万物互联时代的.全新的分布式操作系统.在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力.适配多种终 ...

  6. HDC技术分论坛:HarmonyOS新一代UI框架的全面解读

    作者:yuzhiqiang,UI编程框架首席技术专家 在Harmony 3.0.0开发者预览版中,包含了新一代的声明式UI框架ArkUI 3.0.多语言跨平台编译器ArkCompiler 3.0.跨端 ...

  7. 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践

    1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...

  8. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  9. 音视频通讯QoS技术及其演进

    利用多种算法和策略进行网络传输控制,最大限度满足弱网场景下的音视频用户体验. 良逸|技术作者 01 什么是QoS?音视频通讯QoS是哪一类? QoS(Quality of Service)是服务质量的 ...

  10. 了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化

    本文原文由声网WebRTC技术专家毛玉杰分享. 1.前言 有人说 2017 年是 WebRTC 的转折之年,2018 年将是 WebRTC 的爆发之年,这并非没有根据.就在去年(2017年),WebR ...

随机推荐

  1. Python列表转换成字典、嵌套列表转字典、多个列表转为字典嵌套列表

    目录 两列表转为字典 多列表转为字典嵌套列表 嵌套列表转字典 方法一:直接内置dict 方法二: for循环 一个列表转字典 两列表转为字典 list1=["key1"," ...

  2. PetriCrode ---Code Genreation for Colored Petri Nets Annotated with Pragmatics

    1. PetriCode lets users generate code from CPN  models annotated with pragmatics ,PetriCode allows t ...

  3. nginx Host值设置

    $server_port :nigix监听的端口 $proxy_port : 服务器真正访问的端口 #设置请求头"Host"值(为入口域名和端口) proxy_set_header ...

  4. pdf 等所有文件通过blog强制下载函数 downloadFileFromBlobByToken

    downloadFileFromBlobByToken pdf 等所有文件通过blog强制下载函数 downloadFileFromBlobByToken import { getToken } fr ...

  5. 【开发】操作系统应用基础-Linux常用Shell命令

    一 Linux操作系统和Shell 简介 操作系统(Operating Systems, OS)实际上是一种用于计算机的软.硬件资源管理调度的系统级软件,它的主体是内核(Kernel),其主要负责进程 ...

  6. kettle教程--通过配置文件同步所需要的列数据

    kettle教程--通过配置文件同步所需要的列数据 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「kettle」, 免费领取全网最热的kettle实战视频教程 ht ...

  7. linux shell 字体颜色设置

    使用 echo -e "\033[0;32;40m" 可以将字体设置成绿色. 这里必须使用echo 的选项 "-e",因为后面需要用到转义序列. 转义序列就是一 ...

  8. opencv-python笔记(1)

    openCV笔记 图像 灰度图像 ​ 0代表纯黑色,255代表白色(类似亮度) 通道拆分 通过索引拆分: import cv2 lena=cv2.imread("lenacolor.png& ...

  9. 干货分享 | 3个Zbrush实用减面工具分享

    一.使用Sculptris Pro Sculptris Pro是zbrush中的一个功能按钮,点击此工具按钮,同时将笔刷转换至standard笔刷,即可减去需要平滑的面. 点击开启Sculptris ...

  10. ts-对象数组reduce-数组转对象数组

    将字符串数组转化成{name:xxx,count:xxx}[]数组的代码 #定义数据类型 interface CartInfo{ name:string, count:number } let raw ...