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

开发环境配置

服务端

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

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

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

  2. 解压视频流引擎服务端开发包。
    tar xzvf VideoEngine.tar.gz
  3. 再将解压出来的二进制文件复制至云手机(以cloudphone_1云手机为例)内。
    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源码,执行以下命令配置环境。

      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目录添加至头文件目录。
      vim Android.mk
      LOCAL_C_INCLUDES += /home/VideoEngine/Cloud/include

客户端

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

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

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

  2. 使用视频流引擎客户端时,先将视频流引擎客户端解压。
    tar xzvf VideoEngineClient.tar.gz
  3. 如果要对视频流引擎客户端进行二次开发,需要配置SDK和NDK环境(版本见获取软件包中所示)用来编译,并将解压出来的include目录添加至依赖的头文件目录。

    以解码模块为例,如果要对解码模块进行二次开发实现云手机客户端,那么需要将解码模块的库文件放至工程的app目录(客户端工程根路径以“/home/CloudPhoneAPK”为例):

    mkdir –p /home/CloudPhoneAPK/app/libs/arm64-v8a/
    cp /home/VideoEngine/Client/arm64-v8a/libVideoDecoder.so /home/CloudPhoneAPK/app/libs/arm64-v8a/

    编辑“/home/CloudPhoneAPK/app”目录下的build.gradle文件,新增如下内容:

    android { 
    defaultConfig { 
        # 指定库文件位置
        sourceSets { 
            main { 
                jniLibs.srcDirs = ['libs'] 
            } 
        }
        # 注意:一定要使用c++动态库
        externalNativeBuild {
            cmake {
                arguments "-DANDROID_STL=c++_shared"
            }
         }
    } 
    # 指定打包规则
        packagingOptions { 
            doNotStrip "*.so" 
        } 
    }

    如果需要在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)