启动视频流云手机实例
可根据需求配置cfct_config文件中的参数启动不同分辨率和帧率的视频流云手机实例,配置default.prop文件中的初始视频编码参数。当使用WebRTC进行数据传输时,需要根据需求配置default.prop中的抓图分辨率;当后续使用apk访问视频流云手机时,可以在apk视图中修改抓图分辨率。
- (可选)若需要启动不同帧率的视频流云手机实例,则需要修改cfct_config配置文件中的帧率属性值。默认值帧率为30fps,720p和1080p分辨率下也可支持60fps。
BUILD_FPS=30
- 若需要启动不同初始编码参数、抓图分辨率、音频视频输出格式和使用WebRTC方式访问的视频流云手机实例,则需要进行以下配置。
- 从DemoVideoEngine.tar.gz中解压获取“vendor”文件夹,并将其中的“default.prop”文件拷贝至当前目录。
1 2 3
cd /home/kbox_video/ tar -xvf DemoVideoEngine.tar.gz vendor cp vendor/default.prop .
- 配置初始编码参数。通过修改default.prop中对应属性值来初始编码参数,属性描述请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的视频流引擎属性配置字段描述表,参考vmi.video.encode开头的属性。
- 配置抓图分辨率。通过修改default.prop中对应属性值来修改抓图分辨率,属性描述请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的视频流引擎属性配置字段描述表,参考vmi.video.frame开头的属性。如果要改变分辨率,建议同步在cfct_config文件中修改屏幕像素密度以达到最佳显示效果,推荐的配置说明如下表1所示。
改变视频输出分辨率(与上次启动时配置不同)时,会改变AOSP系统和应用的渲染分辨率,可能会导致部分应用出现兼容性问题或渲染问题。一般此类问题可以通过重新启动应用解决,因此建议在修改分辨率前返回桌面,同时清空后台应用,以提升用户使用体验。
- 配置视频和音频的输出格式。
- 使能自适应分辨率开关。
若使用apk方式访问视频流云手机实例,可在apk的设置页中使能自适应分辨率开关,参见apk方式访问。若不使能自适应分辨率开关,则需要修改default.prop中对应属性值来修改抓图分辨率,属性描述请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的视频流引擎属性配置字段描述表,参考vmi.video.frame开头的属性。如果要改变分辨率,建议同步在cfct_config文件中修改屏幕像素密度以达到最佳显示效果,推荐的配置说明如前表1所示。
- 使用WebRTC方式时需要配置IP地址和UDP起始端口。
使用WebRTC方式访问视频流云手机实例时,需要通过default.prop配置云手机服务端的IP地址属性vmi.webrtc.connection.serverip和可用的UDP起始端口vmi.webrtc.connection.udpbeginport,属性字段请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的WebRTC属性配置项字段描述表。
- 从DemoVideoEngine.tar.gz中解压获取“vendor”文件夹,并将其中的“default.prop”文件拷贝至当前目录。
- 启动视频流云手机。
1 2
cd /home/kbox_video/ ./cfct_video start ${index1} ${index2}
上述命令中${index1}与${index2}为设备号,其中${index2}可缺省。
例:./cfct_video start 2(创建第二号设备)
./cfct_video start 2 5(创建第二到第五号设备)
- 查看视频流云手机。
- 基于Docker容器运行时的视频流云手机。
1
docker ps -a
回显示例如下。
- 基于Containerd容器运行时的视频流云手机。
1
nerdctl ps -a
回显示例如下。
确认所启动的容器存在,且状态正常。
- 基于Docker容器运行时的视频流云手机。
- 确认视频流云手机是否启动成功,其中${index}为启动实例的编号,参见4中命令回显所示的最后一列,如android_35,${index}即为35。
- 基于Docker容器运行时的视频流云手机。
1
docker exec -it android_${index} sh
- 基于Containerd容器运行时的视频流云手机。
1
nerdctl exec -it android_${index} sh
1
getprop sys.boot_completed
如果回显信息中sys.boot_completed显示为“1”,则表示启动成功。
- 基于Docker容器运行时的视频流云手机。