通过阅读本文,您可以了解OBS插件SDK所涉及的数据类型。
目录
数据类型 | 描述 |
SDK句柄定义,用于SDK实例管理。 | |
推流配置。 | |
用户自定义的SEI信息。 | |
发送的音视频帧数据。 | |
推流统计信息。 | |
SDK推流的回调事件通知。 |
详情
alirts_handler_t:SDK句柄定义,用于SDK实例管理。
typedef void alirts_handler_t;
alirts_config_t:推流配置。
数据成员
类型
描述
width
int
推流视频的宽,与alirts_frame_t视频帧的宽一致。
height
int
推流视频的高,与alirts_frame_t视频帧的高一致。
gop_size
int
编码器GOP大小,单位:秒,取值范围:[0,30],建议取值:[2,5]。
max_fps
int
视频帧率。
video_bitrate_bps
int
视频目标码率。单位:Kbps。
video_codec
alirts_video_codec_e
视频编码器类型。
video_preset
alirts_video_encoder_preset_e
视频编码器预设。
video_profile
alirts_video_encoder_profile_e
视频编码器配置文件。
enable_video_enhance
int
开启视频增强,图像更清晰。
video_enhance_strength
float
视频增强强度,取值范围:[1.0,2.0]。
sample_rate
alirts_audio_sample_rate_e
音频采样率,当前仅支持44100 Hz和48000 Hz。
sample_format
alirts_audio_format_e
音频格式,当前仅支持FORMAT_16BIT。
channel
int
音频通道数。
audio_bitrate_bps
int
音频目标码率。单位:Kbps。
enable_auto_reconnect
bool
是否开启自动重连,不传会取随机值,建议开启。
reconnect_timeout
int
重连超时时间,单位:秒,建议设置10秒左右。
url
char *
推流地址,必选,否则无法推流。
alirts_sei_info_t:用户自定义的SEI信息。
数据成员
类型
描述
uuid[16]
char
自定义SEI的UUID标识。
payload
char *
SEI负载信息。
payload_size
int
SEI负载信息(payload)的长度。
alirts_frame_t:发送的音视频帧数据。
数据成员
类型
描述
type
alirts_media_type_e
帧类型,目前仅支持MEDIA_TYPE_VIDEO_I420和MEDIA_TYPE_AUDIO_PCM两种格式输入。
data[4]
uint8_t *
帧data buffer,音频只需data[0]。
linesize[4]
int
帧linesize,音频只需linesize[0]。
width
int
视频帧宽。
height
int
视频帧高。
audio_nb_samples
int
音频一帧包含的sample数。
audio_sample_rate
int
音频采样率,当前仅支持44100 Hz和48000 Hz。
audio_channels
int
音频通道数。
timestamp
int64_t
时间戳。
sei
alirts_sei_info_t*
SEI信息。
alirts_push_info_t:推流统计信息。
数据成员
类型
描述
input_frame_rate
int
视频输入帧率。
encode_frame_rate
int
视频编码帧率。
send_frame_rate
int
视频发送帧率。
current_video_send_pts
int
当前视频发送时间戳。
current_audio_send_pts
int
当前音频发送时间戳。
available_send_bandwidth_bps
int
根据带宽估算的当前可用码率,单位:bit/s。
target_enc_bitrate_bps
int
设置给视频编码器的码率,单位:bit/s。
actual_enc_bitrate_bps
int
视频编码器实际编码码率,单位:bit/s。
current_send_bitrate_bps
int
当前音视频发送码率(current_video_send_bitrate_bps和current_audio_send_bitrate_bps之和),单位:bit/s。
current_video_send_bitrate_bps
int
当前视频发送码率,单位:bit/s。
current_video_resend_bitrate_bps
int
当前视频重传码率,单位:bit/s。
current_audio_send_bitrate_bps
int
当前音频发送码率,单位:bit/s。
current_audio_resend_bitrate_bps
int
当前音频重传码率,单位:bit/s。
current_video_enc_psnr
int
当前视频编码平均峰值信噪比。
total_send_bytes
int
从推流开始发送的总字节数。
video_current_sent_lost
int
当前的视频丢包率。
audio_current_sent_lost
int
当前的音频丢包率。
rtt_ms
int
往返延时,单位:ms。
server_ip
char *
连接的服务端IP。
trace_id
char *
用于服务端问题定位的ID。
alirts_event_handler_t:SDK推流的回调事件通知。
数据成员
类型
描述
user_data
void *
用户输入的自定义信息,之后的回调参数中会携带该user_data。
on_log_data
回调接口
回调接口的详细信息,请参见回调说明。
on_error
on_push_start
on_push_stop
on_connection_lost
on_reconnect_state