文档

数据结构

本文介绍实时音视频Linux SDK Java数据结构

目录

数据类型

描述

ERROR_CODE

错误码枚举。

WARNNING_CODE

警告码枚举。

ChannelProfile

频道配置模式枚举。

PublishMode

推流模式枚举。

PublishAvsyncMode

推流音视频同步模式枚举。

VideoTrack

视频轨道类型枚举。

AudioTrack

音频轨道类型枚举。

VideoProfile

视频分辨率配置枚举。

AliEngineVideoDimensions

视频分辨率。

AliEngineFrameRate

视频帧率。

AliEngineVideoOrientationMode

横屏、竖屏模式。

AliEngineVideoMirrorMode

视频镜像模式。

AliEngineRotationMode

视频旋转角度。

AliEngineVideoEncoderConfiguration

相机流视频编码属性设置类。

AliEngineScreenShareEncoderConfiguration

屏幕流编码属性设置类。

VideoSource

视频源类型。

RenderMode

渲染模式。

VideoDataFormat

视频数据格式。

VideoBufferType

视频缓冲区类型。

VideoDataSample

视频数据样本类。

SubscribeMode

订阅模式枚举。

AudioTranscodingCodec

音频转码编码格式枚举。

VideoTranscodingCodec

视频转码编码格式枚举。

VideoTrackType

视频轨道类型枚举。

VideoFormat

视频格式枚举。

AudioFormat

音频格式枚举。

AliRtcDataMsgType

数据消息类型枚举。

AliRtcDataChannelMsg

数据通道消息类。

VideoFrameType

视频帧格式类型枚举。

AudioFrameType

音频帧格式类型枚举。

AudioPcmFrame

音频PCM帧类。

AudioAacFrame

音频AAC帧类。

AudioFrameType

音频帧容器类。

VideoH264Frame

视频H264帧类。

VideoFrameType

视频帧容器类。

JoinChannelConfig

加入频道配置类。

AuthInfo

认证信息类。

AliEnginePublishState

推流状态枚举。

AliEngineSubscribeState

订阅状态枚举。

AliEngineAudioQualityMode

音频质量模式枚举。

AliEngineAudioSceneMode

音频场景模式枚举。

AliEngineVideoStreamType

视频流类型。

AliEngineMuteLocalAudioMode

本地音频静音模式。

AliEngineClientRole

客户端角色。

详情

  • ERROR_CODE: 错误码枚举。

枚举名

描述

ERR_OK

正常。

ERR_JOIN_BAD_APPID

AppId不存在。

ERR_JOIN_INVALID_APPID

AppId已失效。

ERR_JOIN_BAD_CHANNEL

频道不存在。

ERR_JOIN_INVALID_CHANNEL

频道已失效。

ERR_JOIN_BAD_TOKEN

Token不存在。

ERR_JOIN_TIMEOUT

加入频道超时。

ERR_JOIN_BAD_PARAM

加入频道参数错误。

ERR_JOIN_FAILED

加入频道失败。

ERR_JOIN_CONFIG_INVALID

入会参数无效,如空token。

ERR_LEAVE_UNUSUAL

异常离会,可能被踢。

ERR_PROCESS_STOP

子进程异常退出提醒。

ERR_AUDIO_DATA_ERROR

音频数据错误。

ERR_VIDEO_DATA_ERROR

视频数据错误。

ERR_NETWORK_CONNECT_FAIL

媒体通道建立失败。

ERR_NETWORK_RECONNECT_FAIL

媒体通道重连失败。

ERR_NETWORK_DISCONNECT

连接断开。

ERR_NETWORK_TIMEOUT

连接超时。

ERR_PUBLISH_INVALID

推流无效。

ERR_Publish_NOT_JOIN_CHANNEL

未进入频道推流失败。

ERR_PUBLISH_AUDIO_STREAM_FAILED

推送音频流失败。

ERR_PUBLISH_VIDEO_STREAM_FAILED

推送视频流失败。

ERR_PUBLISH_DUAL_STREAM_FAILED

推送小流失败。

ERR_PUBLISH_SCREEN_SHARE_FAILED

推送屏幕共享失败。

ERR_PUBLISH_SCREEN_SHARE_CONFIG

屏幕共享配置错误。

ERR_SUBSCRIBE_INVALID

订阅无效。

