H265播放器EasyPlayer中如何实现录像检查磁盘空间的功能?

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H265播放器EasyPlayer中如何实现录像检查磁盘空间的功能?相关的知识,希望对你有一定的参考价值。

大部分的视频安防监控项目都是需要对录像进行存储的,以便于后来进行追源回溯,录像对磁盘存储空间的要求比较高,要保持30天的录像文件不丢失,就要保证磁盘有足够的空间来存储视频。

在做客户端软件的时候,经常遇到有开发者咨询:假如客户端做录像功能,如何来判断磁盘存储空间的问题,EasyPlayer播放器在设计之初就考虑过这个问题,因此我们在代码中加入了检查磁盘空间的代码。

部分代码如下:

BOOL EasyMP4Writer::CheckDiskSpacePlenty(const char* strPath, float fSpace)
{
	//CreateDirectory(strPath, NULL);
	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)

以下代码是在判断磁盘空间是否足够时可以给出提醒:

//判断磁盘空间是否足够
	BOOL bIsDiskSpacePlenty = CheckDiskSpacePlenty(m_strWholeDir.c_str(), m_nFreeDisk);
	if (!bIsDiskSpacePlenty)
	{
		printf("请重新设置录像存放路径!");
		return  -1;
	}

我们开发的EasyPlayer播放器系列项目底层采用了高性能的EasyRTSPClient组件,其低延时控制在行业处于领先位置,并提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序,进行二次开发。

以上是关于H265播放器EasyPlayer中如何实现录像检查磁盘空间的功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过API调用EasyPlayer.js播放器的视频实时录像功能?

H265播放器EasyPlayer测试demo停顿后实现自动重连的优化分享

H265流媒体播放器EasyPlayer如何设置视频关闭播放?

H5网页播放器EasyPlayer.js如何实现直播视频实时录像?

如何在本地搭建一个EasyPlayer的H5 demo 播放H265视频流?

H265流媒体播放器EasyPlayer如何设置视频关闭自动播放?