云服务器内容精选

  • 4. 确认信息进入HiLens Studio 确认信息无误后,单击“确定”,进入启动HiLens Studio的界面。 必要信息填写完成后,您可以在界面右侧查看其配置参数值,如果某个字段填写错误,在右侧会显示一个小红叉。 图3 确认信息 确认信息后请务必进入HiLens Studio界面查看所创建的技能项目,否则会创建空项目,造成后续无法在HiLens Studio界面打开技能项目文件。 如果打不开HiLens Studio界面,请检查浏览器是否设置阻止弹出式窗口。如果浏览器设置了阻止弹出式窗口,请添加HiLens Studio网址为允许浏览器弹窗的白名单地址。
  • 前提条件 保证华为云账号处于不欠费状态。在华为HiLens控制台开发技能时,会占用OBS资源,需要收取一定费用,收费规则请参见 对象存储服务 OBS。 已订购HiLens Studio版本。 新建技能使用的算法模型已开发完成并导入HiLens中。 当前技能市场购买的技能暂不支持在HiLens Studio中打开,您可以选择在HiLens Studio中选择技能模板新建技能项目,详情请见新建技能项目。
  • 3. 运行时配置(可选) 图2 运行时配置-26 部分技能在运行的时候需要用户配置参数,比如人脸判断类的技能需要用户上传人脸库等。运行时配置就像是一个“钩子”,开发者把“钩子”放出去,用户运行技能的时候设置了这些配置项,HiLens就会帮开发者把“钩子”收回来,这时候在代码里面开发者就可以使用这些用户的设置。您可以在界面中单击添加配置标签,参考表2填写您的配置。 您还可以单击“预览JSON格式”查看“钩子”的格式。开发者通过HiLens Framework提供的get_skill_config接口获取技能配置的JSON格式,读取里面字段的值来使用用户的配置。 运行时配置JSON格式如下所示: { //全局配置 "Language": "enum", //视频分路配置 "multi_camera": [ //该字段key值multi_camera固定,值表示摄像头分路配置 { "camera_names": [ //该字段key值camera_names固定,值表示该分组配置里包含了哪些摄像头 "cameraX", "cameraY" ], "FaceLib": { //配置名 "from": "file source", //文件类型值,表示文件来自哪个服务。比如OBS "path": "file path" //文件类型值,表示文件的路径 } } ], } 表2 运行时配置的参数说明 字段名称 说明 配置名 配置的名称,逻辑代码里面可用该字段获取该配置的值。运行时配置指技能在运行的时候,由用户配置的内容。比如人脸判断技能需要用户上传人脸库等。需要说明的是,整个运行时配置是可选的,但如果添加了一条配置,那么“配置名”、“配置说明”是必填项。 值类型 表示该配置项的值是什么类型的数据。 数值类型(int、float)、枚举类型、字符串和文件类型。 值约束 表示该配置可以设置的范围。跟值类型有关。 数值类型:用开闭区间的表示方法。如[1,100)表示大于等于1小于100。 字符串和文件:该项无需输入。 枚举:集合的表示方式,如{a,b}。 配置说明 说明该配置的作用,以及配置方法。该字段非常重要,用户会根据该字段的说明来配置,所以如果有运行时配置,开发者一定要在这里解释清楚。 配置对象 HiLens Kit可以连接多个(个数不大于设备上所安装技能的支持通道数之和)摄像头,所以可以开发支持多路视频的技能。 选择“视频”,则表示该配置是可以针对设备上每个摄像头视频进行配置的,比如摄像头1和摄像头2采用不同的人脸库。 选择“全局”,则表示设备上所有摄像头都用同一个配置值。
  • 使用预置视频流调试代码 HiLens Studio的调试器允许使用断点、单步调试等,与编辑器配合使用。 在HiLens Studio编辑区代码左侧单击鼠标,出现断点。 图14 设置断点-28 调试代码。 方式一:单击HiLens Studio界面上方导航栏的,选择“Read Stream from File”。 图15 预置视频流调试代码 方式二:单击HiLens Studio界面左侧的,弹出“Debug”区,单击开始调试代码。 图16 调试区 方式三:快捷键“F5”,开始调试代码。 在HiLens Studio界面下方“Debug Console” 查看代码调试信息。 图17 Debug Console-29 运行代码 代码调试完成后,可运行代码,查看技能输出。 单击HiLens Studio界面上方导航栏的。 HDMI技能在运行完技能代码后,可在HiLens Studio界面右侧单击,在“Video Output”区查看技能输出。 如果视频流获取失败,可在“Video Output”区右上角单击刷新按钮重新获取。 图18 技能输出-30
  • 使用 手机实时视频 流调试代码 HiLens Studio的调试器允许使用断点、单步调试等,与编辑器配合使用。在调试代码的过程中,可以使用手机登录HiLens Studio,以手机摄像头实时的视频流作为技能输入,查看技能输出。 步骤一:绑定手机与HiLens Studio账号 在HiLens Studio界面右上角单击用户名,选择“接入手机摄像头(Beta)”。 弹出“接入手机摄像头(Beta)”对话框。 图4 手机登录HiLens Studio 按照“接入手机摄像头(Beta)”对话框的指引,打开手机微信,扫描对话框中的二维码。 手机微信进入“EI体验空间”小程序。 图5 扫描小程序二维码 在手机微信小程序中,选择“HiLens Studio”。 进入HiLens Studio手机小程序界面。 图6 HiLens Studio小程序 单击HiLens Studio界面“接入手机摄像头(Beta)”对话框的“下一步”。 对话框显示摄像头推流二维码。 图7 摄像头推流二维码 在HiLens Studio手机小程序界面勾选“用户协议”,然后单击“扫一扫”,用手机扫描步骤4中的二维码。 进入手机调试界面,功能介绍如表2所示。此时手机与HiLens Studio账号绑定,可以使用手机摄像头在线调试技能。 图8 手机调试界面 表2 手机调试功能说明 序号 说明 1 当前手机摄像头调试的技能名称以及实时输入的视频流。 单击技能名称,可切换技能,在手机弹出的新界面选择新的技能,然后单击“确定”,即可切换技能。 2 当前调试的技能输出视频流。 3 操作列,可进行如下操作: 前置摄像头:切换手机摄像头为前置摄像头。 后置摄像头:切换手机摄像头为后置摄像头。 暂停:暂停当前技能的调试或运行。 返回:退出当前手机调试技能界面,返回至HiLens Studio手机小程序界面。 步骤二:调试和运行技能代码 在HiLens Studio编辑区代码左侧单击鼠标,出现断点。 图9 设置断点 调试代码。 单击HiLens Studio界面上方导航栏的,选择“Read Stream from Mobile Phone”。 图10 实时推流调试代码 在HiLens Studio界面下方“Debug Console” 查看代码调试信息。 图11 Debug Console 运行代码 代码调试完成后,可运行代码,查看技能输出。 单击HiLens Studio界面上方导航栏的运行按钮。 HDMI技能在运行完技能代码后,可在HiLens Studio小程序界面查看技能输出。 图12 手机调试界面-27 同时,也可在HiLens Studio界面右侧单击,在“Video Output”区查看技能输出。 图13 技能输出
  • 项目文件说明 在HiLens Studio界面单击左上角,左侧将展示开发项目的文件目录。打开项目源代码文件“src”,详细代码内容将呈现在HiLens Studio界面的编辑区,您可以直接编辑项目逻辑代码。 文件目录的详细说明如下所示: 开发项目名/ |── .hilens ├── rtmp_source 生成的uuid,用于构成技能rtmp手机推流临时地址。 ├── rtmp.txt 生成的uuid,用于构成技能rtmp推流临时地址。 ├── skill_info.json 项目的元信息。 |── .theia ├── launch.json 项目启动配置。 ├── tasks.json 任务配置。 ├── setting.json C/C++ 配置。目前配置了cpp编译路径,是c++代码跳转非常重要的部分。 |── build ├── CMakeLists.txt 文件。 ├── kit_package_install.sh 技能部署至HiLens Kit打包脚本,此脚本可支持自定义,定制化部署技能至HiLens Kit。 ├── build.sh 项目编译脚本。 ├── clean.sh 项目清理脚本。 ├── prebuild.sh 项目启动预处理脚本。 ├── postbuild.sh 项目运行结束后处理脚本。 ├── output 编译产物。 ├── kit HiLens Kit编译产物。 ├── studio HiLens Studio编译产物。 ├── lib c++项目第三方库。 ├── data 工程需要使用的数据。 ├── model 模型文件。 ├── src 项目源代码。 ├── test 测试数据。 ├── cameras0.mp4 HiLens Studio中Video Capture 默认读取的视频文件。