ERR_SUBSCRIBE_NOT_JOIN_CHANNEL

未进入频道订阅错误。

ERR_SUBSCRIBE_AUDIO_STREAM_FAILED

订阅音频流失败。

ERR_SUBSCRIBE_VIDEO_STREAM_FAILED

订阅视频流失败。

ERR_SUBSCRIBE_DUAL_STREAM_FAILED

订阅小流失败。

ERR_SUBSCRIBE_SCREEN_SHARE_FAILED

订阅屏幕共享失败。

ERR_SUBSCRIBE_DUAL_AUDIO_STREAM_FAILED

订阅双声道失败。

ERR_SDK_INVALID_STATE

SDK内部状态错误。

ERR_SESSION_REMOVED

session已经被移除。

ERR_INNER

SDK内部错误。

ERR_VIDEO_TRANSFER

视频数据传输错误。

ERR_AUDIO_TRANSFER

音频数据传输错误。

ERR_AUDIO_BUFFER_FULL

音频外部输入时,频率过快。

ERR_FATAL

SDK严重错误。

  • WARNNING_CODE: 警告码枚举。

枚举名

描述

WARN_DEFAULT

默认警告。

  • ChannelProfile: 频道配置模式枚举。

枚举名

描述

ChannelProfileCommunication

通信模式。

ChannelProfileInteractiveLive

互动模式。

ChannelProfileInteractiveWithLowLatencyLive

互动模式,低延迟。

  • PublishMode: 推流模式枚举。

枚举名

描述

PublishAutomatically

自动推流。

PublishManually

手动推流。

  • PublishAvsyncMode: 推流音视频同步模式枚举。

枚举名

描述

PublishAvsyncNoDelay

不延迟(音视频同步)。

PublishAvysncWithPts

使用PTS(Presentation Time Stamp)来同步音视频。

  • VideoTrack: 视频轨道类型枚举。

枚举名

描述

VideoTrackNo

无视频轨道。

VideoTrackCamera

来自摄像头、文件等的视频。

VideoTrackScreen

来自屏幕共享的视频。

VideoTrackBoth

同时包含摄像头和屏幕共享视频轨道。

VideoTrackEnd

视频轨道选项的结束标记,值为0xffffffff。

  • AudioTrack: 音频轨道类型枚举。

枚举名

描述

AudioTrackNo

无音频轨道。

AudioTrackMic

来自麦克风、文件等的音频。

AudioTrackEnd

音频轨道选项的结束标记,值为0xffffffff。

  • VideoProfile: 视频分辨率配置枚举。

枚举名

描述

VideoProfile_Default

让SDK决定最适合的分辨率。

VideoProfile_180_240P_15

180x240 分辨率, 15帧每秒。

VideoProfile_180_320P_15

180x320 分辨率, 15帧每秒。

VideoProfile_180_320P_30

180x320 分辨率, 30帧每秒。

VideoProfile_240_320P_15

240x320 分辨率, 15帧每秒。

VideoProfile_360_480P_15

360x480 分辨率, 15帧每秒。

VideoProfile_360_480P_30

360x480 分辨率, 30帧每秒。

VideoProfile_360_640P_15

360x640 分辨率, 15帧每秒。

VideoProfile_360_640P_30

360x640 分辨率, 30帧每秒。

VideoProfile_480_640P_15

480x640 分辨率, 15帧每秒。

VideoProfile_480_640P_30

480x640 分辨率, 30帧每秒。

VideoProfile_720_960P_15

720x960 分辨率, 15帧每秒。

VideoProfile_720_960P_30

720x960 分辨率, 30帧每秒。

VideoProfile_720_1280P_15

720x1280 分辨率, 15帧每秒。

VideoProfile_720_1280P_30

720x1280 分辨率, 30帧每秒。

VideoProfile_1080_1920P_15

1080x1920 分辨率, 15帧每秒。

VideoProfile_1080_1920P_30

1080x1920 分辨率, 30帧每秒。

VideoProfile_480_640P_15_1500Kb

480x640 分辨率, 15帧每秒, 1500Kb码率。

  • AliEngineVideoDimensions: 视频分辨率。

枚举名

描述

width

视频分辨率的宽度。

height

视频分辨率的高度。

  • AliEngineFrameRate: 视频帧率。

枚举名

描述

