# agora::rtc::IRtmpConnectionObserver类 参考 (/zh-CN/api-reference/rtc-server-sdk/cpp/classagora-1-1rtc-1-1-i-rtmp-connection-observer)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<a id="details"></a>

## 详细描述 [#详细描述]

[`IRtmpConnectionObserver`](/zh-CN/api-reference/rtc-server-sdk/cpp/classagora-1-1rtc-1-1-i-rtmp-connection-observer) 类，用于监听 SDK 与 CDN 的连接状态。

## 构造及析构函数说明 [#构造及析构函数说明]

<a id="a60abbbec58ed6a9ab1688f1e60a501d3"></a>

### ~IRtmpConnectionObserver() [#irtmpconnectionobserver]

<ApiSignature labels="inline virtual">

virtual agora::rtc::IRtmpConnectionObserver::~IRtmpConnectionObserver()

</ApiSignature>

## 成员函数说明 [#成员函数说明]

<a id="a4048ee1d38dff83649d33bfef93a30f6"></a>

### onConnected() [#onconnected]

<ApiSignature labels="pure virtual">

virtual void agora::rtc::IRtmpConnectionObserver::onConnected(const [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) & *connectionInfo*)

</ApiSignature>

SDK 与 CDN 的连接状态变更为 `STATE_CONNECTED(3)` 时触发。

<ParameterList title="参数">
<Parameter name="connectionInfo">

连接信息： [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) 。

</Parameter>
</ParameterList>

<a id="a676896b8556082f878cb2abfff4f60db"></a>

### onDisconnected() [#ondisconnected]

<ApiSignature labels="pure virtual">

virtual void agora::rtc::IRtmpConnectionObserver::onDisconnected(const [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) & *connectionInfo*)

</ApiSignature>

SDK 与 CDN 的连接状态变更为 `STATE_DISCONNECTED(1)` 时触发。

<ParameterList title="参数">
<Parameter name="connectionInfo">

连接信息： [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) 。

</Parameter>
</ParameterList>

<a id="a52b17ca702ecc8c0aad58565313a2280"></a>

### onReconnecting() [#onreconnecting]

<ApiSignature labels="pure virtual">

virtual void agora::rtc::IRtmpConnectionObserver::onReconnecting(const [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) & *connectionInfo*)

</ApiSignature>

SDK 与 CDN 的连接状态变更为 `STATE_RECONNECTING(4)` 时触发。

<ParameterList title="参数">
<Parameter name="connectionInfo">

连接信息： [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) 。

</Parameter>
</ParameterList>

<a id="a735ef894c2d4e077c3302a248cc42bbf"></a>

### onReconnected() [#onreconnected]

<ApiSignature labels="pure virtual">

virtual void agora::rtc::IRtmpConnectionObserver::onReconnected(const [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) & *connectionInfo*)

</ApiSignature>

SDK 与 CDN 的连接状态变更为 `STATE_RECONNECTED(6)` 时触发。

<ParameterList title="参数">
<Parameter name="connectionInfo">

连接信息： [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) 。

</Parameter>
</ParameterList>

<a id="a86658e80515ca6a85ebde8c230c71f16"></a>

### onConnectionFailure() [#onconnectionfailure]

<ApiSignature labels="pure virtual">

virtual void agora::rtc::IRtmpConnectionObserver::onConnectionFailure(const [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) & *connectionInfo*, [RTMP_CONNECTION_ERROR](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora-1-1rtc#aff7596486950cd8ca8a3010d8c8710de) *errCode*)

</ApiSignature>

SDK 与 CDN 的连接状态变更为 `STATE_FAILED(5)` 时触发。

<ParameterList title="参数">
<Parameter name="connectionInfo">

连接信息： [RtmpConnectionInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1rtc-1-1-rtmp-connection-info) 。

</Parameter>
<Parameter name="errCode">

连接失败的错误码： [RTMP_CONNECTION_ERROR](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora-1-1rtc#aff7596486950cd8ca8a3010d8c8710de) 。

</Parameter>
</ParameterList>

<a id="a8a4b5e4b8b9357a4881284b7f56bf99f"></a>

### onTransferStatistics() [#ontransferstatistics]

<ApiSignature labels="pure virtual">

virtual void agora::rtc::IRtmpConnectionObserver::onTransferStatistics(uint64_t *video_width*, uint64_t *video_height*, uint64_t *video_bitrate*, uint64_t *audio_bitrate*, uint64_t *video_frame_rate*, uint64_t *push_video_frame_cnt*, uint64_t *pop_video_frame_cnt*)

</ApiSignature>

CDN 推流统计数据回调。

在主播端直接向 CDN 推流的过程中，SDK 每隔 1 秒触发一次该回调。

<ParameterList title="参数">
<Parameter name="video_width">

已推送视频的宽度（px）。

</Parameter>
<Parameter name="video_height">

已推送视频的高度（px）。

</Parameter>
<Parameter name="video_bitrate">

已推送视频的码率（bps）。

</Parameter>
<Parameter name="audio_bitrate">

已推送音频的码率（bps）。

</Parameter>
<Parameter name="video_frame_rate">

已推送视频的帧率（fps）。

</Parameter>
<Parameter name="push_video_frame_cnt">

已推送的视频帧数。

</Parameter>
<Parameter name="pop_video_frame_cnt">

实际推送到 CDN 的视频帧数。

</Parameter>
</ParameterList>
