WinScope实现录制视频与是Timeline时间轴同步设置方法-千里马framework车载手机系统开发实战

hi,粉丝朋友们!

背景:

今天来分享一个粉丝朋友提出的问题,那就是他在学习wms课程时候有用到winscope工具,提出一个疑问,就是google官网说的有录屏可以结合起来一起看。具体如下:
在这里插入图片描述

其实这个以前我也有想过,奈何一直用的手机直接抓取方式,这个因为比较方便,不需要单独的进行什么usb线链接,所以一直也没见过有对应的mp4生成。

不过自己也想了一下,这个mp4其实还并不准确,为啥呢?因为往往mp4这在视频属于录制的,一般会有固定的帧率,比如mp4帧率为30fps,这个时候代表每间隔32毫秒才有一帧图像,但是我们手机真实刷新率可能很高,比如120fps比较普遍,那么这个才8ms一帧,也就是很有可能真实确实产生了一帧的闪黑,但是因为mp4采样率过低,导致mp4不一定可以看到。

在这里插入图片描述

不过这种概率可能小一点,毕竟经常的闪黑都是100ms以上情况,故录制60fps的mp4对应120fps的手机应该问题也不是很大。

开始操作出有视频的winscope

这个也要感谢另一个粉丝学员提供思路,说不用手机抓,用网页抓其实可以的,这个结果确实一下提醒了我,毕竟平时看到网页确实是有一个选项可以在线抓的方式:
在这里插入图片描述

大家看左边确实有adb Connect标志,但是显示个警告导致我们也就没啥兴趣去搞它了,那么下面来研究一下怎么玩,看看它的提示:
注意以下都是再ubuntu环境:

ADB Connect
 Unable to connect to Winscope ADB proxy
Launch the Winscope ADB Connect proxy to capture traces directly from your browser.

Python 3.5+ and ADB is required.

Run:

python3 $ANDROID_BUILD_TOP/development/tools/winscope/adb_proxy/winscope_proxy.py
Or get it from the AOSP repository.


前提条件:
1、python3.5+
2、adb配置链接好的
然后执行:
python3 $ANDROID_BUILD_TOP/development/tools/winscope/adb_proxy/winscope_proxy.py
这里ANDROID_BUILD_TOP其实就是我们aosp的根目录就行,那么就开干:

test@test:~$ python3 aosp/development/tools/winscope/adb_proxy/winscope_proxy.py
2023-04-25 00:17:18,681 - ADBProxy - DEBUG - Loaded token 851493dc864a4e49c6ecbafbb238ab9cc00eb2f75e3c8d2a7d180937ba3947df from /home/test/.config/winscope/.token
Winscope ADB Connect proxy version: 0.8
Winscope token: 851493dc864a4e49c6ecbafbb238ab9cc00eb2f75e3c8d2a7d180937ba3947df