AliEngineFrameRateFps5

5 fps

AliEngineFrameRateFps10

10 fps

AliEngineFrameRateFps15

15 fps

AliEngineFrameRateFps20

20 fps

AliEngineFrameRateFps25

25 fps

AliEngineFrameRateFps30

30 fps

  • AliEngineVideoOrientationMode: 横屏、竖屏模式。

枚举名

描述

AliEngineVideoEncoderOrientationModeAdaptive

自适应模式。

AliEngineVideoEncoderOrientationModeFixedLandscape

横屏模式。

AliEngineVideoEncoderOrientationModeFixedPortrait

竖屏模式。

  • AliEngineVideoMirrorMode: 视频镜像模式。

枚举名

描述

AliEngineVideoMirrorModeDisabled

关闭镜像。

AliEngineVideoMirrorModeEnable

开启镜像。

  • AliEngineRotationMode: 视频旋转角度。

枚举名

描述

AliEngineRotationModeNoChange

沿用之前的旋转角度。

AliEngineRotationMode_0

0

AliEngineRotationMode_90

90

AliEngineRotationMode_180

180

AliEngineRotationMode_270

270

  • AliEngineVideoEncoderConfiguration: 相机流视频编码属性设置类。

参数

类型

描述

dimensions

AliEngineVideoDimensions

视频分辨率,默认值640x480,最大值1920x1080

frameRate

AliEngineFrameRate

视频帧率,默认值15, 最大值30

bitrate

int

视频编码码率(Kbps),默认值512,设置为0则由SDK计算合适的码率,码率设置根据分辨率和帧率有对应的合理范围,该值设置在合理范围内有效,否则SDK会自动调节码率到有效值。

orientationMode

AliEngineVideoOrientationMode

横竖屏模式,默认为自适应模式。

mirrorMode

AliEngineVideoMirrorMode

推流镜像模式,默认关闭镜像。

rotationMode

AliEngineRotationMode

推流旋转角度,默认为0。

  • AliEngineScreenShareEncoderConfiguration: 屏幕流编码属性设置类。

参数

类型

描述

dimensions

AliEngineVideoDimensions

视频分辨率,默认值0x0,最大值3840x2160,默认表示推流分辨率等于屏幕采集的分辨率。

frameRate

AliEngineFrameRate

视频帧率,默认值5, 最大值30。

bitrate

int

视频编码码率(Kbps),默认值512,设置为0则由SDK计算合适的码率,码率设置根据分辨率和帧率有对应的合理范围,该值设置在合理范围内有效,否则SDK会自动调节码率到有效值。

rotationMode

AliEngineRotationMode

推流旋转角度,默认为0。

  • VideoSource: 视频源类型。

枚举名

描述

VideoSourceCamera

摄像头作为视频源。

VideoSourceScreenShare

屏幕共享作为视频源。

VideosourceTypeMax

表示视频源类型的最大值,值为0xffffffff。

  • RenderMode: 渲染模式。

枚举名

描述

RenderModeAuto

自动模式。

RenderModeStretch

延伸。

RenderModeFill

填充。

RenderModeCrop

裁剪。

  • VideoDataFormat: 视频数据格式。

枚举名

描述

VideoDataFormatUnknow

未知格式

VideoDataFormatBGRA

BGRA格式

VideoDataFormatI420

I420格式

VideoDataFormatNV21

NV21格式

VideoDataFormatNV12

NV12格式

VideoDataFormatH264

H264格式

VideoDataFormatRGB24

RGB24格式

VideoDataFormatBGR24

BGR24格式

  • VideoBufferType: 视频缓冲区类型。

枚举名

描述

VideoBufferTypeRawData

原始数据

VideoBufferTypeCVPixelBuffer

CV像素缓冲区

VideoBufferTypeTexture

纹理

  • VideoDataSample: 视频数据样本类。

参数

类型

描述

format

VideoDataFormat

视频数据的格式。

bufferType

VideoBufferType

视频缓冲区的类型。

data

byte[]

存储视频帧的原始数据。

dataLen

int

数据的长度,即data数组的大小。

strideY

int

Y平面的跨度,在I420, NV12, NV21格式中使用。

strideU

int

U平面的跨度,在I420格式中使用。

strideV

int

V平面的跨度,在I420格式中使用。

height

int

视频帧的高度。

width

