欢迎光临散文网 会员登陆 & 注册

OpenHarmony投屏工具OHScrcpy软件下载、使用教程和技术浅析

2023-06-04 15:35 作者:westinyang  | 我要投稿

上期 视频投稿 是我做的一个名为OHScrcpy的OpenHarmony投屏工具,今天在这里和大家分享一下~

目前仅初步实现,只是名字参考安卓的Scrcpy投屏工具,非移植二开,现阶段的开发技术和实现方式距离Scrcpy的完成度还相差很远。

个人认为目前只适用于教学视频、直播写代码等演示场景,距离低延迟、高帧率能日常使用的实现其实还很遥远。

如果你对投屏工具有更高的期望和要求,那现在这个工具也许不太适合你去使用。

另外也有人问到这个工具是否开源?这里再回答一下:我目前做了两个系列的视频,一个探索系列,一个开源系列,这期为前者,该系列只发成品、教程、心得,后者均为各类型开源项目。

先上资源

后续版本更新都将在这个专栏文章中更新,下载地址不变!

资源文件:OHScrcpy-1.0-Beta2.zip、OHScrcpy-1.0-Beta1.zip

下载地址:https://www.123pan.com/s/EKF7Vv-fUei.html  提取码:ohos

环境要求

  • 电脑系统:Windows 10/11 64 位

  • 设备系统:OpenHarmony 3.2+

开发阶段仅在一加6T(OpenHarmony 3.2 Release)上测试过

其他开发板等设备,横竖屏分辨率的宽高比自适应算法完全靠想象盲写,理论上OK,如果有什么问题可以在评论区反馈!

使用教程

如果你本地有配置hdc命令到环境变量,并且不想使用软件同级目录中的hdc,直接删除或改个名字即可

只连接一个设备时(包含安卓设备数量,因为hdc也识别安卓设备...)

  • 直接运行 OHScrcpy.exe 即可(首次打开要等个3~5秒,因为要等待hdc服务启动,当然如果你本机的hdc服务本身就是处于启动状态,就不会有这个等待的时间

当连接多个设备时

  • 查看 设备序列号:hdc list targets

  • 在 OHScrcpy.bat 脚本中写入 start OHScrcpy.exe -t 设备序列号 后保存,双击此脚本运行

  • 或者把 OHScrcpy.exe 发送到桌面快捷方式,右键快捷方式,属性,修改目标值追加 -t 设备序列号注意下 -t 前面是有个空格的

修改快捷方式指定投屏设备
  • 再次双击运行快捷方式即可

使用说明

  • 不点出右键菜单,所有快捷键也可以使用

  • 自动调整窗口有3种方式:右键菜单、快捷键(Ctrl+X)、双击窗口任意处

  • 设备安装应用有3种方式:右键菜单、快捷键(F5)、拖拽安装包到窗口任意处

  • 截屏(F1)文件默认保存到桌面,文件格式为.jpeg

  • 播放开机动画(Ctrl+B)功能纯属娱乐~

技术浅析

先做一些大致的对比(勿较真)

  • 操作系统:Android  | OpenHarmony

  • 运行环境:ART  |  Ark

  • 编程语言:java  |  js

  • 编译产物:dex  |  abc

  • 打包产物:apk  | hap

  • 调试工具:adb  | hdc

Scrcpy安卓投屏工具的大致实现原理

  1. adb推送dex到安卓设备

  2. adb开启端口转发

  3. 利用安卓shell命令app_process直接运行这个dex程序

  4. dex程序作为服务端,会创建一个本地视频流的socket等待客户端连接

  5. 投屏工具连接到socket服务端,实时解码并显示画面

  6. 投屏工具的点触交互等功能依赖adb或者dex程序提供的功能

继续探索

  • 上面说的这6点,再看下刚才的一些对比,换做OH的环境,以我目前的了解,3、4、6暂时没有解决方案。

  • 那怎么办呢?当然是只能另辟蹊径了~ 低延迟、高帧率咱们搞不定,还不能先搞个高延迟、低帧率的实现了?

  • 只要能找到获取屏幕分辨率和图像的方法,通过多线程和程序上的优化自己组装图片,不就行了吗?

  • 那么问题又来了,怎么做?

  • 经过不断地研究,我发现真正的“技术密码”还得是反编译和分析DevEcoStudio部分jar包,看他内部的一些实现

  • 这里只提下最重要的一个点,就是这个jar包:C:\Program Files\Huawei\DevEco Studio\plugins\openharmony\lib\ohos_hilog-3.1.0.500.jar

  • 本次技术浅析到此结束 😎

高清图赏

锁屏
主屏
关于


OpenHarmony投屏工具OHScrcpy软件下载、使用教程和技术浅析的评论 (共 条)

分享到微博请遵守国家法律