libRTSPServer API使用说明

##libRTSPServer API使用说明

在API使用说明之前,先列一下功能点吧:
######支持256路音视频同步转发(具体受限于网络环境和CPU);
######支持视频编码: H264、H265、MPEG4、MJPEG;
######支持音频编码: G711、G726;
######支持网络: IPv4、IPv6;
######Linux环境下支持epoll;
######支持多线程;
######支持视频、音频、自定义数据传输;
######支持Basic、Digest验证;
######支持录像回放流控制,如暂停、恢复播放、调整倍率、seek;
######支持获取已连接客户端列表;
######支持动态创建通道, 让调用层自由控制每一路流;
######支持服务端主动关闭指定通道;
######支持windows、Linux;
######针对Linux系统下的数据发送进行性能优化;
######针对任务调度进行性能优化;
######7x24小时频繁断连测试无异常;
######7x24小时正常拷机无异常;


###API调用说明
#ifdef __cplusplus
extern “C”
{
#endif

	//初始化, 创建RTSP Server句柄
	int RTSPSERVER_API	libRTSPSvr_Create(RTSP_SVR_HANDLE *handle);

	//启动服务
	/*
			handle:   使用libRTSPSvr_Create创建的句柄
			listenPort: 监听端口
			realm:		服务端标识
			authType: 用户验证类型, 可选择不验证、Basic、Digest三种;
			username: 验证用户名	  用户名和密码还可使用libRTSPSvr_AddUser添加或libRTSPSvr_DelUser删除
			password: 验证密码
			callback: 回调函数
			userPtr:  用户自定义指针

	*/
	int RTSPSERVER_API	libRTSPSvr_Startup(RTSP_SVR_HANDLE handle, int listenPort, const char *realm, 
												AUTHENTICATION_TYPE_ENUM authType, const char *username, const char *password, 
												RTSPSvrCallBack callback, void *userPtr);

	//创建通道     此函数在回调函数中调用
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄
			resourceName: 	同回调函数中的resourceName
			channelHandle: 	返回的通道句柄
			channelPtr:   	通道自定义指针
	*/
	int RTSPSERVER_API	libRTSPSvr_CreateChannel(RTSP_SVR_HANDLE handle, const char *resourceName, 
												RTSP_CHANNEL_HANDLE *channelHandle, void *channelPtr);

	//推送媒体数据		不需要StartCode(0x00 0x00 0x00 0x01)
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄	
			channelHandle: 	使用libRTSPSvr_CreateChannel创建的通道句柄
			mediaType:			媒体类型
			frameInfo:			帧信息
	*/
	int RTSPSERVER_API	libRTSPSvr_PutFrame(RTSP_SVR_HANDLE handle, RTSP_CHANNEL_HANDLE channelHandle, 
													unsigned int mediaType, MEDIA_FRAME_INFO_T *frameInfo);

	//删除通道			此函数在回调函数中调用
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄
			channelHandle: 	使用libRTSPSvr_CreateChannel创建的通道句柄
	*/
	int RTSPSERVER_API	libRTSPSvr_DeleteChannel(RTSP_SVR_HANDLE handle, RTSP_CHANNEL_HANDLE *channelHandle);

	//复位通道
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄
			channelHandle: 	使用libRTSPSvr_CreateChannel创建的通道句柄
	*/
	int RTSPSERVER_API	libRTSPSvr_ResetChannel(RTSP_SVR_HANDLE handle, RTSP_CHANNEL_HANDLE channelHandle);

	//获取连接的客户端列表
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄
			pClientInfo:		客户端信息
			clientNum:			客户端个数		
	*/
	int RTSPSERVER_API	libRTSPSvr_GetClientList(RTSP_SVR_HANDLE handle, RTSP_CLIENT_INFO_T	**pClientInfo, int *clientNum);


	//添加用户  或    根据用户名修改用户密码
	//如果添加的用户名不存在,则为新增, 如已存在,则为修改密码
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄
			username:  			待添加的用户名
			clientNum:			用户名对应的密码
	*/
	RTSPSERVER_API int RTSPSERVER_APICALL libRTSPSvr_AddUser(RTSP_SVR_HANDLE handle, const char *username, const char *password);
	//删除用户
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄
			username:  			待删除的用户名
	*/
	RTSPSERVER_API int RTSPSERVER_APICALL libRTSPSvr_DelUser(RTSP_SVR_HANDLE handle, const char *username);

	//停止服务  ####### 务必在关闭所有源后调用该函数 ######## 
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄
	*/
	int RTSPSERVER_API	libRTSPSvr_Shutdown(RTSP_SVR_HANDLE handle);


	//释放RTSP Server句柄
	/*
			handle:   			使用libRTSPSvr_Create创建的句柄
	*/	
	int RTSPSERVER_API	libRTSPSvr_Release(RTSP_SVR_HANDLE *handle);
#ifdef __cplusplus
}
#endif

####下载地址:
https://pan.baidu.com/s/129_dxIrui3YB69L3YAKqVw

交流QQ: 760983740

你可能感兴趣的:(live555)