int

视频帧的宽度。

rotation

int

视频帧的旋转角度,以度为单位。

timeStamp

long

视频帧的时间戳,通常以毫秒为单位。

  • SubscribeMode: 订阅模式枚举。

枚举名

描述

SubscribeAutomatically

自动订阅模式

SubscribeManually

手动订阅模式

SubscribeAudioAutoAndOnly

仅自动订阅音频

SubscribeCameraAutoAndOnly

仅自动订阅摄像头视频流

  • AudioTranscodingCodec: 音频转码编码格式枚举。

枚举名

描述

AudioTranscodingCodecPcm

PCM编码

AudioTranscodingCodecAac

AAC编码

AudioTranscodingCodecBothPcmAndAac

同时支持PCM和AAC编码

  • VideoTranscodingCodec: 视频转码编码格式枚举。

枚举名

描述

VideoTranscodingCodecYuv

YUV编码

VideoTranscodingCodecH264

H.264编码

VideoTranscodingCodecBothYuvAndH264

同时支持YUV和H.264编码

  • VideoTrackType: 视频轨道类型枚举。

枚举名

描述

VideoTrackCameraLarge

大画面摄像头视频

VideoTrackCameraSmall

小画面摄像头视频

VideoTrackCameraSuper

超大画面摄像头视频

VideoTrackScreenshare

屏幕共享视频

  • VideoFormat: 视频格式枚举。

枚举名

描述

VideoFormatNone

无特定格式

VideoFormatH264

H.264格式

VideoFormatYuv

YUV格式

  • AudioFormat: 音频格式枚举。

枚举名

描述

AudioFormatNone

无特定格式

AudioFormatMixedPcm

混合后的PCM格式

AudioFormatPcmBeforeMixing

混音前的PCM格式

  • AliRtcDataMsgType: 数据消息类型枚举。

枚举名

描述

AliEngineDataMsgNone

无消息

AliEngineDataMsgMusicProgress

音乐进度消息

AliEngineDataMsgCustom

自定义消息

  • AliRtcDataChannelMsg: 数据通道消息类。

参数

类型

描述

type

AliRtcDataMsgType

数据消息的类型,默认为 AliEngineDataMsgNone(无消息)。

networkTime

long

发送消息时的网络时间戳 (NTP时间),仅在类型为 AliEngineDataMsgMusicProgress 时使用。

progress

int

当前进度(以毫秒为单位),仅在类型为 AliEngineDataMsgMusicProgress 时使用。

data

byte[]

消息携带的数据内容。

  • VideoFrameType: 视频帧格式类型枚举。

枚举名

描述

VideoFrameH264

H264视频帧格式

VideoFrameH264Nalu

H264 NALU单元格式

  • AudioFrameType: 音频帧格式类型枚举。

枚举名

描述

AudioFrameRawPcm

原始PCM音频帧格式

AudioFrameAacAdts

AAC ADTS音频帧格式

  • AudioPcmFrame: 音频PCM帧类。

参数

类型

描述

frame_ms

long

帧的时间戳。

channels

int

音频通道数,通常为1。

sample_bits

int

每个样本的位深,通常为16位。

sample_rates

int

音频采样率,例如8kHz, 16kHz, 32kHz。

samples

int

样本数量。

pcmBuf

byte[]

PCM数据缓冲区。

pcmBufSize

int

PCM缓冲区的大小。

  • AudioAacFrame: 音频AAC帧类。

参数

类型

描述

frame_ms

long

帧的时间戳。

channels

int

音频通道数,通常为1。

sample_rates

int

音频采样率,例如8kHz, 16kHz, 32kHz。

aacBuf

byte[]

AAC数据缓冲区。

aacBufSize

int

AAC缓冲区的大小。

  • AudioFrame: 音频帧容器类。

参数

类型

描述

type

AudioFrameType

音频帧的类型。

pcm

AudioPcmFrame

PCM音频帧。

aac

AudioAacFrame

AAC音频帧。

  • VideoH264Frame: 视频H264帧类。

参数

类型

描述

frame_ms

long

帧的时间戳。

frame_num

int

帧号。

buf

byte[]

H264数据缓冲区。

bufSize

int

H264缓冲区的大小。

  • VideoFrame: 视频帧容器类。

参数

类型

描述

track

VideoTrackType

