Python

更新时间:
复制 MD 格式

本文档将介绍如何快速跑通ARTC Linux SDK Python版本示例项目,体验实时音视频功能。

示例源码获取

SDK下载中获取最新版本的ARTC Linux SDK。解压Linux SDK压缩包,打开解压后的文件夹里面的Python文件夹,交付产物包括如下:

├── Release 
│   └── lib ##此目录包含需要链接的SDK动态库,以及打包后的elf文件。
│       ├── AliRtcCoreService
│       ├── libAliRtcLinuxEngine.so
│       └── libonnxruntime.so.1.16.3
└── Demo ##此目录包含对应的Python接口封装,从而通过Python代码实现与C++接口一致的RTC推拉流功能。
    ├── demo.py ##简易例程,需要将appid、appkey替换以执行。
    ├── AliRTCEngine.py
    ├── AliRTCEngineImpl.py
    └── AliRTCLinuxSdkDefine.py
  • Release目录包含需要链接的SDK动态库(lib),以及打包后的elf文件。Demo目录包含对应的Python接口封装,从而通过Python代码实现与C++接口一致的RTC推拉流功能。

  • Demo/demo.py目录提供简易例程,需要将appid、appkey替换以执行。

前提条件

在运行示例项目之前,请确保满足以下要求

  • 应用准备:获取实时音视频应用的AppIDAppKey,详情请参考获取开发参数

  • 开发环境:确保您的Linux内核版本在2.6以上,且Python运行时为3.6及以上版本。若您希望基于C++接口进行额外开发,还需确保GCC版本在4.8以上。

执行步骤

配置项目

demo.py中替换您的appid,并正确指定AliRtcCoreService的路径后。

image.png

image.png

运行程序

终端执行:

python demo.py

若终端有以下输出,表示入会、推流成功

# 入会成功
[Python] on join channel result. Channel: 12301, user: linux, result: 0

# 推流成功
[Python] on audio publish state changed, oldState: 0, newState: 2
[Python] on video publish state changed, oldState: 0, newState: 2
[Python] on audio publish state changed, oldState: 2, newState: 3
[Python] on video publish state changed, oldState: 2, newState: 3

# 远端用户web已上线
[Python] on remote user online: web

# 收到来自远端用户abcd的音视频流
[Python] on audio subscribe state of web, oldState: 0, newState: 2
[Python] on video subscribe state of web, oldState: 0, newState: 2
[Python] on audio subscribe state of web, oldState: 2, newState: 3
[Python] on video subscribe state of web, oldState: 2, newState: 3
  • 选择AudioFormatMixedPcm模式时,无论会上是否有远端用户,入会时都会有音频回调。

  • 选择AudioFormatPcmBeforMixing模式时,只有在会上有其他用户且他们在推音频流时,才会触发音频回调。”