鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

启动视频流云手机实例

  1. (可选)若需要启动不同分辨率及帧率的视频流云手机实例,需要修改cfct_config配置文件中的分辨率宽高及帧率等属性值。配置说明如表1所示。
    表1 不同云手机规格的不同分辨率和帧率配置说明

    云手机规格

    屏幕宽度(BUILD_WIDTH)

    屏幕高度(BUILD_HEIGHT)

    屏幕密度(BUILD_DENSITY)

    屏幕刷新帧率(BUILD_FPS)

    720p@30fps

    720

    1280

    320

    30

    720p@60fps

    720

    1280

    320

    60

    1080p@30fps

    1080

    1920

    480

    30

    1080p@60fps

    1080

    1920

    480

    60

    默认值如下所示:

    BUILD_WIDTH=720
    BUILD_HEIGHT=1280
    BUILD_DENSITY=320
    BUILD_FPS=30
  2. (可选)若需启动不同抓图和编码参数的视频流云手机实例,需要进行以下配置。
    1. 从DemoVideoEngine.tar.gz中解压获取vendor文件夹,并将其中的default.prop拷贝至当前目录。
      #cd /home/kbox_video/
      #tar -xvf DemoVideoEngine.tar.gz vendor
      #cp vendor/default.prop .
    2. 配置抓图和编码参数,修改default.prop中对应属性值,属性列表如下:
      表2 视频流引擎抓图和编码参数属性字段描述表

      字段名称

      字段描述

      取值范围

      默认值

      ro.vmi.video.capture.render_optimizing

      主副屏渲染优化特性开关配置项(不支持运行时更改)。

      • 0:关闭主副屏渲染优化特性
      • 1开启主副屏渲染优化特性

      1:默认开启主副屏渲染优化特性

      ro.vmi.video.capture.format

      抓图格式配置项(不支持运行时更改)。

      • 1YUVCPU进行RGB转YUV,外置编码器编码)
      • 2YUVGPU进行RGB转YUV,外置编码器编码

      2默认YUVGPU进行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

  3. 启动视频流云手机。
    #cd /home/kbox_video/
    #./cfct_video start ${index1} ${index2}

    上述命令中${index1}${index2}为设备号,其中${index2}可缺省。

    例:# ./cfct_video start 2(创建第二号设备)

    # ./cfct_video start 2 5(创建第二到第五号设备)

  4. 查看视频流云手机。
    #docker ps -a

    回显示例如下:

    确认所启动的容器存在,且状态正常。

  5. 确认视频流云手机是否启动成功,其中${index}为启动实例的编号,参见4中命令回显所示的最后一列,如android_35,${index}即为35
    # docker exec -it android_${index} sh 
    # getprop sys.boot_completed

    如果回显信息中sys.boot_completed显示为“1”,则表示启动成功。