带你读《2022技术人的百宝黑皮书》——淘宝直播端到端音视频评测方案首次公开(2)

简介: 带你读《2022技术人的百宝黑皮书》——淘宝直播端到端音视频评测方案首次公开(2)

带你读《2022技术人的百宝黑皮书》——淘宝直播端到端音视频评测方案首次公开(1) https://developer.aliyun.com/article/1243283?groupCode=taobaotech



音视频评测


视频首帧时长


视频首帧时长是指从用户从点击视频入口的封面开始到视频画面渲染成功的时间间隔。


image.png


通常方式是通过监听代码返回的首帧事件减去播放事件的触发时间得到首帧时长,但是实际结果可能与用户主观感受可能有差异。


线下评测方案基于录屏的形式通过评测算法计算返回结果,优点是结果与用户主观感受一致。但难点在于对不同场景的起始画面到首帧画面的识别。进入视频流的场景非常多样,不同打开路径动画、缓存策略、是否有封面图占位等对于识别都会带来不确定性和识差。


在推流时插入SEI帧并使用ocr算法来识别首帧时间是一种可靠的方案,但一方面这这种方案需要预先对视频进行处理,每次操作成本较高;另一方面,对于无法控制被测视频的内容的场景并不适用。


为了兼容识别得到不同场景的起始、首帧画面时间,需要结合多种策略来判断起始位置,目前淘宝直播质量团队自研了一套智能算法能精准计算各种播放场景切换的首帧时长。


端到端时延


端到端时延指从源主机到目的主机的总共时延,在直播过程中每个节点或多或少会产生时延。


image.png


在电商场景时延大了可能会影响用户体验和业务效果,尤其在会议和连麦场景用户对延时容忍度更低,根据T-REC-G.114国际标准规定,延时超过150毫秒表示已经开始影响用户体验,用户可以容忍的最高延时是400毫秒。


基于SEI传输的图像编解码时延比较可靠的测试方法,在推流时插入SEI帧,在播放端解码拿到SEI帧与当前系统时钟相减得到时延,但是此方法是侵入式。


无侵入的获取时延方案:

1. 音频时延测试方法:制造尖锐声音,通过电脑采集两个终端的音频,计算音频峰值差。

2. 视频时延测试方法:推流终端对准计时器,同拍摄秒表和播放终端画面,获取同步的源时间和播放时间快照,计算时间差。


由于网络及缓冲等引起的卡顿和快播追帧会导致播放过程中时延是动态变化的,因此我们需要获得一段时间内的时延序列值。利用声卡屏蔽环境噪音,结合自动化拍摄拓扑可以程式化拍摄在一段固定时间之后稳定的被测特征视频,获得端到端的图像和音频的时延序列。




带你读《2022技术人的百宝黑皮书》——淘宝直播端到端音视频评测方案首次公开(3) https://developer.aliyun.com/article/1243281?groupCode=taobaotech


相关文章
|
Java
SpringBoot实现文件上传接口
文件上传是很多业务场景需要实现的功能,今天就简单以Springboot框架为基础实现文件上传的接口。
2531 0
SpringBoot实现文件上传接口
win10下双击运行.bat文件,一闪而过
直接在cmd运行.bat里面的命令可以运行,但是双击.bat就是一闪而过,那么为什么会出现这样的问题呢,一般情况是.bat里面的命令,在双击运行的环境下出现了问题导致的。
1774 0
win10下双击运行.bat文件,一闪而过
|
3月前
|
人工智能 供应链 API
降本90%的秘密:开放银行API如何让电商分账系统“自动跑”?
在数字经济时代,开放银行与电商API的深度融合正在重塑支付清算与分账系统。通过标准化接口,银行服务与电商生态实现数据互通、流程自动化与资金高效流转,构建“银行即服务”(BaaS)新生态。本文从技术原理、协同场景、典型案例与未来趋势四方面,解析其在支付清算与分账系统中的创新应用与发展方向。
|
编译器 Go 开发工具
常见问题之Golang——cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%错误
本文主要是对我日常在使用golang时遇到的一些问题与解决方式进行的汇总,在此提供给大家便于排查一些遇到的问题,其中有更好的解决方案可在评论区留言。
1477 0
常见问题之Golang——cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%错误
|
Kubernetes 开发者 Docker
Docker技术概论(8):Docker Desktop原生图形化管理(二)
Docker技术概论(8):Docker Desktop原生图形化管理(二)
282 2
|
JSON 数据格式 Python
【python】解决json.dump(字典)时报错Object of type ‘float32‘ is not JSON serializable
在使用json.dump时遇到的“Object of type ‘float32’ is not JSON serializable”错误的方法,通过自定义一个JSON编码器类来处理NumPy类型的数据。
645 1
|
Linux Python
Centos7安装Python虚拟环境之virtualenv
Centos7安装Python虚拟环境之virtualenv
|
SQL 存储 数据库连接
SqlAlchemy 2.0 中文文档(二十二)(1)
SqlAlchemy 2.0 中文文档(二十二)
209 2
|
数据安全/隐私保护 Android开发 iOS开发
阿里企业邮箱登录入口地址
阿里企业邮箱登录入口地址https://qiye.aliyun.com
10614 1
|
存储 编解码 监控
在淘宝,音视频技术团队解决了内容电商什么问题?
在淘宝,音视频技术团队解决了内容电商什么问题?
361 0