启动视频流云手机实例

  1. (可选)若需要启动不同帧率的视频流云手机实例,需要修改cfct_config配置文件中的帧率属性值。默认值帧率为30fps:

    BUILD_FPS=30

  2. (可选)若需启动不同抓图和初始编码参数的视频流云手机实例,需要进行以下配置。

    1. 从DemoVideoEngine.tar.gz中解压获取vendor文件夹,并将其中的default.prop拷贝至当前目录。
      1
      2
      3
      cd /home/kbox_video/
      tar -xvf DemoVideoEngine.tar.gz vendor
      cp vendor/default.prop .
      
    2. 配置抓图和编码参数,修改default.prop中对应属性值,或者在启动后在容器内通过setprop命令更改对应属性,属性如表1所示。
      表1 视频流引擎配置属性字段描述表

      字段名称

      字段描述

      取值范围

      默认值

      vmi.video.encodertype

      编码器类型配置项

      当该项配置为CPU,即使用软编时,若云手机需要运行较大负载应用,为防止默认绑核方式(2容器2核)的CPU资源不足,建议更改绑核方式为绑NUMA,修改方法如下:

      将cfct_config配置文件中“CPU_BIND_MODE”字段修改为“1”

      • 0:CPUCPU软编码器编码)
      • 1VPU外置硬件编码器编码
      • 2:GPU(暂不支持)

      1默认VPU外置硬件编码器编码

      vmi.video.videoframetype

      帧数据输出格式。

      • 0:H264
      • 1YUV暂不支持
      • 2:RGB暂不支持
      • 3:H265(vmi.video.encodertype取值为0时不可用)

      0:H264

      vmi.video.frame.width

      自适应分辨率宽度(必须是2的倍数)。

      360~1080

      720

      vmi.video.frame.height

      自适应分辨率高度(必须是2的倍数)。

      360~2304

      1280

      vmi.video.frame.density

      自适应分辨率屏幕像素密度。

      240~480

      320

      vmi.video.encode.gopsize

      编码GOP大小配置项。

      30~3000

      30:默认编码GOP大小为30

      vmi.video.encode.profile

      编码profile配置项(H.265编码仅支持配置main)。

      • 0:baseline仅H264支持
      • 1main
      • 2:high仅H264支持

      0:baseline

      vmi.video.encode.bitrate

      编码码率

      1000000~10000000

      单位bps

      3000000

      vmi.video.encode.forcekeyframe

      编码强制I帧配置项。

      • 0不触发编码强制I
      • 1:在下一帧强制生成I帧

      0默认不触发编码强制I

      vmi.video.encode.rcmode

      编码格式参数项。

      • 0:ABR 平均码率模式(暂不支持)
      • 1:CRF 画质优先模式(暂不支持)
      • 2:CBR 恒定码率模式
      • 3:CAPPED_CRF 画质优先并限制最大码率模式(暂不支持)

      2:CBR 恒定码率模式

      vmi.video.encode.interpolation

      补帧参数项

      • 0:关闭补帧
      • 1开启补帧

      1:开启补帧

      vmi.audio.audiotype

      音频输出格式

      • 0:OPUS
      • 1:PCM

      0:OPUS

      vmi.audio.encode.sampleinterval

      音频输出采样间隔

      • 5:5ms(暂不支持)
      • 10:10ms
      • 20:20ms(暂不支持)

      10:10ms

      vmi.audio.encode.bitrate

      音频OPUS编码码率(bps)

      13200~512000

      192000

      vmi.mic.audiotype

      麦克风输入格式

      • 0:OPUS
      • 1:PCM

      0:OPUS

    3. 如果要改变自适应分辨率的宽高,建议同步修改屏幕像素密度以达到最佳显示效果,推荐的配置说明如表2所示。
      表2 不同分辨率配置说明

      屏幕宽度

      屏幕密度(BUILD_DENSITY)

      720

      320

      1080

      480

      改变视频输出分辨率(与上次启动时配置不同)时,会改变AOSP系统和应用的渲染分辨率,可能会导致部分应用出现兼容性问题或渲染问题。一般此类问题可以通过重新启动应用解决,因此建议在修改分辨率前返回桌面,同时清空后台应用,以提升用户使用体验。

  3. 启动视频流云手机。

    1
    2
    cd /home/kbox_video/
    ./cfct_video start ${index1} ${index2}
    

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

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

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

  4. 查看视频流云手机。

    1
    docker ps -a
    

    回显示例如下:

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

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

    1
    2
    docker exec -it android_${index} sh 
    getprop sys.boot_completed
    

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