通过阅读本文,你可以了解OBS插件SDK所涉及的数据类型。

目录

数据类型 描述
alirts_handler_t SDK句柄定义,用于SDK实例管理。
alirts_config_t 推流配置。
alirts_sei_info_t 用户自定义的SEI信息。
alirts_frame_t 发送的音视频帧数据。
alirts_push_info_t 推流统计信息。
alirts_event_handler_t 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 视频目标码率。
    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 音频目标码率。
    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