视频轨道类型。

type

VideoFrameType

视频帧的类型。

h264

VideoH264Frame

H264视频帧。

width

int

视频的宽度。

height

int

视频的高度。

  • JoinChannelConfig: 加入频道配置类。

参数

类型

描述

isAudioOnly

boolean

是否仅推音频流。

channelProfile

ChannelProfile

频道使用场景配置。

publishMode

PublishMode

推流模式。

publishAvsyncMode

PublishAvsyncMode

推流音视频同步模式。

subscribeMode

SubscribeMode

流订阅模式。

subscribeVideoFormat

VideoFormat

订阅视频的格式。

subscribeAudioFormat

AudioFormat

订阅音频的格式。

  • AuthInfo: 认证信息类。

参数

类型

描述

channel

String

频道名称。

userid

String

用户ID。

username

String

用户名。

appid

String

应用程序ID。

nonce

String

一次性随机字符串,用于安全验证。

token

String

认证令牌。

gslb

String[]

全球服务负载均衡服务器数组。

agent

String[]

代理服务器数组。

gslb_count

int

gslb数组中实际服务器的数量。

agent_count

int

agent数组中实际服务器的数量。

timestamp

long

时间戳。

  • AliEnginePublishState: 推流状态枚举。

枚举名

描述

AliEngineStatsPublishIdle

初始状态,还未开始推流。

AliEngineStatsNoPublish

未推流。

AliEngineStatsPublishing

正在推流中。

AliEngineStatsPublished

已推流。

  • AliEngineSubscribeState: 订阅状态枚举。

枚举名

描述

AliEngineStatsSubscribeIdle

初始状态,还未开始订阅。

AliEngineStatsNoSubscribe

未订阅。

AliEngineStatsSubscribing

正在订阅流程中。

AliEngineStatsSubscribed

已订阅。

  • AliEngineAudioQualityMode: 音频质量模式枚举。

枚举名

描述

AliEngineAudioLowQualityMode

低音质模式,8000Hz采样率,单声道,最大编码码率12kbps。

AliEngineAudioBasicQualityMode

标准音质模式,默认16000Hz采样率,单声道,最大编码码率24kbps。

AliEngineAudioHighQualityMode

高音质模式,48000Hz采样率,单声道,最大编码码率64kbps。

AliEngineAudioStereoHighQualityMode

立体声高音质模式,48000Hz采样率,双声道,最大编码码率80kbps。

AliEngineSuperHighQualityMode

超高音质模式,48000Hz采样率,单声道,最大编码码率96kbps。

AliEngineStereoSuperHighQualityMode

立体声超高音质模式,48000Hz采样率,双声道,最大编码码率128kbps。

  • AliEngineAudioSceneMode: 音频场景模式枚举。

枚举名

描述

AliEngineAudioDefaultMode

默认音频模式,使用硬件3A(自动增益控制、自动回声消除、自动噪声抑制)。

AliEngineAudioEducationMode

教育场景音频模式,使用硬件3A特性。

AliEngineAudioMediaMode

媒体播放模式,使用基本的软件3A处理。

AliEngineAudioMusicMode

音乐场景模式,进行音乐优化并采用软件3A处理。

AliEngineAudioChatroomMode

聊天室模式,使用硬件3A特性。

AliEngineAudioKtvMode

KTV模式,进行音乐优化,使用软件3A和Aaudio处理。

  • AliEngineVideoStreamType: 视频流类型。

枚举名

描述

AliEngineVideoStreamTypeNone

无,在OnSubscribeStreamTypeChanged回调表示当前未订阅。

AliEngineVideoStreamTypeHigh

高码率,高分辨率流(大流)。

AliEngineVideoStreamTypeLow

低码率,低分辨率流(小流)。

  • AliEngineMuteLocalAudioMode: 本地音频静音模式。

枚举名

描述

AliEngineMuteLocalAudioModeDefault

默认模式(静音全部,包括麦克风及外部输入音频)。

AliEngineMuteLocalAudioModeMuteOnlyMic

只静音麦克风。

AliEngineMuteLocalAudioModeMuteAll

静音全部(包括麦克风及外部输入音频)。

  • AliEngineClientRole: 客户端角色。

枚举名

描述

AliEngineClientRoleInteractive

互动角色。

AliEngineClientRoleLive

观众角色。