启动视频流云手机实例
- (可选)若需要启动不同分辨率及帧率的视频流云手机实例,需要修改cfct_config配置文件中的分辨率宽高及帧率等属性值。配置说明如表1所示。
- (可选)若需启动不同抓图和编码参数的视频流云手机实例,需要进行以下配置。
- 从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中对应属性值,属性如表2所示。
表2 视频流引擎抓图和编码参数属性字段描述表 字段名称
字段描述
取值范围
默认值
ro.vmi.video.capture.format
抓图格式配置项(不支持运行时更改)。
- 1:YUV(CPU进行RGB转YUV,外置编码器编码)
- 2:YUV(GPU进行RGB转YUV,外置编码器编码)
2:默认YUV(GPU进行RGB转YUV,外置编码器编码)
ro.vmi.video.capture.gpu_dev
抓图的GPU设备节点配置项,需与渲染的GPU设备节点保持一致(不支持运行时更改)。
格式:/dev/dri/renderDxxx
其中xxx的取值范围为:128~133
/dev/dri/renderD128:默认GPU设备节点为/dev/dri/renderD128
persist.vmi.video.capture.interpolation
补帧功能配置项。
- 0:关闭补帧功能
- 1:开启补帧功能
在画面刷新率低,即1/4秒内无画面更新的情况下,启用补帧功能保证出流平均帧率与云手机设定帧率保持一致。
1:默认开启补帧功能
persist.vmi.video.encode.bitrate
编码码率配置项。
1000000~10000000
单位:bps
5000000:H.264编码时默认编码码率为5Mbps
3000000:H.265编码时默认编码码率为3Mbps
persist.vmi.video.encode.gopsize
编码GOP大小配置项。
30~3000
30:默认编码GOP大小为30
persist.vmi.video.encode.profile
编码profile配置项(H.265编码仅支持配置main)。
baseline、main、high
baseline:H.264编码时默认编码profile为baseline
main:H.265编码时默认编码profile为main
persist.vmi.video.encode.param_adjusting
编码参数调整生效配置项。
支持运行时调整以下3个编码参数:
- persist.vmi.video.encode.bitrate
- persist.vmi.video.encode.gopsize
- persist.vmi.video.encode.profile
- 0:不触发编码参数调整
- 1:触发编码参数调整
0:默认不触发编码参数调整
persist.vmi.video.encode.keyframe
编码强制I帧配置项。
- 0:不触发编码强制I帧
- 1:触发编码强制I帧。在正常编码阶段,调用该函数后,编码出的下一帧图像为I帧
0:默认不触发编码强制I帧
ro.vmi.demo.video.encode.format
编码格式配置项(不支持运行时更改)。
当“ro.vmi.demo.video.encode.format”属性值配置为“0”,即使用软编时,若云手机需要运行较大负载应用,为防止默认绑核方式(2容器2核)的CPU资源不足,建议更改绑核方式为绑NUMA,修改方法如下:
将cfct_config配置文件中“CPU_BIND_MODE”字段修改为“1”。
0:软编openH264
1:硬编NETINT H.264
2:硬编NETINT H.265
1:默认使用硬编NETINT H.264
- 从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(创建第二到第五号设备)
- 查看视频流云手机。
1
docker ps -a
回显示例如下:
确认所启动的容器存在,且状态正常。
- 确认视频流云手机是否启动成功,其中${index}为启动实例的编号,参见4中命令回显所示的最后一列,如android_35,${index}即为35。
1 2
docker exec -it android_${index} sh getprop sys.boot_completed
如果回显信息中sys.boot_completed显示为“1”,则表示启动成功。