Performance Matlab VideoWriter磁盘记录器-对于HD来说太慢

Performance Matlab VideoWriter磁盘记录器-对于HD来说太慢,performance,matlab,video,Performance,Matlab,Video,我正在尝试用matlab捕捉视频。 视频的持续时间大约为15-60分钟,所以它相当大,我将其存储到磁盘而不是内存中。我不需要在线处理 我想用高分辨率1280x720拍摄视频就可以了。但是由于分辨率很高,我遇到了一个问题,那就是Matlab没有足够快地将数据记录到磁盘上 以下是我的观察结果: 640x480分辨率:一切正常。 分辨率为800x600或更高:捕获视频时,RAM的利用率线性增加,停止捕获视频后,RAM的利用率线性降低。停止命令后,Matlabs命令窗口会被阻塞一段时间。与此同时,我可以

我正在尝试用matlab捕捉视频。 视频的持续时间大约为15-60分钟,所以它相当大,我将其存储到磁盘而不是内存中。我不需要在线处理 我想用高分辨率1280x720拍摄视频就可以了。但是由于分辨率很高,我遇到了一个问题,那就是Matlab没有足够快地将数据记录到磁盘上

以下是我的观察结果: 640x480分辨率:一切正常。 分辨率为800x600或更高:捕获视频时,RAM的利用率线性增加,停止捕获视频后,RAM的利用率线性降低。停止命令后,Matlabs命令窗口会被阻塞一段时间。与此同时,我可以看到.avi文件正在增长。当然,我选择的分辨率越高,RAM利用率增加得越快

所以我的问题是,我不能使用1280x720的分辨率,因为在对视频进行大约5分钟的Caputr处理后,我的整个RAM 8GB都被利用了,并且出现了严重的内存不足错误。有趣的事实:使用我整个RAM的视频只有大约300MB。这一定是MJPEG压缩率

有人知道如何解决我的问题吗?是不是matlabs VideoWriter课程太慢,我无能为力?其他视频捕获软件也可以制作高清视频

致以最良好的祝愿, 里奇

为了完整起见,以下是我使用的代码:

path = 'C:\Daten\test\test.avi';
videoRec = videoinput('winvideo',1,'MJPG_1280x720');
src = getselectedsource(videoRec);
src.FrameRate = '30.0000';
set(videoRec,'TriggerRepeat',inf);
set(videoRec, 'LoggingMode', 'disk');
logger = VideoWriter(path);
set(logger,'FrameRate',str2double(src.FrameRate));
videoRec.Disklogger = logger;

start(videoRec);