数据结构
本文介绍实时音视频Linux SDK Java数据结构。
目录
数据类型 | 描述 |
错误码枚举。 | |
警告码枚举。 | |
频道配置模式枚举。 | |
推流模式枚举。 | |
推流音视频同步模式枚举。 | |
视频轨道类型枚举。 | |
音频轨道类型枚举。 | |
视频分辨率配置枚举。 | |
视频分辨率。 | |
视频帧率。 | |
横屏、竖屏模式。 | |
视频镜像模式。 | |
视频旋转角度。 | |
相机流视频编码属性设置类。 | |
屏幕流编码属性设置类。 | |
视频源类型。 | |
渲染模式。 | |
视频数据格式。 | |
视频缓冲区类型。 | |
视频数据样本类。 | |
订阅模式枚举。 | |
音频转码编码格式枚举。 | |
视频转码编码格式枚举。 | |
视频轨道类型枚举。 | |
视频格式枚举。 | |
音频格式枚举。 | |
数据消息类型枚举。 | |
数据通道消息类。 | |
视频帧格式类型枚举。 | |
音频帧格式类型枚举。 | |
音频PCM帧类。 | |
音频AAC帧类。 | |
音频帧容器类。 | |
视频H264帧类。 | |
视频帧容器类。 | |
加入频道配置类。 | |
认证信息类。 | |
推流状态枚举。 | |
订阅状态枚举。 | |
音频质量模式枚举。 | |
音频场景模式枚举。 | |
视频流类型。 | |
本地音频静音模式。 | |
客户端角色。 |
详情
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 | 观众角色。 |