一、需求
某录制软件部署到学校,需要在某个时间段内同时对该学校的n个教室的所有摄像机进行软件录制,计算录制文件所需存贮空间。
二、计算方法
假设我们软件录制是对摄像机的rtsp流进行录制,录制仅进行转封装,将摄像机的rtsp流转为flv等格式的录制文件,不进行编解码。也就说,录制方式等价于执行FFmpeg命令:
ffmpeg -i XXX -vcodec copy -acodec copy video.flv
(一)摄像机没有音频的情况
假设摄像机只有视频,没有音频,对摄像机的主码流进行视频录制,主码流的码率上限为:2048Kbps
2048Kbps,等于2048/8 = 256KBps。录制一路该码率的rtsp流,最多需要每秒往硬盘写入256K字节的数据。一节课按90分钟算,等于90*60 = 5400秒。所以连续对一路摄像机录制一节课的时间,需要耗费最多5400 * 256 / 1024 / 1024 = 1.31G的空间。
查看用这种方式录制下来的文件,可以发现该文件大小接近1.31G(因为2048Kbps是码率的上限,摄像机可能在某个瞬间没达到这个码率,所以实际文件大小不会超过1.31G),从而证明上面的计算方法是正确的。
(二)摄像机有音频的情况
假设摄像机不仅有视频,还有音频。需要同时对摄像机的视频和音频进行录制。视频码率上限为2048Kbps,音频码率上限为32Kbps。
所以摄像机视频和音频的总码率上限为:2048 + 32 = 2080Kbps。等于2080/8 = 260KBps。录制一路该码率的rtsp流,最多需要每秒往硬盘写入260K字节的数据。一节课按90分钟算,等于90*60 = 5400秒。所以连续对一路摄像机录制一节课的时间,需要耗费最多5400 * 260/ 1024 / 1024 = 1.33G的空间。
查看用这种方式录制下来的文件,可以发现该文件大小接近1.33G(因为2080Kbps是码率的上限,摄像机可能在某个瞬间没达到这个码率,所以实际文件大小不会超过1.33G),从而证明上面的计算方法是正确的。