这里执行后有个token,然后刷新网页(file:///home/test/nx563j_xiaomi/prebuilts/misc/common/winscope/winscope.html放到chrome浏览器),输入这个token即可以,一般只要输入一次即可以,接下来就可以看到如下画面:

在这里插入图片描述

点击这个设备按钮(注意手机要可以root的,而且要有su命令不然会报错哈):
在这里插入图片描述

大家是不是看到了对应的START TRACE,点击这个按钮即可以开始抓winscpe了。

在这里插入图片描述

操作手机,然后点击End Trace即可以,会自动跳入如下界面:
在这里插入图片描述

是不是完美哈

不过其实不完美哈,认真看使用时候确实发现了好像视频没有和surfaceflinger的图层画面完全同步情况,不确定这个问题是不是都有哈。不过这个相信google会越做越好,优化这个体验。
千里马wms课程参考链接:https://ke.qq.com/course/package/83580?tuin=7d4eb354

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/14893.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小案例CSS

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" content"widthde…

什么是LVS

&#x1f618;作者简介&#xff1a;一名99年运维岗位员工。&#x1f44a;宣言&#xff1a;人生就是B&#xff08;birth&#xff09;和D&#xff08;death&#xff09;之间的C&#xff08;choise&#xff09;&#xff0c;做好每一个选择。&#x1f64f;创作不易&#xff0c;动动…

零售新时代,零售行业数字化破局的新路径

深夜11点&#xff0c;门店店长小张还在加班&#xff0c;因为小张还需要盘点今日销售额、库存等信息&#xff0c;这些整理好的数据需要手动录入至总公司的系统中。 多门店的零售行业中&#xff0c;这是他们每天的工作日常&#xff1a;门店先通过excel做手工报表&#xff0c;再把…

PowerShell批量修改、替换大量文件的文件名

本文介绍基于PowerShell语言&#xff0c;对文件夹中全部文件的名称加以批量替换、修改的方法。 在之前的文章基于Python一次性批量修改多个文件的文件名&#xff08;https://blog.csdn.net/zhebushibiaoshifu/article/details/115869725&#xff09;中&#xff0c;我们介绍了基…

Zynq-7000、FMQL45T900的GPIO控制(七)---linux驱动层配置GPIO中断输入

本文使用的驱动代码 (1条消息) FMQL45T900linux驱动外部中断输入ZYNQ-7000linux驱动外部中断输入资源-CSDN文库 在Zynq-7000、FMQL45T900驱动层也时常会用到对GPIO的控制&#xff0c;这里就针对实际使用的情况进行说明&#xff0c;首先根据之前的帖子确实使用GPIO编号 这里采…

VAE 理论推导及代码实现

VAE 理论推导及代码实现 熵、交叉熵、KL 散度的概念 熵&#xff08;Entropy) 假设 p (x&#xff09;是一个分布函数&#xff0c;满足在 x 上的积分为 1&#xff0c;那么 p ( x ) p(x) p(x)的熵定义为 H ( p ( x ) ) H (p (x)) H(p(x))&#xff0c;这里我们简写为 H ( p )…

干货!ICLR 2023 | 更稳定高效的因果发现方法-自适应加权

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; ╱ 个人简介╱ 张岸 新加坡国立大学NExT实验室博士后&#xff0c;主要研究Robust & Trustable AI。 个人主页&#xff1a;https://anzhang314.github.io/ 01 内容简介 可微分的因果发现方法&#xff0c;是从…

input 各类事件汇总触发时机触发顺序

今天梳理了一下input框的各类事件&#xff0c;简单介绍一下吧 目录 1.click 2.focus 3.blur 4.change 5.input 6.keydown 7.keyup 8.select 1.click 点击事件&#xff0c;简单易理解&#xff0c;点击触发&#xff0c;等下跟focus事件一起比较 2.focus 获取焦点事件…

每日学术速递4.24

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Collaborative Diffusion for Multi-Modal Face Generation and Editing(CVPR 2023) 标题&#xff1a;多模态人脸生成和编辑的协同扩散 作者&#xff1a;Ziqi Huang, Kelvin C.K. …

RabbitMQ之发布确认

1. 发布确认原理 ​ 生产者将信道设置成 confirm 模式&#xff0c;一旦信道进入 confirm 模式&#xff0c;所有在该信道上面发布的 消息都将会被指派一个唯一的 ID(从 1 开始)&#xff0c;一旦消息被投递到所有匹配的队列之后&#xff0c;broker 就会发送一个确认给生产者(包含…

Hibernate多表关联——(一对多关系)

Hibernate多表关联——&#xff08;一对多关系&#xff09; 文章目录 Hibernate多表关联——&#xff08;一对多关系&#xff09;1.分别在类中添加属性&#xff1a;2.hibernate建表3.使用测试类在表中添加数据 hibernate是连接数据库使得更容易操作数据库数据的一个框架&#x…

ASEMI代理亚德诺AD8130ARZ-REEL7芯片应用与参数分析

编辑-Z 本文将对AD8130ARZ-REEL7芯片进行详细的应用与参数分析&#xff0c;包括其主要特征、接口定义、电气特性以及使用注意事项等方面&#xff0c;旨在为广大读者提供对该芯片更全面的了解。 1、主要特征 AD8130ARZ-REEL7芯片是一种用于高速、低功耗差分信号放大的电路&…

R语言 | 因子

目录 一、使用factor()函数或as.factor()函数建立因子 二、指定缺失的Levels值 三、labels参数 四、因子的转换 五、数值型因子转换时常见的错误 六、再看levels参数 七、有序因子 八、table()函数 九、认识系统内建的数据集 在类别数据中&#xff0c;有些数据是可以排序…

使用binding时,LayoutSubscribeFragmentBinding报错

LayoutRecommendFragmentBinding是一个DataBinding类&#xff0c;它由编译器自动生成&#xff0c;用于访问布局文件中的视图。如果你在代码中看到LayoutRecommendFragmentBinding报红&#xff08;提示未解析的引用&#xff09;&#xff0c;可能有以下原因&#xff1a; 1. 检查…

软件工程开发文档写作教程(04)—开发文档的编制策略

本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl本文参考资料&#xff1a;电子工业出版社《软件文档写作教程》 马平&#xff0c;黄冬梅编著 开发文档编制策略 文档策略是由上级(资深)管理者制订的&#xff0c;对下级开发单位或开发人…

【C++ Metaprogramming】0. 在C++中实现类似C#的泛型类

两年前&#xff0c;笔者因为项目原因刚开始接触C&#xff0c;当时就在想&#xff0c;如果C有类似C#中的泛型限定就好了&#xff0c;能让代码简单许多。我也一度认为&#xff1a; 虽然C有模板类&#xff0c;但是却没办法实现C#中泛型特有的 where 关键词&#xff1a; public c…

胜叔说SI_PI_EMC

第一课 分享的目的 书籍推荐 第二课 什么是理论分析 仿真不是目的&#xff0c;仿真是验证理论分析的方法 测试不是目的&#xff0c;测试是验证理论分析的方法 第三课 信号完整性简介 小型化、高功率、高密度 传输线理论&#xff1a;传输线是由 信号路径和返回路径共同组…

OSI七层模型、TCP/IP四层模型

OSI七层模型和TCP/IP四层模型 OSI七层模型 物理层&#xff1a;底层数据传输&#xff0c;如网线、网卡标准数据链路层&#xff1a;定义数据基本格式&#xff0c;如何传输如何标识&#xff1b;如网卡MAC地址网络层&#xff1a;定义IP地址&#xff0c;定义路由功能&#xff1b;如…

温度调制式差示扫描量热法(MTDSC)中的正弦波温度控制技术

摘要&#xff1a;在调制温度式差式扫描量热仪&#xff08;MTDSC&#xff09;中&#xff0c;关键技术之一是正弦波加热温度的实现&#xff0c;此技术是制约目前国内无法生产MTDSC量热仪的重要障碍&#xff0c;这主要是因为现有的PID温控技术根本无法实现不同幅值和频率正弦波这样…

中文版gpt-最新的人工智能gpt

最新的人工智能gpt 什么是GPT&#xff1f; GPT是一种自然语言处理和语言生成技术&#xff0c;它能够学习和理解自然语言&#xff0c;并生成高质量的文本。GPT是由OpenAI开发的&#xff0c;它采用了最新的深度学习技术&#xff0c;具备了强大的自我学习能力和语言理解能力。它…