Video Matlab:快速播放大型视频

Video Matlab:快速播放大型视频,video,video-processing,matlab,matlab-cvst,Video,Video Processing,Matlab,Matlab Cvst,我希望在Matlab中以30fps、100K帧的速度播放1080p的大型视频,以便: 播放/暂停视频 跳转到给定的帧号 获取当前帧编号 这样做的目的是以流线型的方式使用全局帧标签对每个视频帧进行注释 为了实现这一目标,我尝试了: 视频阅读器:快速播放~30fps,慢速缓冲~5fps,内存限制 vision.VideoFileReader:播放速度慢读取视频的速度取决于视频格式。如果使用运动JPEG视频,则可以加快vision.VideoFileReader的速度 另一个问题是播放。你用什么做这个

我希望在Matlab中以30fps、100K帧的速度播放1080p的大型视频,以便:

播放/暂停视频 跳转到给定的帧号 获取当前帧编号 这样做的目的是以流线型的方式使用全局帧标签对每个视频帧进行注释

为了实现这一目标,我尝试了:

视频阅读器:快速播放~30fps,慢速缓冲~5fps,内存限制
vision.VideoFileReader:播放速度慢读取视频的速度取决于视频格式。如果使用运动JPEG视频,则可以加快vision.VideoFileReader的速度


另一个问题是播放。你用什么做这个?你试过vision.VideoPlayer吗?还有vision.DeployableVideoPlayer,它可能更快,但它只在Windows上工作。

您是完全通过编程、部分通过用户输入还是完全手动进行此注释?这是指修改视频数据,还是只需找到给定帧并将其位置保存到阵列甚至外部文件?你说的缓冲到底是什么意思?另外,imread/imshow选项是您自己的代码吗?我想知道在实现过程中是否会出现性能问题?是否可以使用外部播放器?经典播放器(而不是较新的内置版本)可以显示帧号并允许您跳转到特定帧。单击左下角的时间代码并从下拉列表中选择帧编号。然后可以在“帧编号”字段中键入跳转到特定帧。选择播放头,然后箭头键将允许您增加和减少帧数。感谢霍奇勒的评论。注释完全是手动驱动的,但我希望围绕该过程构建一个简单的UI,以防止/减少人为错误,并允许使用标签进行播放,以验证标签是否正确。未修改视频数据-标签将导出到外部文件。通过缓冲,我的意思是在显示之前在内存中预加载帧。我正在调用内置于Matlab图像处理工具箱中的imread/imshow函数。从分析来看,瓶颈在于这些函数。是的,我可以使用一个外部播放器,但这将涉及查找和输入帧号,这有点繁琐,而且容易出错。不过,您建议使用QuickTime Player 7目前是一个不错的选择,而我会考虑一个更为用户友好的选择。我会对你的其他想法感兴趣:-再次感谢。我没有准确地处理这个问题,因此如果没有具体的代码,不知道所涉及的编解码器,很难说更多。你是否以1080p的分辨率播放?如果不显示所有像素,可能会提高性能并减少内存占用。如果调整大小效率低下,也可能会减慢播放速度。您还可以在用户暂停视频时以灰度或减少的颜色显示并抓取彩色帧。使用imread,使用即使文件大小更大也能快速解压缩的图像格式,例如TIFF。