其他分享
首页 > 其他分享> > 如何判断视频流媒体播放器EasyPlayer-RTSP-Win的磁盘空间是否满足剩余的要求?

如何判断视频流媒体播放器EasyPlayer-RTSP-Win的磁盘空间是否满足剩余的要求?

作者:互联网

假日出游,为什么显示有票你却抢不到?揭秘12306如何保证车票不超卖的关键技术!>>>watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

最近很多网友咨询播放器的问题,也就是EasyPlayer,其中EasyPlayer-RTSP播放器可以实现H264、H265编码格式的RTSP流的播放和录制。

EasyPlayer.png

这两天有用户问了一个关于录像存储的问题:如果客户端开启录像,但是存储空间不够的话,我们如何能知道呢?

其实这个问题,我们在设计之初就考虑过,因此我们也设计了一套可以进行存储空间提醒的代码,代码如下:

BOOL EasyMP4Writer::CheckDiskSpacePlenty(const char* strPath, float fSpace)
{
	BOOL bSuccess = FALSE;
	//检查磁盘空间
	ULARGE_INTEGER nFreeBytesAvailable;
	ULARGE_INTEGER nTotalNumberOfBytes;
	ULARGE_INTEGER  ulFree;
	float  fTempFree = 0.0f;
	ULONG  lTempFree = 0;
	bSuccess = ::GetDiskFreeSpaceExA(strPath, &nFreeBytesAvailable, &nTotalNumberOfBytes, &ulFree);
 
	if (!bSuccess)
	{
		printf("GetDiskFreeSpaceEx %s Failed!\n", strPath);
		return 2;
	}
	lTempFree = (ULONG)(ulFree.QuadPart / 1024);
	fTempFree = (float)lTempFree;
	fTempFree = fTempFree / 1024 / 1024; //GB
 
	if (fTempFree <= fSpace)
	{
		printf("磁盘空间剩余 %f GB,不足 %f GB!\n", fTempFree, fSpace);
		return FALSE;
	}
	return TRUE;
}

注:此代码中fSpace表示磁盘剩余多少空间(单位:GB)。

这个代码是一个接口代码,开发者可以在录制前先调用此函数进行一次判断,存储空间满足的话再进行录制。

EasyPlayerJS播放界面

EasyPlayerJS2.png

标签:lTempFree,媒体播放器,Win,代码,RTSP,磁盘空间,bSuccess,INTEGER,fTempFree
来源: https://blog.51cto.com/u_15179958/2796680