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固然也是支持测试的,欢迎了解。
 视频

相关文章
相关标签/搜索