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

news2024/9/22 3:55:11

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue 手搓轮播效果

tiptop: 为啥需要写这个功能,因为我遇到了每个轮播层内要放3个左右的商品块,如果使用element自带的轮播就需要将一维数组切成二维数组,导致处理一些情况下就会变得很麻烦,当然那种我也写了如果你们有需要,在下方留言我…

柳永8首绝美词句

他是白衣卿相,是才子词人。 他有傲人的才华,却仕途失意。 他眠花宿柳,写下流传千古的词章。 他是才子柳永。 今天,给大家介绍他的8首词,体会柳永的人生起伏。 1、《雨霖铃 寒蝉凄切》 寒蝉凄切,对长亭晚…

Kafka 安装部署-单节点

Kafka强依赖ZK,如果想要使用Kafka,就必须安装ZK,Kafka中的消费偏置信息、kafka集群、topic信息会被存储在ZK中。有人可能会说我在使用Kafka的时候就没有安装ZK,那是因为Kafka内置了一个ZK,一般我们不使用它。 部署说明…

Yuzuki Lizard 全志V851S开发板 –移植 QT5.12.9教程

本文转载自:https://forums.100ask.net/t/topic/3027 移植 QT5 教程 (此教程基于docker版V851S开发环境) docker pull registry.cn-hangzhou.aliyuncs.com/gloomyghost/yuzukilizard 编译依赖 apt-get install repo git gcc-arm-linux-gn…

用户订阅付费如何拆解分析?看这篇就够了

会员制的订阅付费在影音娱乐行业中已相当普及,近几年,不少游戏厂商也开始尝试订阅收费模式。在分析具体的用户订阅偏好以及订阅付费模式带来的增长效果时,我们常常会有这些疑问: 如何从用户的整体付费行为中具体拆解订阅付费事件…

Numpy从入门到精通——数组变形|合并数组

这个专栏名为《Numpy从入门到精通》,顾名思义,是记录自己学习numpy的学习过程,也方便自己之后复盘!为深度学习的进一步学习奠定基础!希望能给大家带来帮助,爱睡觉的咋祝您生活愉快! 这一篇介绍《…

SLAM论文速递:SLAM—— 流融合:基于光流的动态稠密RGB-D SLAM—4.25(2)

论文信息 题目: FlowFusion:Dynamic Dense RGB-D SLAM Based on Optical Flow 流融合:基于光流的动态稠密RGB-D SLAM论文地址: https://arxiv.org/pdf/2003.05102.pdf发表期刊: 2020 IEEE International Conference on Robotics and Automa…

【Spring Cloud】Spring Cloud 是什么?

文章目录 前言一、子项目二、常用组件三、把 Spring Cloud 官方、Netflix、Alibaba 三者整理成如下表格: 前言 Spring 以 Bean(对象) 为中心,提供 IOC、AOP 等功能。Spring Boot 以 Application(应用) 为中…

Python小姿势 - Python操作Excel表格数据

Python操作Excel表格数据 在日常工作中,我们经常会遇到一些需要对表格数据进行处理的情况,比如:数据清洗、数据分析、数据可视化等。对于这些任务,我们可以使用Python来进行操作。 在Python中操作Excel表格数据,我们可…

electron+vue3全家桶+vite项目搭建【13】封装加载进度显示,新建窗口 演示主进程与渲染进程通信

文章目录 引入实现效果演示:1.封装新建窗口工具2.测试新建窗口3.封装进度条加载4.测试进度条加载 引入 这里我们通过封装electron的工具类来演示electron中的主进程和渲染进程利用ipc进行通信 demo项目地址 electron官方文档ipc通信 实现效果演示: …

通过注册表设置远程桌面的配置

***************************修改远程终端端口号*************************** [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Wds\rdpwd\Tds\tcp] "PortNumber"dword:00000d3d [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Ser…

代码优雅之道——如何干掉过多的if else

1、前言 注意标题是过多的,所以三四个就没必要干掉了。实际开发中我们经常遇到判断条件很多的情况,比如下图有20多种情况,不用想肯定是要优化代码的,需要思考的是如何去优化? 网上很多说用switch case啊,首…

算法刷题|198.打家劫舍、213.打家劫舍Ⅱ、337.打家劫舍Ⅲ

打家劫舍 题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定…

【社区图书馆】Fundamentals Of Computer Graphics——The beginning of computer graphics

目录 English 中文 English "Fundamentals Of Computer Graphics" is a classic textbook on computer graphics, also known as the "Tiger Book". It is considered one of the best introductory texts in the field of computer graphics. The book …

1分钟搭建自己的GPT网站

如果觉得官方免费的gpt(3.5)体验比较差,总是断开,或者不会fanqiang,那你可以自己搭建一个。但前提是你得有gpt apikey。年初注册的还有18美金的额度,4.1号后注册的就没有额度了。不过也可以自己充值。 有了…

【Redis】Redis事务

介绍 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化, 按顺序地串行化执行而不会被其他命令插入一个队列中,一次性、顺序性、排他性的执行一系列命令没有隔离级别的概念,没有脏读、不可重复读等。 …

思维导图从入门到大神

思维导图怎么做?思维导图是一种发散性思维的图。在我们生活的方方面面都有运用。无论是工作、学习、还是生活,我们都可以用到它。那思维导图是怎么绘制的呢?其实非常简单,只要这简单的几步 1、首先在绘制思维导图前,我…

veImageX 演进之路:iOS 高性能图片加载 SDK

动手点关注 干货不迷路 1. SDK简介 图片在业务应用场景是一个常见的元素,veImageX(简称ImageX)为业务提供了灵活、高效的一站式图片处理解决方案,包括了服务端 SDK、上传 SDK 和客户端图片加载 SDK。本文就来介绍下 iOS 客户端图…

力扣 1493(删掉一个元素以后全为 1 的最长子数组)Java

目录 题目 约束 用例 解题思路 各位看官先看执行结果 这道题呢,采用的滑动窗口思想。 题目 给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在…

15天学习MySQL计划-索引(进阶篇)第七天

索引 1.索引概述 1.介绍 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数…