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

开发环境配置

服务端

视频流引擎服务端的安装包名称为VideoEngine.tar.gz。

  1. 将VideoEngine.tar.gz放至“/home/VideoEngine/Cloud”目录下。

    用户可以根据需求选择文件存放目录。

  2. 解压视频流引擎服务端开发包。
    1
    tar xzvf VideoEngine.tar.gz
    
  3. 再将解压出来的二进制文件复制至云手机(以cloudphone_1云手机为例)内。
    1
    2
    3
    4
    5
    6
    docker cp system/bin cloudphone_1:/system/
    docker cp system/etc cloudphone_1:/system/
    docker cp system/lib cloudphone_1:/system/
    docker cp system/lib64 cloudphone_1:/system/
    docker cp vendor/lib cloudphone_1:/vendor/
    docker cp vendor/lib64 cloudphone_1:/vendor/
    
  4. 如果要对视频流引擎服务端进行二次开发,需要配置AOSP环境用来编译,并将解压出来的include目录添加至头文件目录。
    1. 配置AOSP环境。

      在安卓官网下载AOSP源码,执行以下命令配置环境。

      1
      2
      3
      4
      5
      6
      7
      cd android-11.0.0_r48
      repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r48
      repo sync -j8
      repo start android-11.0.0_r48 --all
      source build/envsetup.sh
      lunch aosp_arm64-eng
      make
      
    2. 编辑Android.mk文件,将解压出来的include目录添加至头文件目录。
      1
      vim Android.mk
      
      LOCAL_C_INCLUDES += /home/VideoEngine/Cloud/include

客户端

视频流引擎客户端的安装包名称为VideoEngineClient.tar.gz。

  1. 将VideoEngineClient.tar.gz放至“/home/VideoEngine/Client”目录下。

    用户可以根据需求选择文件存放目录。

  2. 使用视频流引擎客户端时,先将视频流引擎客户端解压。
    1
    tar xzvf VideoEngineClient.tar.gz
    
  3. 如果要对视频流引擎客户端进行二次开发,需要配置SDK和NDK环境(版本见获取软件包中所示)用来编译,并将解压出来的“include”目录添加至依赖的头文件目录。
    1. 以解码模块为例,如果要对解码模块进行二次开发实现云手机客户端,那么需要将解码模块的库文件放至工程的app目录(客户端工程根路径以“/home/CloudPhoneAPK”为例)。
      1
      2
      mkdir –p /home/CloudPhoneAPK/app/libs/arm64-v8a/
      cp /home/VideoEngine/Client/arm64-v8a/libVideoDecoder.so /home/CloudPhoneAPK/app/libs/arm64-v8a/
      
    2. 编辑“/home/CloudPhoneAPK/app”目录下的build.gradle文件,新增如下内容:
      android { 
      defaultConfig { 
          # 指定库文件位置
          sourceSets { 
              main { 
                  jniLibs.srcDirs = ['libs'] 
              } 
          }
          # 注意:一定要使用c++动态库
          externalNativeBuild {
              cmake {
                  arguments "-DANDROID_STL=c++_shared"
              }
           }
      } 
      # 指定打包规则
          packagingOptions { 
              doNotStrip "*.so" 
          } 
      }
    3. 如果需要在CPP工程中引用解码模块,编辑“/home/CloudPhoneAPK/app/src/main/cpp”目录下的CMakeLists.txt,链接头文件、引入动态库。
      # 链接头文件
      include_directories(/home/VideoEngine/Client/include) 
      # 声明动态库
      add_library(libVideoDecoder SHARED IMPORTED) 
      # 引入动态库
      set_target_properties(libVideoDecoder 
              PROPERTIES IMPORTED_LOCATION 
              /home/VideoEngine/Client/arm64-v8a/libVideoDecoder.so) 
      # 纳入编译范围
      target_link_libraries(${PROJECT_NAME} libVideoDecoder)