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

启动视频流云手机实例

可根据需求配置cfct_config文件中的参数启动不同分辨率和帧率的视频流云手机实例,配置default.prop文件中的初始视频编码参数。当使用WebRTC进行数据传输时,需要根据需求配置default.prop中的抓图分辨率;当后续使用apk访问视频流云手机时,可以在apk视图中修改抓图分辨率。

  1. (可选)若需要启动不同帧率的视频流云手机实例,则需要修改cfct_config配置文件中的帧率属性值。默认值帧率为30fps,720p和1080p分辨率下也可支持60fps。
    BUILD_FPS=30
  2. 若需要启动不同初始编码参数、抓图分辨率、音频视频输出格式和使用WebRTC方式访问的视频流云手机实例,则需要进行以下配置。
    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中对应属性值来初始编码参数,属性描述请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的视频流引擎属性配置字段描述表,参考vmi.video.encode开头的属性。
    3. 配置抓图分辨率。
      通过修改default.prop中对应属性值来修改抓图分辨率,属性描述请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的视频流引擎属性配置字段描述表,参考vmi.video.frame开头的属性。如果要改变分辨率,建议同步在cfct_config文件中修改屏幕像素密度以达到最佳显示效果,推荐的配置说明如下表1所示。
      表1 不同分辨率配置说明

      屏幕宽度(BUILD_WIDTH)

      屏幕密度(BUILD_DENSITY)

      720

      320

      1080

      480

      1440

      640

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

    4. 配置视频和音频的输出格式。
      • 若使用WebRTC方式访问视频流云手机实例,则需要修改default.prop中对应属性值,必须在属性值的取值范围内配置视频和音频的输出格式, 需要配置的属性字段请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的WebRTC属性配置项字段描述表。
      • 若使用apk方式访问视频流云手机实例,可通过default.prop中修改视频和音频的输出格式,可配置的属性字段请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的视频流属性配置项字段描述表。
    5. 使能自适应分辨率开关。

      若使用apk方式访问视频流云手机实例,可在apk的设置页中使能自适应分辨率开关,参见apk方式访问。若不使能自适应分辨率开关,则需要修改default.prop中对应属性值来修改抓图分辨率,属性描述请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的视频流引擎属性配置字段描述表,参考vmi.video.frame开头的属性。如果要改变分辨率,建议同步在cfct_config文件中修改屏幕像素密度以达到最佳显示效果,推荐的配置说明如前表1所示。

    6. 使用WebRTC方式时需要配置IP地址和UDP起始端口。

      使用WebRTC方式访问视频流云手机实例时,需要通过default.prop配置云手机服务端的IP地址属性vmi.webrtc.connection.serverip和可用的UDP起始端口vmi.webrtc.connection.udpbeginport,属性字段请参见《视频流引擎 开发指南》中的“视频流引擎非商用部分对外可配置功能开关说明”章节的WebRTC属性配置项字段描述表。

  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. 查看视频流云手机。
    • 基于Docker容器运行时的视频流云手机。
      1
      docker ps -a
      

      回显示例如下。

    • 基于Containerd容器运行时的视频流云手机。
      1
      nerdctl ps -a
      

      回显示例如下。

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

  5. 确认视频流云手机是否启动成功,其中${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”,则表示启动成功。