RTMP推流組件EasyRTMP如何獲取當前推流狀態 ?

EasyRTMP做爲TISNGSEE青犀視頻開發的視頻推流組件,其功能穩定可靠,通過多年項目實戰,多種複雜環境運行,長期在線檢驗,已經可以在手機直播、桌面直播、攝像機直播、課堂直播等方面實現優秀的推流功能。ide

流程.png

在用戶的使用過程當中,建立一個推流後,也有隨時監控推流狀態的需求,如何獲取EasyRTMP當前的推流狀態?這個須要根據回調函數來進行斷定。EasyRTMP回調函數定義以下:函數

int __EasyRTMP_Callback(int _frameType, char *pBuf, EASY_RTMP_STATE_T _state, void *_userPtr)
{
	_channel_info* pChannel = (_channel_info*)_userPtr;
	switch(_state)
	{
	case EASY_RTMP_STATE_CONNECTING:
		TRACE_LOG(pChannel->fLogHandle, "Connecting...\n");
		break;
	case EASY_RTMP_STATE_CONNECTED:
		TRACE_LOG(pChannel->fLogHandle, "Connected\n");
		break;
	case EASY_RTMP_STATE_CONNECT_FAILED:
		TRACE_LOG(pChannel->fLogHandle, "Connect failed\n");
		break;
	case EASY_RTMP_STATE_CONNECT_ABORT:
		TRACE_LOG(pChannel->fLogHandle, "Connect abort\n");
		break;
	case EASY_RTMP_STATE_DISCONNECTED:
		TRACE_LOG(pChannel->fLogHandle, "Disconnect.\n");
		break;
	default:
		break;
	}
	return 0;
}

根據回調函數咱們能夠獲取當前推流的狀態,具體的函數釋義以下:測試

EASY_RTMP_STATE_CONNECTING = 1, /* 鏈接中 * /
EASY_RTMP_STATE_CONNECTED, /* 鏈接成功 * /
EASY_RTMP_STATE_CONNECT_FAILED, /* 鏈接失敗 * /
EASY_RTMP_STATE_CONNECT_ABORT, /* 鏈接異常中斷 * /
EASY_RTMP_STATE_PUSHING, /* 推流中 * /
EASY_RTMP_STATE_DISCONNECTED, /* 斷開鏈接 */code

EasyRTMP組件具有簡單易用,運行高效等特色,能很是靈活地讓用戶自定義延時和緩衝區的大小,便於用戶的調整和開發。做爲TSINGSEE青犀視頻開發產品的一份子,EasyRTMP固然也是支持測試的,歡迎瞭解。
 視頻

相關文章
相關標籤/搜索