运行C Demo

本文介绍在ubuntu 18.04环境中运行C Demo的方法。

使用前必读

本文操作步骤以普通用户权限为例。如果您在操作过程中涉及到管理员权限才能执行的操作,可尝试使用sudo命令执行。

前提条件

已开通音视频通信增值服务,具体操作,请参见开通服务

环境准备

  • 需要在ubuntu 18.04环境中编译运行Demo,本文以docker环境为例演示Demo的运行:

    sudo docker pull ubuntu:18.04
    sudo docker run -it ubuntu:18.04
    sudo apt-get update; apt-get install build-essential wget unzip openssh-client
  • (可选)由于C Demo(Linux,x86_64架构)仅支持音视频的传输,不支持播放和采集。为了您更好地体验Demo,可以准备一台Android系统的实体设备来播放传输的视频。

操作步骤

  1. 在阿里云物联网平台创建产品。具体操作请参见创建产品

  2. 在阿里云物联网平台创建两台设备作为主叫方和被呼叫方。DeviceName示例:C_Host、C_Guest,具体操作请参见创建设备

    说明

    请在物联网平台获取以下参数,后续编译Demo文件需要使用。

    • 设备证书:设备创建成功后,将生成设备证书。设备证书包含ProductKey、DeviceName和DeviceSecret。

    • 设备接入域名:在实例详情页面,单击查看开发配置,获取设备接入域名。

  3. 下载并解压Demo运行的相关文件。

    wget  https://linkkit-export.oss-cn-shanghai.aliyuncs.com/rtc/c-rtc-demo.zip
    unzip c-rtc-demo.zip
  4. 打开demos/rtc_guest_integrated_demo.c文件并修改。

    /* TODO:填入被呼叫方C_Guest的设备证书 */
    char *product_key       = "${YourProductKey}";
    char *device_name       = "${YourDeviceName}";
    char *device_secret     = "${YourDeviceSecret}";
    
    //IoT实例的接入点。TODO:填入设备的接入域名
    char  *mqtt_host = "${YourInstanceId}.mqtt.iothub.aliyuncs.com";
  5. 编译与运行Demo。

    cd c-rtc-demo;
    sh run.sh

    出现如下信息表示Demo运行成功。

    root@********fc1:/c-demo-export# sh run.sh
    : Compiling portfiles/aiot_port/posix_port.c ...
    : Compiling core/aiot_state_api.c ...
    : Compiling components/rtc/aiot_rtc_api.c ...
    : Compiling core/aiot_http_api.c ...
    : Compiling core/sysdep/core_sysdep.c ...
    : Compiling core/sysdep/core_adapter.c ...
    : Compiling core/utils/core_sha256.c ...
    : Compiling core/utils/core_auth.c ...
    : Compiling core/utils/core_log.c ...
    : Compiling core/utils/core_global.c ...
    : Compiling core/utils/core_diag.c ...
    : Compiling core/utils/core_string.c ...
    : Compiling external/ali_ca_cert.c ...
    : Compiling core/aiot_mqtt_api.c ...
    : Compiling core/utils/core_http.c ...
    + Linking output/rtc-host-integrated-demo ...
    + Linking output/rtc-guest-integrated-demo ...
    EEEE: entering set_http_functions (LWS version) ...
    created lock for http access
    leaving set_http_functions (LWS version) ...
    [163*****778.322][LK-0313] MQTT user calls aiot_mqtt_connect api, connect
    [163*****778.322][LK-032A] mqtt host: iot-t********t-as-mqtt.unify.aliyuncs.com
    [16*******778.322][LK-0317] user name: KTDrd****************M
    [16*****8.322][LK-0318] password: 01****************132AFB2489EB6A36F61ABE111B
    establish tcp connection with server(host='io********e.iot-as-mqtt.unify.aliyuncs.com', port=[443])
    success to establish tcp, fd=3
    local port: 4***0
    [16******.588][LK-0313] MQTT connect success in 260 ms
    AIOT_MQTTEVT_CONNECT
    [2021-09-18 06:32:58.584][INFO] [iot_sdk.c:155] func alirtc_rtc_set_log_level start
    [2021-09-18 06:32:58.584][INFO] [iot_sdk.c:159] func alirtc_rtc_set_log_level stop
    [2021-09-18 06:32:58.584][INFO] [iot_sdk.c:500] func alirtc_config_log start
    [2021-09-18 06:32:58.584][INFO] [iot_sdk.c:513] func alirtc_config_log stop
    heartbeat response
    wait for rtc initing

(可选)为了您更好地体验Demo,请参考Android Demo中提供的方法,生成一个Host apk文件,将该文件安装在准备好的实体设备中,单击拉新会,将播放运行Demo成功后传输的阿里云宣传视频。

说明

编辑AliRtcChatActivity.java文件时,主叫方的设备证书为本文步骤2中创建的C_Host的设备证书,被呼叫方的设备证书为本文步骤2中创建的C_Guest的设备证书。

c
阿里云首页 物联网平台 相关技术圈